3.3.4.1 Khái niệm chung
Đối với mỗi hàng đợi đưa ra nhà quản lý mạng phải sử dụng nhiều cách quản lý để phòng tắc nghẽn. Thông tin thêm vào từ ngữ cảnh các gói có thể lựa chọn một trong số các chức năng loại bỏ đa gói. WRED là sự pha trộn các chức năng của thuật toán
RED với tính năng của trường IP Precedence để cung cấp việc xử lý ưu tiên luồng lưu lượng của các gói có độ ưu tiên cao. WRED có thể loại bỏ các lưu lượng có độ ưu tiên thấp một cách có chọn lọc khi giao diện bắt đầu bị tắc nghẽn và cung cấp các đặc điểm thể hiện khác nhau cho các lớp dịch vụ phân biệt.
Nếu cấu hình WRED mà bỏ qua trường IP precedence khi đánh dấu các gói thì thuật toán WRED trở thành thuật toán RED.
Đối với các giao diện được cấu hình để sử dụng giao thức đặt trước tài nguyên (RSVP) thì WRED sẽ lựa chọn các gói từ các luồng khác để loại bỏ chứ không loại bỏ các luồng RSVP. Tương tự như vậy các trường IP precedence cũng chi phối các gói bị loại bỏ như với các gói có trường Precedence có độ ưu tiên thấp thì sẽ có tốc độ loại bỏ cao hơn các gói có độ ưu tiên cao trong trường Precedence. WRED khác xa so với các kĩ thuật tránh tắc nghẽn khác như các chiến lược hàng đợi do nó cố gắng đoán trước tắc nghẽn trước khi tắc nghẽn xảy ra và tránh tắc nghẽn chứ không điều khiển tắc nghẽn khi nó đã xảy ra rồi.
Vậy ích lợi của WRED là gì? WRED cố gắng phát hiện sớm tắc nghẽn có thể nhất và cung cấp tính năng này cho các lưu lượng đa lớp. Đồng thời nó cũng được bảo vệ chống lại hiện tượng đồng bộ trên toàn thể các luồng TCP. Do đó mà WRED thường được sử dụng nhiều hơn tại các giao diện đầu ra dễ xảy ra tắc nghẽn.
Tuy nhiên WRED thường được sử dụng nhiều hơn trong các router lõi của mạng nhiều hơn là trong các router biên. Các router biên chỉ ấn định trường IP Precedence cho các gói ngay khi chúng vào trong mạng. WRED sử dụng các trường này để quyết định cách đối sử như thế nào đối với các lớp lưu lượng khác nhau.
WRED cung cấp các mức ngưỡng và các trọng số khác nhau cho các IP Precedence khác nhau, cho phép cung cấp các chất lượng dịch vụ khác nhau cho các lớp lưu lượng khác nhau. Các lưu lượng thông thường có thể bị loại bỏ thường xuyên hơn các lưu lượng được đánh giá cao trong các chu kì tắc nghẽn. Cũng tương tự như RSVP, WRED có thể cung cấp dịch vụ QoS điều khiển tải trong các dịch vụ tích hợp.
3.3.4.2 Hoạt động của WRED
Bằng việc loại bỏ sớm các gói trước khi các chu kì có độ tắc nghẽn cao xảy ra, WRED sẽ thông báo về cho nguồn phát các gói biết để giảm tốc độ truyền dẫn. Nếu nguồn phát các gói sử dụng TCP thì nó giảm tốc độ truyền gói cho tới khi các gói đạt được đến đích, lúc này chỉ thị tắc nghẽn sẽ thông báo là tắc nghẽn đã bị loại bỏ.
Nhìn chung WRED loại bỏ các gói có lựa chọn dựa trên trường IP Precedence. Các gói có trường IP Precedence cao thì ít bị loại bỏ hơn các gói có IP Precendece thấp. Do đó các gói có độ ưu tiên cao hơn thì xác suất được truyền đi cũng cao hơn. WRED giảm cơ hội loại bỏ đuôi do các gói bị loại bỏ đều được lựa chọn khi giao diện
đầu ra bắt đầu có dấu hiệu tắc nghẽn. Bằng cách loại bỏ một số gói sớm hơn là chờ cho hàng đợi đầu mới loại bỏ gói nên WRED tránh loại bỏ một số lượng lớn các gói tại cùng một thời đểm và tối thiểu hoá có hội xảy ra đồng bộ trên diện rộng. Do đó WRED cho phép sử dụng hiệu quả các đường truyền tại mọi thời điểm.
Thêm vào, WRED cho phép loại bỏ thống kê nhiều gói hơn tại một nhóm nhiều người sử dụng hơn là nhóm có ít người sử dụng. Do đó, các nguồn lưu lượng mà tạo ra phần lớn lưu lượng thì giảm chậm hơn các nguồn lưu lượng tạo ra ít lưu lượng hơn. Không giống như loại bỏ phần đuôi trong cơ chế tránh tắc nghẽn WRED tránh được các vấn đề xảy ra trên toàn thể các luồng. Đồng bộ toàn thể luồng được biểu thị bằng việc khi các host đa luồng TCP giảm tốc độ truyền dẫn để đáp ứng quá trình loại bỏ gói, sau khi tắc nghẽn được giảm thì chúng sẽ đồng loạt tăng lại tốc độ truyền dẫn.
Hình 3.10 : Mô phỏng hoạt động của WRED
WRED chỉ thực sự hiệu quả khi phần lớn lưu lượng là lưu lượng TCP/IP. Trong TCP các gói bị loại bỏ dùng để chỉ thị tắc nghẽn do đó nguồn phát gói sẽ giảm bớt tốc độ truyền dẫn của nó. Còn đối với các giao thức khác thì các nguồn phát gói có thể đáp ứng hoặc gửi lại các gói tại cùng một tốc độ, do vậy mà chúng không làm giảm sút được tắc nghẽn.
WRED gán cho các lưu lượng không phải là luồng IP giá trị Precedence 0, giá trị ưu tiên thấp nhất. Do đó mà các lưu lượng không phải là IP thường bị loại bỏ hơn. Chức năng loại bỏ các gói này áp dụng khác nhau đối với các lớp lưu lượng khác nhau tuỳ thuộc vào mức độ ưu tiên.
Discard test incoming packets Transmit quue Outgoing packets FIFO scheduling Queue bufler resources Discard test based on:
Bufler queue depth IP Precedence RSVP session
Để hiểu rõ hơn về hoạt động của WRED ta đi vào thuật toán WRED. Lấy ví dụ đơn giản:
Giả sử cho hàng đợi có đầu ra đơn, cấu hình chuyển mạch bao gồm WRED có mức ngưỡng 50% cho tất cả các lưu lượng best effort có giá trị DSCP lớn hơn 20, và 80% cho tất cả các lưu lượng có giá trị DSCP trong khoảng 20-30. Trong ví dụ này chuyển mạch sẽ loại bỏ các gói có giá trị DSCP dưới 20 khi đầu ra hàng đợi đạt mức 50%. Nếu hàng đợi tiếp tục được thêm vào quá 80%, thì chuyển mạch bắt đầu loại bỏ các gói có giá trị DSCP lớn hơn 20. Kết quả cuối cùng là tầng chuyển mạch sẽ loại bỏ ít nhất các gói có độ ưu tiên cao.
Hình 3.11 : Sơ đồ Thuật toán WRED
Chính sách tốt nhất là đưa ra hàng đợi có độ ưu tiên chặt cho các lưu lượng có độ ưu tiên cao và sử dụng WRED để duy trì các hàng đợi này cho các lưu lượng dữ liệu.
Đối với các chuyển mạch hỗ trợ chức năng loại bỏ đuôi và cấu hình WRED, thì các cấu hình thay đổi phụ thuộc vào số lượng các hàng đợi đầu ra và các modul đường truyền hỗ trợ các mức ngưỡng tối thiểu có thể cấu hình được. Mức ngưỡng tối thiểu chỉ thị độ sâu hàng đợi mà tại mức đó không có gói nào bị loại bỏ.
Trong hình dưới đây thì các gói không bị đánh dấu có giá trị ngưỡng nhỏ nhất là min1th,và giá trị ngưỡng lớn nhất là max2th. Các gói bị đánh dấu có các giá trị ngưỡng
min2th, max2th. Do các gói chưa bị đánh dấu có khả năng được truyền cao hơn nên được
ưu tiên đưa vào hàng đợi nhiều hơn là các gói đã bị đánh dấu ,do đó giá trị min1th >
min2th ,và max1th > max2th. Giá trị maxp là xác suất loại bỏ các gói đỉnh của các gói không bị đánh dấu. Khi có hiện tượng tắc nghẽn thì xác suất loại bỏ các gói đã bị đánh
Select WRED Profile No Yes IP Packet WRED Calculacte Average Queue Size Queue Full? FIFO Queue Curent Queue Sieze IP Precedence or DSCP Minimum Threshold Maximum Threshold Maximum Probability Denominator
dấu sẽ tăng dần đến 1, còn các gói chưa bị đánh dấu thì xác suất chỉ tăng đến maxp, nếu vẫn không khắc phục được tắc nghẽn thì sẽ tiếp tục tăng đến 1.
Hình 3.12 : Tính năng đánh dấu các gói có thể chỉnh sửa chức năng loại bỏ gói Kích thước hàng đợi trung bình trong thuật toán WRED
Router tự động quyết định các tham số được sử dụng trong các toán WRED. Kích thước hàng đợi trung bình dựa trên kích thước hàng đợi trung bình trước đó và kích thước hàng đợi trung bình hiện tại.
Công thức:
Average = (avg cũ * (1 – 2-n)) + (kích thước hàng đợi hiện tại * 2-n) n : tác nhân trọng số theo luỹ thừa.
Với các giá trị n lớn thì kích thước trung bình trước đó trở nên quan trọng. Nếu giá trị n quá lớn thì WRED không có tác dụng đối với tắc nghẽn. Lúc này các gói sẽ bị loại bỏ hoặc được gửi như thể WRED không có hiệu quả. Kích thước hàng đợi trung bình không nên thay đổi quá nhanh. Tiến trình WRED sẽ bắt đầu loại bỏ các gói chậm, nhưng nó có thể tiếp tục loại bỏ các gói tại thời điểm sau khi kích thước hàng đợi thực giảm xuống dưới mức ngưỡng nhỏ nhất. Nhưng nếu n quá nhỏ thì WRED sẽ phản ứng quá mạnh với các bó lưu lượng tạm thời, và việc loại bỏ lưu lượng là không cần thiết.
Ta có thể cấu hình WRED tại cùng một giao diện như bộ xử lý chuyển mạch router (RSP) trên cơ sở CQ, hàng đợi ưu tiên (PQ), hay hàng đợi cân bằng có trọng số(WFQ).
Regular packets
0 Minth2 Minth1 Maxth2 Maxth1 100%
1 Unmarked maxp D ro p P ro ba bi li ty Queue Occupancy Marked packet
WRED phục vụ cho các dịch vụ phân biệt(DS)
WRED dành riêng cho dịch vụ DS là phần mở rộng của WRED có khả năng hỗ trợ dịch vụ phân biệt và các AFPHB. Tính năng này cho phép các khách hàng thực hiện AFPHB bằng việc đánh dấu các gói theo giá trị DSCP và sau đó ấn định các xác suất loại bỏ ưu tiên cho các gói này. Tính năng này chỉ được sử dụng với các gói IP. WRED dùng cho DS cho phép WRED sử dụng các giá trị DSCP khi nó tính toán xác
suất loại bỏ một gói. Loại này có thêm hai câu lệnh: random-detect dscp và dscp.
Ngoài ra nó còn có hai luận điểm liên quan: luận điểm trên cơ sở dscp,và trên cơ sở
prec. Luận điểm trên cơ sở dscp cho phép WRED sử dụng giá trị DSCP của gói khi nó
tính toán xác suất loại bỏ gói. Sau khi sử dụng dscp thì sử dụng lệnh random-detect
dscp để thay đổi các mức ngưỡng minth, maxth của các gói theo giá trị DSCP. Còn luận
điểm prec cho phép WRED sử dụng giá trị các trường IP Precedence để tính toán xác
suất loại bỏ gói. Nếu đã sử dụng dscp thì không thể sử dụng prec với cùng một câu lệnh.