Showing posts with label priority queueuing. Show all posts
Showing posts with label priority queueuing. Show all posts

Sunday, June 15, 2014

Hàng đợi ưu tiên Priority Queueing


Hình 1: Cách lấy gói tin của hàng đợi PQ
- Tính năng đặc biệt của PQ là ở bộ lập lịch. PQ lập lịch lưu lượng đảm bảo hàng đợi ưu tiên luôn được phục vụ trước. Với 4 mức ưu tiên: cao, trung bình, bình thường, và thấp. Nếu hàng đợi ưu tiên cao luôn có một gói đang chờ, bộ lập lịch luôn luôn lấy các gói trong hàng đợi ưu tiên cao. Nếu hàng đợi ưu tiên cao không có gói nào đang chờ nhưng có trong hàng đơi ưu tiên trung bình, một gói trong hàng đợi này sẽ được lấy và tiến trình cứ như thế tiếp tục.
- Bộ lập lịch PQ có một số thuận lợi và hạn chế. Các gói trong hàng đợi ưu tiên cao có thể đạt 100% băng thông liên kết, với độ trì hoãn nhỏ và độ biến động trễ nhỏ. Thật ra, khi nghẽn mạch, các gói trong hàng đợi ưu tiên thấp tốn nhiều thời gian phục vụ. Khi liên kết tắc nghẽn, các ứng dụng người dùng có thể ngừng làm việc nếu các gói đặt trong hàng đợi ưu tiên thấp.
- PQ phân lớp các gói dựa trên nội dung của các tiêu đề. Nó sử dụng tối đa 4 hàng đợi. Chỉ áp dụng chính sách hủy gói cuối hàng đợi (tail drop), mặt khác sau khi phân lớp các gói, nếu hàng đợi tương ứng đầy, các gói bị bỏ. Mặt khác, chiều dài mỗi hàng đợi là nguyên nhân ảnh hưởng đến độ trễ và mất gói. Thật ra, PQ có thể thiết lập chiều dài hàng đợi trở về giá trị 0, có nghĩa là chiều dài hàng đợi “không giới hạn”. (“không giới hạn” có nghĩ là khi bộ định tuyến ra ngoài vùng nhớ, các gói không thể lập lịch, tuy nhiên chúng ta gặp vấn đề rắc rối hơn việc lập lịch cho gói nếu bộ định tuyến ngoài vùng nhớ.)
Hình 2: Tiến trình gởi gói tin của PQ                 
1. PQ có thể phân lớp các gói sử dụng danh sách điều khiển truy cập ACL với giao thức lớp 3. PQ cũng có thể so trùng trực tiếp không cần sử dụng ACL, đầu vào, chiều dài gói và cổng TCP và UDP.
2. Hủy bỏ gói cuối hàng đợi là chính sách bỏ gói mặc định.
3. Số hàng đợi cực đại là 4.
4. Chiều dài hàng đợi cực đại có thể là 0, nghĩa là hàng đợi có chiều dài “không xác định” theo lý thuyết. Mặc định là 20, 40, 60 và 80 tướng ứng với các hàng đợi ưu tiên cao,trung bình, bình thường và thấp.
5. Bên trong một hàng đợi, PQ sử dụng hảng đợi FIFO.
6. Khi lập lịch các hàng đợi, PQ luôn phục vụ các hàng đợi ưu tiên cao trước.
- Khi ngõ xuất không tắc nghẽn (nói một cách khác TX không đầy), các gói mới đặt vào TX một cách trực tiếp. Khi TX đầy, PQ thể hiện việc lập lịch. Khi tất cả các hàng đợi PQ truyền hết các gói (TX không đầy), tắc nghẽn dịu đi. Các gói mới đến lại vào TX, cho đến khi nó đầy trở lại, nó sẽ khởi động tiến trình hàng đợi với PQ.
     - PQ làm việc tốt trong các chính sách QoS cần xử lý một loại lưu lượng với khả năng phục vụ tốt nhất. Tuy nhiên, dịch vụ PQ với các hàng đợi thấp giảm nhanh chóng, làm cho PQ không thiết thực cho hầu hết các ứng dụng hiện nay. Chẳng hạn, việc chạy một kết nối FTP, một trình duyệt web, một cuộc gọi NetMeeting, và 2 cuộc gọi VoIP khi xuất, các kết nối TCP với lưu lượng HTTP và FTP thường xuyên vượt quá thời gian cho phép.

