Các kỹ thuật hàng đợi: Weighted Fair Queuing (WFQ) (phần 3)
Ví dụ 1: Với gói tin có SN trước đó là 0, chiều dài là 1500 byte và precedent là 0. SN được tính như sau: SN = 0 + 1500 * 32384 = 48576000. Sau đó, WFQ quyết định có đánh rớt gói tin hay không dựa vào 2 thông số:
- Hold-queue limit: Nếu gói tin này là gói mà làm vượt mức hold-queue (tổng số gói tin trong tất cả các hàng đơi) thì nó sẽ bị drop.
- CDT (số gói tin tối đa trong một hàng đợi, giá trị này có thể cấu hình cho phép từ 1 đến 4096): Tiếp theo các gói tin nếu không bị drop sẽ đưa vào hàng đợi và chờ phát đi. Khi nằm trong hàng đợi các gói tin sẽ được lập lịch. Quá trình lập lịch dựa vào SN của gói tin, IP Precedence và số gói tin đang có trong một hàng đợi. Những gói tin có SN càng nhỏ, IP Precedence càng lớn, và số gói tin đang có trong một hàng đợi càng nhỏ sẽ được chọn forward trước. Thứ tự ưu tiên như sau: Đầu tiên là SN, sau đó là IP Precedence, và cuối cùng là số gói tin đang có trong một hàng đợi.
Ví dụ 2: Có 4 hàng đợi là flow 1, flow 2, flow 3, flow 4, với kích thức mỗi gói tin là 1500 byte, 1000 byte, 500 byte, 100 byte. Mỗi hàng đợi có 4 gói tin với precedent là 0, giả sử SN trước đó của các gói tin là 0. Các giá trị SN được tính như hình sau:
Hình 1: Ví dụ về thứ tự của các gói tin
+ Theo hình 1 thì thứ tự forward gói tin là: 13, 14, 15, 16, 9, 5, 10, 1, 11, 6, 12, 2, 7, 8, 3, 4.
+ Những gói tin vừa đến sẽ đi qua tiến trình này, nhưng trong một nhánh của thuật toán, gói tin mới đến sẽ không bị loại bỏ, thay vào đó, một gói tin khác trong một hàng đợi khác sẽ bị loại bỏ. Một cách cơ bản, nếu gói mới đến cần phải đi vào một hàng đợi đã vượt quá CDT, WFQ sẽ loại bỏ gói tin có chỉ số tuần tự cao nhất từ bất kỳ hàng đợi nào. Giá trị CDT phải gán bằng bội số của 2. IOS sẽ không chấp nhận bất kỳ giá trị nào khác. WFQ có thể được cấu hình dùng tối đa 4096 hàng đợi, gọi là dynamic queue.
+ Mỗi khi có một luồng lưu lượng, router sẽ tạo ra một dynamic queue để truyền luồng lưu lượng trên. Khi xử lý xong một luồng lưu lượng, hàng đợi đó sẽ bị huỷ.
+ Thêm vào đó, WFQ giữ 8 hàng đợi ẩn cho các lưu lượng được tạo ra bởi router. WFQ dùng một mức trọng số rất thấp cho các hàng đợi này để ưu tiên cho các các lưu lượng của hệ thống. WFQ hỗ trợ RSVP nên có một vài hàng đợi trong số 4096 hàng đợi có thể được dùng bởi Resource Reservation Protocols (RSVP) để giữ băng thông.
+ RSVP dùng các báo hiệu để giữ phần băng thông tối thiểu cho những luồng lưu lượng đặc biệt trong một hệ thống mạng, dựa chủ yếu vào các công cụ hàng đợi để thực sự hiện thực được tính năng giữ băng thông. Theo mặc định, số gói tin tối đa trong một hàng đợi WFQ là 1000. Thực hiện kiểm tra bằng câu lệnh show trên interface đã áp đặt kỹ thuật WFQ.
+ Ví dụ: R1#show interface fastethernet 0/0
Ví dụ 1: Với gói tin có SN trước đó là 0, chiều dài là 1500 byte và precedent là 0. SN được tính như sau: SN = 0 + 1500 * 32384 = 48576000. Sau đó, WFQ quyết định có đánh rớt gói tin hay không dựa vào 2 thông số:
- Hold-queue limit: Nếu gói tin này là gói mà làm vượt mức hold-queue (tổng số gói tin trong tất cả các hàng đơi) thì nó sẽ bị drop.
- CDT (số gói tin tối đa trong một hàng đợi, giá trị này có thể cấu hình cho phép từ 1 đến 4096): Tiếp theo các gói tin nếu không bị drop sẽ đưa vào hàng đợi và chờ phát đi. Khi nằm trong hàng đợi các gói tin sẽ được lập lịch. Quá trình lập lịch dựa vào SN của gói tin, IP Precedence và số gói tin đang có trong một hàng đợi. Những gói tin có SN càng nhỏ, IP Precedence càng lớn, và số gói tin đang có trong một hàng đợi càng nhỏ sẽ được chọn forward trước. Thứ tự ưu tiên như sau: Đầu tiên là SN, sau đó là IP Precedence, và cuối cùng là số gói tin đang có trong một hàng đợi.
Ví dụ 2: Có 4 hàng đợi là flow 1, flow 2, flow 3, flow 4, với kích thức mỗi gói tin là 1500 byte, 1000 byte, 500 byte, 100 byte. Mỗi hàng đợi có 4 gói tin với precedent là 0, giả sử SN trước đó của các gói tin là 0. Các giá trị SN được tính như hình sau:
Hình 1: Ví dụ về thứ tự của các gói tin
+ Theo hình 1 thì thứ tự forward gói tin là: 13, 14, 15, 16, 9, 5, 10, 1, 11, 6, 12, 2, 7, 8, 3, 4.
+ Những gói tin vừa đến sẽ đi qua tiến trình này, nhưng trong một nhánh của thuật toán, gói tin mới đến sẽ không bị loại bỏ, thay vào đó, một gói tin khác trong một hàng đợi khác sẽ bị loại bỏ. Một cách cơ bản, nếu gói mới đến cần phải đi vào một hàng đợi đã vượt quá CDT, WFQ sẽ loại bỏ gói tin có chỉ số tuần tự cao nhất từ bất kỳ hàng đợi nào. Giá trị CDT phải gán bằng bội số của 2. IOS sẽ không chấp nhận bất kỳ giá trị nào khác. WFQ có thể được cấu hình dùng tối đa 4096 hàng đợi, gọi là dynamic queue.
+ Mỗi khi có một luồng lưu lượng, router sẽ tạo ra một dynamic queue để truyền luồng lưu lượng trên. Khi xử lý xong một luồng lưu lượng, hàng đợi đó sẽ bị huỷ.
+ Thêm vào đó, WFQ giữ 8 hàng đợi ẩn cho các lưu lượng được tạo ra bởi router. WFQ dùng một mức trọng số rất thấp cho các hàng đợi này để ưu tiên cho các các lưu lượng của hệ thống. WFQ hỗ trợ RSVP nên có một vài hàng đợi trong số 4096 hàng đợi có thể được dùng bởi Resource Reservation Protocols (RSVP) để giữ băng thông.
+ RSVP dùng các báo hiệu để giữ phần băng thông tối thiểu cho những luồng lưu lượng đặc biệt trong một hệ thống mạng, dựa chủ yếu vào các công cụ hàng đợi để thực sự hiện thực được tính năng giữ băng thông. Theo mặc định, số gói tin tối đa trong một hàng đợi WFQ là 1000. Thực hiện kiểm tra bằng câu lệnh show trên interface đã áp đặt kỹ thuật WFQ.
+ Ví dụ: R1#show interface fastethernet 0/0
Hình 2: Số gói tin tối đa mặc định của hàng đợi WFQ
Nguyễn Ngọc Đại – VnPro