Cisco tạo ra Class-Based WFQ (CBWFQ) và Low-Latency Queuing (LLQ), sử dụng các kỹ thuật PQ, CQ và WFQ và có thêm vào vài đặc điểm khác. CBWFQ dành riêng băng thông cho từng hàng đợi và dùng kỹ thuật WFQ cho các gói tin trong lớp mặc định. LLQ thêm vào trong CBWFQ khái niệm hàng đợi ưu tiên, nhưng không giống như PQ, LLQ ngăn các hàng đợi có độ ưu tiên cao khỏi việc bị rơi vào trạng thái chết.
Cả CBWFQ và LLQ đều dùng tuỳ chọn phân loại mạnh, bao gồm cả NBAR. CBWFQ và LLQ dùng cấu hình tương tự nhau, sự khác nhau nằm ở chỗ câu lệnh bandwidth hay câu lệnh priority được dùng.
CBWFQ và LLQ dùng class-map để phân loại và dùng policy map để tạo ra một tập hợp các nhóm lưu lượng để dùng trên một cổng. Các lớp định nghĩa trong policy map sẽ dùng một hàng đợi. Thuật ngữ hàng đợi và class thường thường dùng qua lại khi làm việc với LLQ và CBWFQ. Nghĩa là, có thể ám chỉ đến một lớp lưu lượng nào đó bằng cả thuật ngữ queue hay class.
Ví dụ: khi cấu hình
R1(config)# class-map http
R1(config-cmap)# match access-group 101
Theo ví dụ trên thì lưu lượng Web (HTTP) được phân loại với câu lệnh class-map kết hợp với access control list (ACL).
CBWFQ và LLQ hỗ trợ 64 hàng đợi (64 class). Chiều dài hàng đợi tối đa có thể thay đổi, với giá trị tối đa và chiều dài mặc định thay đổi tùy thuộc vào router và tổng số bộ nhớ được dùng. Cả hai đều có một hàng đợi đặc biệt gọi là hàng đợi mặc định. Hàng đợi này tồn tại ngay cả khi nó không được cấu hình. Nếu một gói tin không thuộc về nhóm nào được cấu hình trong một policy map, IOS sẽ đặt gói tin vào hàng đợi mặc định.
Đặc điểm của CBWFQ:
– CBWFQ hỗ trợ nhiều class để phân loại lưu lượng vào các hàng đợi FIFO tương ứng với nó.
– Tail drop cũng là cơ chế loại bỏ gói tin mặc định của CBWFQ.
– CBWFQ đảm bảo một tỉ lệ tối thiểu của băng thông đến từng hàng đợi. Nếu tất cả các hàng đợi có một số lượng lớn gói tin, mỗi hàng đợi sẽ nhận phần trăm bandwidth ngầm định bởi cấu hình. Tuy nhiên, nếu một vài hàng đợi là trống và các hàng đợi này không có nhu cầu băng thông trong một khoảng thời gian ngắn, băng thông được cấp phát tương ứng với các nhóm lưu lượng khác.
Đặc điểm cụ thể của CBWFQ được thể hiện trong bảng sau:
Nguyễn Ngọc Đại – VnPro
Cả CBWFQ và LLQ đều dùng tuỳ chọn phân loại mạnh, bao gồm cả NBAR. CBWFQ và LLQ dùng cấu hình tương tự nhau, sự khác nhau nằm ở chỗ câu lệnh bandwidth hay câu lệnh priority được dùng.
CBWFQ và LLQ dùng class-map để phân loại và dùng policy map để tạo ra một tập hợp các nhóm lưu lượng để dùng trên một cổng. Các lớp định nghĩa trong policy map sẽ dùng một hàng đợi. Thuật ngữ hàng đợi và class thường thường dùng qua lại khi làm việc với LLQ và CBWFQ. Nghĩa là, có thể ám chỉ đến một lớp lưu lượng nào đó bằng cả thuật ngữ queue hay class.
Ví dụ: khi cấu hình
R1(config)# class-map http
R1(config-cmap)# match access-group 101
Theo ví dụ trên thì lưu lượng Web (HTTP) được phân loại với câu lệnh class-map kết hợp với access control list (ACL).
CBWFQ và LLQ hỗ trợ 64 hàng đợi (64 class). Chiều dài hàng đợi tối đa có thể thay đổi, với giá trị tối đa và chiều dài mặc định thay đổi tùy thuộc vào router và tổng số bộ nhớ được dùng. Cả hai đều có một hàng đợi đặc biệt gọi là hàng đợi mặc định. Hàng đợi này tồn tại ngay cả khi nó không được cấu hình. Nếu một gói tin không thuộc về nhóm nào được cấu hình trong một policy map, IOS sẽ đặt gói tin vào hàng đợi mặc định.
Đặc điểm của CBWFQ:
– CBWFQ hỗ trợ nhiều class để phân loại lưu lượng vào các hàng đợi FIFO tương ứng với nó.
– Tail drop cũng là cơ chế loại bỏ gói tin mặc định của CBWFQ.
– CBWFQ đảm bảo một tỉ lệ tối thiểu của băng thông đến từng hàng đợi. Nếu tất cả các hàng đợi có một số lượng lớn gói tin, mỗi hàng đợi sẽ nhận phần trăm bandwidth ngầm định bởi cấu hình. Tuy nhiên, nếu một vài hàng đợi là trống và các hàng đợi này không có nhu cầu băng thông trong một khoảng thời gian ngắn, băng thông được cấp phát tương ứng với các nhóm lưu lượng khác.
Đặc điểm cụ thể của CBWFQ được thể hiện trong bảng sau:
Đặc điểm của CBWFQ
Nguyễn Ngọc Đại – VnPro