Bảng tóm tắc tính năng PQ:

1:40 AMNo comments

Monday, June 2, 2014

Khái niệm về băng thông và các độ trễ gói tin

1.       Băng thông



Băng thông là số lượng bit trong một giây có thể gởi trên đường truyền. Băng thông thường bằng với tốc độ của đường truyền vật lý hay xung clock của thiết bị kết nối đó. Trong vài trường hợp nó nhỏ hơn tốc độ thực sự của đường liên kết.
            Ví dụ trên là một mạng trống gồm client và server đầu cuối. Giữa các con router sử dụng các băng thông khác nhau. Băng thông cao nhất cả đoạn đường từ server đến client là bằng đường dẫn có băng thông thấp nhất  (trong ví dụ này là 256kbps).
            Đó là cách tính băng thông của một đoạn đường, tuy nhiên, còn nhiều vấn đề phức tạp trong nhiều trường hợp mà có nhiều dòng lưu lượng dữ liệu đang được vận chuyển trong mạng.

2.       End-to-end delay


  • End-to-end delay bằng tổng tất cả propagation, processing và queuing delay có trên đường dẫn.
  • Propagation (serialization): Sự chậm trễ truyền tải dữ liệu trên phương tiện truyền dẫn, hầu hết xảy ra ở các phần, chỉ phụ thuộc vào băng thông.
  • Processing, queuing delay: Xảy ra trong Router.

Ping ( ICMP ) có thể sử dụng để đánh giá thời gian đi của gói tin IP trong mạng. Một vài công cụ khác cũng có thể đánh giá thời gian đáp ứng của mạng.


3.     Processing, Queuing và Propagation delay



Processing Delay là thời gian để một router đặt một gói tin vào cổng vào và đẩy gói tin đó ra hàng đợi của cổng ra router. Thời gian xử lý phụ thuộc vào nhiều vấn đề như:
  •          Tốc độ xử lý CPU.
  •         Tài nguyên CPU
  •          Chế độ chuyển đổi IP.
  •          Cấu trúc router.

-         Cấu hình các tính năng ở cả hai cổng vào và ra của router.

Queuing Delay là thời gian gói tin nằm trong hàng đợi cổng ra của một router. Nó phụ thuộc vào số lượng và kích thước của các gói tin đã có trong hàng đợi, và băng thông của cổng. Nó cũng  phụ thuộc vào cơ chế hàng đợi.
Propagation Delay ( Serialization Delay) là thời gian để vận chuyển gói tin. Nó thường chỉ phụ thuộc vào băng thông của cổng. Công nghệ CSMA/CD có thể làm chậm trễ thêm một chút vì khả năng xung đột các gói tin khi một cổng sắp bị nghẽn.

4.       Mất gói tin ( Packet loss)


          Mất gói tin thông thường xảy ra khi các router hết bộ nhớ đệm ở hàng đợi cổng ra. Hình trên cho thấy ở hàng đợi cổng ra đã đầy, dẫn tới việc gói tin mới tới sẽ bị đánh rớt. Được tạm gọi đơn giản là “ đánh rớt gói tin cổng ra (output drop)” hoặc “đánh rớt gói tin ở đuôi (tail-drop)” ( tức là gói tin bị đánh rớt ở đuôi của hàng đợi).
Router cũng đánh rớt các gói tin với nhiều lý do khác, ví dụ như:
  •          Hàng đợi vào – CPU bị tắc nghẽn và không thể xử lý các gói tin ( hàng đợi cổng vào đầy).
  •          Từ chối – bộ nhớ đệm của router đầy.
  •          Tràn – CPU bị tắc nghẽn và không thể chỉ định bộ nhớ đệm cho gói tin mới.
  •         Lỗi khung – lỗi phần cứng trong khung.



       Một vài phương án để giải quyết các vấn đề trên về băng thông:
