Chương 2: Các thuật toán điều khiển tắc nghẽn mạng trên Gateway
2.1.3 Tính toán xác xuất loại bỏ gói tin
Nếu avg<minthresh, gói tin được đưa vào hàng đợi. Trong thuật toán RED nguyên thủy [18], nếu avg>maxthresh, gói tin lập tức bị loại bỏ. Tuy nhiên sau này có thêm một tham số mới được đưa vào, làm cho xác suất loại bỏ gói tin tăng dần đến 1 khi avg vượt quá maxthresh và cho hiệu quả hoạt động tốt hơn (xác suất loại bỏ gói tin tăng tuyến tính trong khoảng {o..maxp} khi avg tăng trong khoảng {minthresh...maxthresh=2.minthresh} và tăng tuyến tính từ maxp đến 1 khi avg tăng từ 2.minthresh đến 3.minthresh,nghĩa là trong khoảng này xác suất tăng với tốc độ lớn hơn nhiều trong khoảng trước vì maxp<<1). Khi avg nằm trong vùng quyết định, giữa minthresh đến maxthresh, xác suất loại bỏ được tính dựa vào hai yếu tố:
+ avg càng gần với maxthresh, xác suất loại bỏ càng cao.
+ Khi avg nằm trong vùng quyết định, sử dụng biến count đếm số gói tin liên tiếp chưa bị loại bỏ. Count càng lớn, xác suất loại bỏ càng cao.
Trước hết ta xác định xác suất pb, là xác suất quyết định tốc độ loại bỏ gói tin. pb biến thiên tuyến tính trong khoảng {0...maxp} khi avg biến thiên trong khoảng {minthresh...maxthresh}.
nthresh mi
xthressh ma
nthresh mi
x avg ma
pb p
. (2.8)
Tiếp theo chúng ta xác định xác suất loại bỏ gói tin pa. Các gói tin bị loại bỏ nên phân bố một cách đều đặn để tránh hiện tượng đồng bộ toàn cục. Điều này có thể thỏa mãn nếu count là một biến phân bố đều trong khoảng {1,2,...1/pb}. [18] đã đưa ra phương pháp xác định pa thỏa mãn điều kiện trên:
b b
a count p
p p
. 1
(2.9)
Khi đó :
1 ) 1
(
1 1 )
1 ( ] 1
[ 2
0
b b
n
i b
b b
b
n p p
ip p p
n n p
count P
(2.10)
và 1 )
( 0 ]
[
pb
n n
count
P (2.11)
2 1 2 ] 1
[
pb
count
E ( 2.10) (2.12)
Nghĩa là tốc độ loại bỏ gói tin trung bình là
1 . 2
b
b
p
p . (2.13)
Như vậy tốc độ loại bỏ gói tin không chỉ phụ thuộc vào vị trí của avg trong khoảng quyết định, mà còn phụ thuộc vào giá trị max . Với cùng một
giá trị avg, minthresh, maxthresh thì maxp càng lớn tốc độ loại bỏ gói tin càng cao. Chính vì thế với một gateway có các thông số nhất định, việc chọn maxp
lớn sẽ khiến cho hàng đợi hoạt động chủ yếu ở vùng mà avg gần với minthresh, dẫn đến độ trễ trung bình thấp, nhưng thông lượng cũng thấp. Còn nếu maxp quá nhỏ, hàng đợi sẽ hoạt động ở vùng mà avg gần với maxthresh, dẫn đến thông lượng cao, độ trễ trung bình cao và tốc độ mất gói tin cao. Tùy theo mong muốn về vùng hoạt động của hàng đợi mà maxp được đặt giá trij thích hợp. [18] khuyến cáo không nên đặt maxp vượt quá 0.1
2.1.4 Ưu nhược điểm của RED
Ngoài các ưu điểm như tránh xung đột, tránh đồng bộ toàn cục, cho phép truyền loạt, cho thông lượng cao nhưng vẫn giữ trễ trung bình thấp, thực hiện khá đơn giản, v.v. RED còn có ưu điểm là đảm bảo tính công bằng và có thể điều chỉnh để phù hợp với nhiều loại mạng khác nhau.
Gateway RED cảnh bảo các kết nối với xác suất tỉ lệ với mức độ chiếm băng thông chung qua gateway của kết nối đó. Nghĩa là RED không cảnh báo tất cả các kết nối với xác suất như nhau. Điều này là hợp lí vì tắc nghẽn xảy ra do các kết nối truyền với thông lượng lớn hơn là các kết nối truyền với thông lượng nhỏ. Các gói tin bị loại bỏ được chia cho các kết nối với phần trăm tỉ lệ với thông lượng của kết nối đó. Kết nối nào có thông lượng càng lớn, càng nhiều gói tin của nó bị kiểm tra và xác suất một gói tin nào đó của nó bị đánh dấu sẽ càng cao. Ngoài ra RED cung cấp một cơ chế cho phép xác định mức độ tắc nghẽn, và có thể xác định được các kết nối nào chiếm băng thông chung nhiều. Có thể thêm vào RED một cơ chế quản lí các kết nối chiếm băng thông cao này để cảnh báo khi xảy ra tắc nghẽn.
Cơ chế loại bỏ packet một cách ngẫu nhiên này thích hợp cho mạng với các kết nối có nhiều giá trị RTT khác nhau, thông lượng khác nhau và cho phép một giải giá trị rộng cho số kết nối cùng hoạt động. Sự thay đổi về mức độ dữ liệu được đưa lên mạng có thể được phát hiện thông qua sự thay đổi avg. Tuy nhiên đây cũng chính là một nhược điểm của RED[18] : avg thay đổi khi mức độ dữ liệu đưa lên mạng thay đổi, dẫn đến thay đổi về trễ trung bình, về hiệu suất mạng, v.v. khiến cho một số thông số ảnh hưởng đến chất lượng dịch vụ là không thể dự đoán được, trong đó đặc biệt là trễ trung bình.
Ngoài nhược điểm hoạt động phụ thuộc trạng thái mạng, RED còn có một nhược điểm nữa là phụ thuộc vào các thông số của chính RED. Các nhược điểm này khiến cho việc lựa chọn các thông số để thích hợp với một mạng nào đó khá khó khăn. [18] khuyến cáo dùng wq không nhỏ hơn 0.001, tuy nhiên như đã phân tích ở trên, sẽ có những tình huống mà giá trị 0.001 vẫn là quá lớn, đặt minthresh đủ lớn để cho phép sự tuyền loạt qua gateway, đặt khoảng maxthresh-minthresh đủ lớn để tránh đồng bộ toàn cục. Tuy nhiên giá trị cụ thể là bao nhiêu thì người quản trị mạng phải điều chỉnh để tìm ra giá trị phù hợp với mạng của họ. Giá trị mặc định trong NS2 hiện nay là minthresh=5, maxthressh=2.minthresh.
2.2 RED thích nghi (Adaptive RED)
RED có nhiều ưu điểm nổi trội so với DropTail. Tuy nhiên nhược điểm quan trọng của RED là nhạy cảm với thông số và mức độ tải dữ liệu lên mạng khiến cho hoạt động của RED gặp nhiều hạn chế. Một hạn chế quan trọng là độ trễ trung bình biến đổi theo mức độ tải dữ liệu lên mạng. Độ trễ là một thông số khá quan trọng trong đánh giá chất lượng dịch vụ, vì vậy người quản trị mạng thường mong muốn độ trễ phải ở mức có thể dự đoán và giám sát được. Một số giải pháp đã được đưa ra để khắc phục nhược điểm này của
RED, trong đó RED thích nghi tỏ ra đơn giản và hiệu quả hơn hẳn. RED thích nghi tự động thay đổi giá trị maxp để giữ avg trong một khoảng không đổi định trước. Khi có sự thay đổi lượng dữ liệu đưa lên mạng, avg sẽ thay đổi theo, RED thích nghi tự động điều chỉnh maxp, dẫn đến điều chỉnh tốc độ loại bỏ gói tin cho phù hợp để kéo avg về mức đã xác định trước. Ngoài ra [20]
còn đề nghị sự tự động chọn wq và maxthresh, khiến cho việc cấu hình cho RED thích nghi chỉ còn là lựa chọn minthresh. RED thích nghi cũng khá đơn giản và thích hợp cho triển khai thay thế RED vì nó chỉ thay đổi rất ít so với RED cơ bản.