Trong khi hàng đợi ƣu tiờn cú khả năng đảm bảo toàn bộ dải thụng cho việc truyền cỏc dữ liệu quan trọng, hy sinh cỏc dữ liệu ƣu tiờn thấp thỡ xếp hàng tuỳ biến đảm bảo một dải thụng tối thiểu cho mỗi loại lƣu lƣợng.
Kỹ thuật dành trƣớc dải thụng này phục vụ từng hàng đợi khụng trống lần lƣợt theo kiểu round-robin, truyền số phần trăm lƣu lƣợng theo cài đặt trờn mỗi hàng. Xếp hàng tuỳ biến đảm bảo rằng cỏc số liệu quan trọng luụn luụn đƣợc dành trƣớc phần trăm dải thụng nhất định, trong khi đú vẫn đảm bảo một thụng lƣợng biết trƣớc cho cỏc lƣu lƣợng khỏc. Ta cú thể coi xếp hàng tuỳ biến giống nhƣ CBWFQ với rất nhiều chi tiết cấu hỡnh.
Ta cú thể phõn loại lƣu lƣợng thành 16 hàng đợi. Ngoài 16 hàng đú ra là hàng 0 đặc biệt, đƣợc gọi là hàng đợi hệ thống. Hàng đợi hệ thống chứa cỏc gúi mức ƣu tiờn cao, nhƣ cỏc gúi quan trọng và cỏc gúi điều khiển. Lƣu lƣợng ngƣời sử dụng khụng thể phõn loại vào hàng đợi này.Xếp hàng tuỳ biến đƣợc dựng để phõn loại cỏc gúi IP vào một trong bất kỳ 16 hàng đợi dựa vào giao diện đầu vào, danh sỏch địa chỉ truy nhập IP cơ bản và mở rộng, kớch thƣớc của gúi, và byte ứng dụng.
Một sử dụng phổ biến của xếp hàng tuỳ biến là đảm bảo một dải thụng nhất định cho một số vị trớ đƣợc lựa chọn bởi một danh sỏch truy nhập. Để phõn phối dải thụng đến cỏc hàng khỏc nhau, ta phải xỏc định số đếm byte cho mỗi hàng đợi.
Số đếm byte đƣợc sử dụng nhƣ thế nào trong Xếp hàng tuỳ biến
Trong xếp hàng tuỳ biến, bộ định tuyến gửi cỏc gúi từ hàng đợi cụ thể cho đến khi số đếm byte bị vƣợt quỏ. Ngay cả sau khi số đếm byte bị vƣợt quỏ, thỡ gúi hiện tại vẫn tiếp tục đƣợc truyền cho đến hết. Do đú, nếu ta thiết lập số đếm byte đến 100 bytes và kớch thƣớc gúi theo giao thức tớn hiệu khoảng 1024 bytes, mỗi khi hàng đợi này đuợc phục vụ,1024 bytes đƣợc gửi chứ khụng phải 100 bytes.
Giả sử rằng một giao thức cú kớch thƣớc gúi 500-byte, giao thức khỏc cú kớch thƣớc gúi 300 byte, và giao thức thứ 3 cú kớch thƣớc gúi 100 byte. Nếu ta muốn phõn chia dải thụng đều nhau cho tất cả ba giao thức, ta phải chọn cỏc số đếm byte 200, 200 và 200 cho mỗi hàng đợi. Cấu hỡnh này tuy vậy khụng cho kết quả là cỏc tỉ lệ 33/33/33. Khi bộ định tuyến phục vụ hàng đợi đầu tiờn, nú gửi một gúi đơn kớch thƣớc500-byte, khi phục vụ hàng đợi thứ 2, nú gửi một gúi kớch thƣớc 300-byte và khi nú phục vụ hàng đợi thứ3, nú gửi hai gúi kớch thƣớc 100 byte. Tỉ lệ băng thụng là 50/30/20. Do vậy cài đặt số đếm byte quỏ thấp cú thể đƣa đến kết quả cấp phỏt dải thụng khụng theo dự định.
Số đếm byte lớn lại sinh ra phõn bố “nhỏt gừng”. Cú nghĩa là, nếu ta chỉ định 10KB, 10KB, và 10KB cho 3 hàng đợi trong vớ dụ trờn, mỗi giao thức đƣợc thực hiện tốt khi hàng đợi của nú đang đƣợc phục vụ, nhƣng phải mất một thời gian dài trƣớc khi hàng đợi đú đƣợc phục vụ lại. Một giải phỏp tốt hơn là đƣa ra số đếm byte 500, 600, và 500 cho mỗi hàng đợi. Cấu hỡnh này đƣa ra tỉ lệ 31:38:31, tỉ lệ này cú thể chấp nhận đƣợc.
Để phục vụ cỏc hàng đợi đỳng thời gian, và để chắc chắn rằng phõn bổ dải thụng theo cấu hỡnh càng gần với phõn bổ dải thụng cần thiết càng tốt, ta phải xỏc định số đếm byte dựa vào kớch thƣớc gúi giao thức. Nếu khụng phần trăm tỉ lệ cú thể sẽ khụng đỳng theo ta đó lập cấu hỡnh.
Chỳ ý
Mặc dự xếp hàng tuỳ biến cho phộp dành trƣớc dải thụng theo loại lƣu lƣợng, CBWFQ cũng vậy nhƣng cú nhiều ƣu điểm hơn so với xếp hàng tuỳ biến. Đú là:
- Cài đặt CBWFQ dễ dàng hơn nhiều và trực tiếp hơn so với kớch hoạt xếp hàng tuỳ biến để cấp phỏt dải thụng.
- RSVP dựa vào CBWFQ cho việc cấp phỏt dải thụng.
- Với CBWFQ, ta cú thể ứng dụng cỏc chớnh sỏch loại bỏ gúi nhƣ RED(Random Early Detection) trờn mỗi loại lƣu lƣợng, và cú thể cấp phỏt dải thụng tối thiểu.
- Khụng bị giới hạn bởi 16 hàng đợi. CBWFQ hỗ trợ 64 loại.