-                      Cách tốt nhất để cải thiện khả năng truyền dẫn cho tất cả các ứng dụng và người dùng là làm tăng diện tích băng thông. Giải pháp này nghe có vẻ đơn giản nhưng thực tế thì nó mang về cái giá tiền rất cao và thời gian thực hiện nó.

-                       Một sự lựa chọn khác đó chính là phân loại lưu lượng truy cập vào QoS và độ ưu tiên của nó theo tầm quan trọng của dữ liệu. Có nhiều cơ chế có sẵn trong Cisco IOS cung cấp đảm bảo băng thông, ví dụ:

o   Priority Queuing.
o   Custom Queuing.
o   Modified Deficit Round Robin.
o   IP RTP prioritzation.
o   Class-based Weighted Fair Queuing.
o   Class-based Low-latency Queuing.

-                       Tối ưu hoá việc sử dụng đường dẫn bằng cách nén gói tin để làm tăng băng thông đường dẫn. Mặt khác, nén cũng làm tăng độ trễ do tính phức tạp trong giải thuật nén. Sử dụng phần cứng để nén có thể làm tăng tốc độ nén một gói tin. Stacker và Predictor là 2 giải thuật nén có sẵn trong Cisco IOS.

-         Một phương pháp hiệu quả khác đó là nén tiêu đề. Cơ chế này đặc biệt hiệu quả trong mạng, nơi vận chuyển nhiều gói tin với lượng dữ liệu nhỏ. Ví dụ như nén tiêu đề TCP và RTP.
Dưới đây là bảng yêu cầu cho các ứng dụng của doanh nghiệp:


Khi QoS được xem xét, các ứng dụng quan trọng và yêu cầu về QoS phải được xác định. Hình trên minh hoạ về các loại ứng dụng khác nhau với yêu cầu QoS tương ứng. (throughput, bandwidth, delay, jitter and loss).
Phương pháp để cung cấp QoS tới các ứng dụng thường được sử dụng trong các mạng doanh nghiệp nơi có nhiều ứng dụng quan trọng (Bussiness-critical).
Hầu hết các ứng dụng có thể được phân loại dựa trên số cổng trên TCP hoặc UDP. Một vài ứng dụng sử dụng cổng động (dynamic port), nó làm khó khăn trong việc phân loại. Cisco IOS hỗ trợ Network-based Application Recognition ( NBAR), có thể phân loại cho các ứng dụng như vậy.

Bảng minh hoạ từng cấp độ trong QoS
Nhà cung cấp dịch vụ, hay nói cách khác, là cung cấp kết nối tới người dùng. Họ thường không quan tâm tới các ứng dụng mà người dùng đang sử dụng. Tuy nhiên, họ cung cấp các cấp độ khác nhau của dịch vụ cho người dùng. Một số người dùng sẵn sàng trả nhiều hơn cho kết nối của họ tới Internet, và nhận được một số đảm bảo. Bảng trên minh hoạ từng cấp độ mà nhà cung cấp dịch vụ có thể đáp ứng tới người dùng của họ.
Trong lịch sử Internet, có thể chia QoS thành 3 mô hình:
  •          Best-effort: Internet được thiết kế cho best-effort, không đảm bảo việc vận chuyển gói tin. Ngày nay, mô hình best-effort vẫn chiếm ưu thế trong Internet.
  •          Mô hình tích hợp dịch vụ ( Integrated Services model): Được ra đời nhằm bổ sung vào best-effort bằng cách cài đặt băng thông cho ứng dụng, những ứng dụng được yêu cầu về băng thông và đảm bảo độ trễ. Mô hình tích hợp dịch vụ này cho ứng dụng báo hiệu yêu cầu khi vào mạng. Phương thức dành tài nguyên ( Resource Reservation Protocol – RSVP) được sử dụng để báo hiệu yêu cầu QoS tới mạng.
  •          Mô hình phân biệt dịch vụ ( Defferentiated Services model): Được thêm vào để cung cấp khả năng mở rộng hơn trong việc cung cấp QoS tới các gói tin IP. Sự khác biệt chính là mạng nhận ra các gói tin ( không yêu cầu về tín hiệu) và cung cấp dịch vụ thích hợp tới chúng.


Ngày này, mạng IP có thể sử dụng 3 mô hình trên trong cùng một thời điểm.
1:13 AM1 comment