Tải bản đầy đủ (.pdf) (24 trang)

NGHIÊN CỨU KỸ THUẬT QUẢN LÝ HÀNG ĐỢI TRONG MẠNG IP CHƯƠNG 3_2 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (435.8 KB, 24 trang )

TỐT NGHIỆP ĐẠI HỌC
Đề tài:

NGHIÊN CỨU KỸ THUẬT QUẢN LÝ
HÀNG ĐỢI TRONG MẠNG IP

CHƯƠNG 3: QUẢN LÝ HÀNG ĐỢI VÀ CÁC THUẬT
TOÁN

Hàm xác suất loại bỏ gói tin :
0 nếu q < max buffer size
d(q) =
1 nếu q > max buffer size
Khi các gói đến hàng đợi dưới dạng bó, các gói đến với tốc độ thay đổi λ
(quá trình các gói đến là quá trình poisson) và mỗi bó có B gói tin, và phân bố mũ
là µ. Các gói được đệm trong hàng đợi có dạng chuỗi Markov có phân bố dừng là
π. Cho kích thước hàng đợilà K, ta có công thức tính xác suất loại bỏ gói của tail
drop :
P
TD
= π(K) +π(K-1)d(K-1) +… + π(1)d(1)
Tail drop rất đơn giản, nhưng nó có hai điều hạn chế.
 Trong một số trương hợp nó chỉ cho phép một kết nối đơn hoặc một
vài kết nối độc quyền chiếm dụng không gian hàng đợi, ngăn cản các kết nối khác
đến hàng đợi. Đây là hiện tượng chặn luồng từ các kết nối khác (lock out). Hiện
tượng lock out là kêt quả của các ảnh hưởng đồng bộ và định thời của lưu lượng.
 Tail drop cho phép các hàng đợi duy trì trạng thái đầy trong chu kì
thời gian dài kể từ lúc có thông báo tắc nghẽn của tail drop xuất hiện thông qua
hiện tượng mất gói khi hàng đợi bắt đầu đầy. Điều này rất quan trọng để giảm kích
thước hàng đợi ở trạng thái không đổi trong quản lý hàng đợi. Do các gói đến hàng
đợi dưới dạng bó nên việc loại bỏ gói trong một bó dễ gây ra loại đa gói. Điều này


có thể dẫn đến đồng bộ trên toàn thể luồng.
Khi hàng đợi đầy có hai cách loại bỏ gói tin đến :
 Loại bỏ trong hàng đợi: nếu hàng đợi đầy mà có các gói tin hàng đợi thì
việc loại bỏ gói tin sẽ xảy ra ngẫu nhiên bên trong hàng đợi. Một gói mới sẽ đến hàng
đợi
 Loại bỏ đầu hàng đợi : nếu hàng đợi đầy mà vẫn có gói tin đến hàng
đợi thì router sẽ loại bỏ gói tin nằm tại vị trí đầu hàng đợi.
Cả hai cách trên đều giải quyết được vấn đề lock out nhưng vẫn không giải
quyết được vấn đề đầy hàng đợi. Trong mạng Internet hiện tại việc loại bỏ gói tin
giống như cơ chế thông báo tắc nghẽn tới các node đích. Giải pháp cho vấn đề
hàng đợi đầy là router loại bỏ các gói trước khi hàng đợi bắt đầu đầy, do đó các
node cuối có thể phản ứng lại với tắc nghẽn trước khi bộ đệm tràn.
3.3.2 Thuật toán Blue
Thuật toán quản lý hàng đợi Blue sử dụng độ mất gói và độ khả dụng liên
kết để quản lý tắc nghẽn bằng cách phát hiện và điều chỉnh tốc độ của các gói bị
loại bỏ hoặc bị đánh dấu. Nó thường sử dụng tham số xác suất P
m
để đánh dấu
(bằng cách sửdụng ECN) hoặc loại bỏ các gói đã được xếp hàng. P
m
tăng ngay cả
khi các gói đã được loại bỏ từ hàng đợi và giảm khi kết nối được sử dụng không
đúng mức. Lượng tăng của P
m
thể hiện bởi δ
1
và lượng giảm của

P
m

được thể hiện
bằng δ
2
. Đại lượngnày luôn được cập nhật khi có sự thay đỏi của P
m
, khi kích
thước hàng đợi vượt quá giá trị ngưỡng hiện tại L, tại tốc độ 1/freeze_time. Tham
số freeze_time thể hiện khoảng thời gian giữa các lần cập nhật thành công P
m

Thuật toán Blue :
Dựa trên độ mất gói :
if ((now-last_update) > freeze_time) then
P
m
= P
m
+ δ
1

Last_update = now
Dựa trên kết nối rỗi :
if ((now – last_update) > freeze_time) then
P
m
= P
m
– δ
2


Last_update = now
P
m
: xác suất đánh dấu hoặc loại bỏ gói tin
δ
1
: lượng tăng của P
m

δ
2
: lượng giảm của P
m

now : thời gian hiện hành
last_update : thời gian cuối cùng P
m
thay đổi
freeze_time : lượng thời gian giữa các thay đổi thành công
Điểm khác biệt dễ thấy nhất giữa Blue và RED là Blue quản lý hàng đợi trực
tiếp trên cơ sở độ mất gói và độ khả dụng của kết nối chứ không phải dựa trên
kích thước hàng đợi như trong RED. Nếu hàng đợi tiếp tục lợi bỏ các gói để tránh
hàng đợi bị tràn thì thuật toán Blue sẽ tăng giá trị P
m
do đó sẽ tăng tốc độ gửi lại
các thông báo tắc nghẽn. Ngược lại nếu hàng đợi bắt đầu rỗng hoặc nếu có một
tuyến nào đó rỗng thì Blue sẽ xác suất đánh dấu gói. Điều này cho phép Blue biết
chính xác được tốc độ mà nó cần gửi thông báo tắc nghẽn phản hồi. Từ thuật toán
trên ta thấy xác suất đánh dấu gói tin được cập nhật khi kích thước hàng đợi vượt
quá giá trị chính xác nào đó. Việc chỉnh sửa này cho phép giải phóng không gian

hàng đợi khi các gói chiếm dụng quá lâu trong hàng đợi, đồng thời cho phép hàng
đợi điều khiển trễ hàng đợi khi kích thước hàng đợi được sử dụng quá lớn. Tham
số freeze_time quyết định khoảng thời gian nhỏ nhất giữa hai lần update thành
công của P
m
. Nó cho phép thay đổi xác suất đánh dấu trước khi giá trị được update
lại. Giá trị này nên được ngẫu nhiên hoá để tránh đồng bộ trên toàn thể các luồng.
3.3.3 Thuật toán RED
3.3.3.1 Thuật toán
Khi có dấu hiệu của tắc nghẽn xảy ra trong mạng, các bộ đệm của router
được điền đầy và router bắt đầu loại bỏ các gói. Đối với các luồng lưu lượng TCP
thì đây là tín hiệu để bắt đầu pha khởi đầu chậm và để giảm tải trong mạng và làm
dịu tắc nghẽn. Có hai vấn đề nan giải trong mạng: thứ nhất các gói bị mất sẽ phải
được truyền lại, việc này làm tăng tải trong mạng đồng thời phát sinh ra trễ các
luồng lưu lượng. Một vấn đề thứ hai là đồng bộ trên toàn luồng. Với lưu lượng
dạng bó, các hàng đợi được điền đầy và các gói đến sau bị loại bỏ. Kết quả là kết
nối nhiều kết nối TCP bị ảnh hưởng và chyển sang chế độ khởi đầu chậm. Việc có
nhiều kết nối TCP cùng chuyển sang chế độ khởi đầu chậm tại một thời điểm và
cùng thoát khỏi chế độ này do đó sẽ gây ra thêm các bó lưu lượng lớn.
Một giải pháp cho việc có nhiều lưu lượng dạng bó đến router là xây dựng
các bộ đệm đủ lớn để có thể đệm được các bó lưu lượng này tránh việc phải loại bỏ
các gói. Nhưng giải pháp này không khả thi bộ đệm càng lớn thì độ trễ hàng đợi
càng lớn, làm giảm chất lượng dịch vụ và nếu có quá nhiều bó lưu lượng lớn đến kế
tiếp nhau thì kích thước bộ đệm không đủ lớn giữ được tất cả các lưu lượng này,
điều này dễ gây ra tắc nghẽn. Một giải pháp tối ưu để giải quyết tắc nghẽn là thông
báo cho các luồng TCP tại thời điểm bắt đầu xảy ra tắc nghẽn để giảm tốc độ đến,
nếu cần thiết thì giảm tốc độ các luồng khác. Do đó trong trường hợp tắc nghẽn thì
giảm tải lưu lượng TCP trong mạng mà không được đồng bộ toàn luồng. Đây chính
là giải pháp của thuật toán RED.
Thuật toán RED lần đầu tiên được nghĩ ra bởi Sally Floyd và Van Jacobson

cho chức năng quản lý hàng đợi tích cực (AQM), sau đó nó được chuẩn hoá lại
theo yêu cầu của IETF. RED có khả năng chống đồng bộ trên toàn thể các luồng
TCP, duy trì khả năng thông qua cao cũng như độ trễ thấp cùng với cách đối xử
công bằng qua đa kết nối TCP.
Mục đích thiết kế thuật toán RED
 Tránh tắc nghẽn: RED được thiết kế để tránh tắc nghẽn hơn là giải quyết
nó. Do đó RED được sử dụng để phát hiện ra tắc nghẽn ngay khi nó mới bắt đầu
hình thành để duy trì mạng trong miền độ trễ thấp và độ thông qua
 Tránh đồng bộ toàn cục: Khi có dấu hiệu tắc nghẽn xảy ra trong mạng,
router sẽ phải quyết định xem kết nối nào để gửi thông báo phản hồi. Bằng việc
phát hiện sớm tắc nghẽn và chỉ thông báo cho các kết nối khi cần thiết do đó tránh
được hiện tượng đồng bộ toàn thể luồng TCP.
 Đường biên của kích thước hàng đợi trung bình: RED có thể điều khiển
được kích thước hàng đợi trung bình do đó điều khiển được trễ hàng đợi.
RED (Random Early Detection- Phát hiện sớm ngẫu nhiên) tính toán kích
thước hàng đợi trung bình dựa trên dựa trên bộ lọc thông thấp và trung bình dịch
chuyển có trọng số tăng theo hàm mũ (EWMA- Exponential Weighted Moving
Average). Kích thước hàng đợi trung bình được so sánh với hai giá trị ngưỡng:
mức ngưỡng nhỏ nhất và mức ngưỡng lớn nhất.
 Khi kích thước hàng đợi trung bình nhỏ hơn mức ngưỡng nhỏ nhất thì
không có gói nào bị đánh dấu.
 Khi kích thước hàng đợi trung bình lớn hơn mức ngưỡng tối đa cho cho
phép thì tất cả các gói đến đều bị đánh dấu. Và trên thực tế các gói có thể bị loại
bỏ. Khi các gói bị loại bỏ hoặc nếu tất cả các nguồn cùng hợp tác với nhau thì kích
thước hàng đợi trung bình sẽ không vượt quá giá trị ngưỡng tối đa cho phép.
 Khi kích thước hàng đợi trung bình nằm trong khoảng giá trị ngưỡng
nhỏ nhất và giá trị ngưỡng lớn nhất thì mỗi gói đến đều được đánh dấu bằng một
xác suất P
a
, P

a
là một hàm của kích thước hàng đợi trung bình. Tại mỗi thời điểm
một gói bị đánh dấu, xác suất của gói bị đánh dấu phải tương xứng với băng thông
được chia sẻ của các kết nối tại router.




Drop=0
Non-zero and
Increasing likely-
hood of Drop

min
th

max
th

100%
Max
p

0

1

Guaranteed
Drop
Average Occupacy


Drop Probability






Hình 3.8 : Mối quan hệ giữa xác suất loại bỏ gói và kích thước hàng đợi trung
bình
3 trường hợp trên được xem như 3 pha của quá trình tránh tắc nghẽn:
 Pha thứ nhất: hoạt động bình thường
 Pha thứ hai : tránh tắc nghẽn
 Pha tắc nghẽn: điều khiển tắc nghẽn
Nhìn chung thuật toán RED được chia thành 2 phần riêng:
 Phần 1: dùng để tính toán kích thước hàng đợi trung bình, được quyết
định bởi mức độ của các bó được cho phép đi vào hàng đợi của router. Nó đưa ra
bản mô tả các chu kì khi hàng đợi rỗng (chu kì rỗi) bằng cách đánh giá số lượng m
của các gói nhỏ có thể được truyền trong suốt chu kì rỗi bởi router. Sau mỗi chu kì
rỗi router lại tính toán kích thước hàng đợi trung bình như thể m gói đã đến được
hàng đợi rỗng trong suốt chu kì đó.
 Phần 2: được sử dụng để tính toán xác suất đánh dấu gói và sau đó quyết
định xem router đánh dấu các gói có thường xuyên không, để đưa ra các mức tắc
nghẽn rõ ràng. Mục đích đánh dấu các gói một cách đều đặn của các router là tránh
đồng bộ trên toàn thể các luồng TCP, tránh lệch và điều khiển kích thước hàng đợi
trung bình. Độ chiếm giữ hàng đợi lớn thì xác suất loại bỏ gói càng cao, độ chiếm
giữ hàng đợi càng gần giá trị max
th
thì xác suất loại bỏ gói dần tiến tới giá trị max
p




Hình 3.9 : Mô tả mối quan hệ giữa max
p
và độ chiếm giữ hàng đợi
Thuật toán chung cho router RED
For mỗi gói đến
Tính toán kích thước hàng đợi trung bình của hàng đợi avg
If min
th
≤ avg < max
th

Tính toán xác suất P
a

với P
a
là xác suất đánh dấu các gói đến;
else if max
th
≤ avg
Đánh dấu các gói đến
Else
Chấp nhận các gói đến hàng đợi;


Độ chiếm giữ hàng đợi
Max

p
Khi kích thước hàng đợi nằm giữa mức ngưỡng min và max, thì mỗi gói đến
sẽ được đánh dấu bằng xác suất P
a
, đây là một chức năng của kích thước hàng đợi
trung bình. Tại mỗi thời điểm có một gói bị đánh dấu và xác suất gói bị đánh dấu
từ một kết nối điển hình tỉ lệ với băng thông chia sẻ kết nối tại mỗi router.
Thuật toán chi tiết của RED:
Count ← -1
Avg ← 0
For mỗi gói đến
Tính toán kích thước hàng đợi mới avg;
If hàng đợi không rỗng
avg ← avg + w* (q- avg)
Else
m= (time – q_time)/s
avg ← (1- w)
m
avg
if min
th
≤ avg < max
th

tăng biến count
tính toán xác suất P
a
;
P
a

←max
p
(avg - min
th
) / (max
th
- min
th
)
P
a
← P
b
/ (1- count* P
b
)
với xác suất P
a
;
đánh dấu các gói đến
count ← 0
else if max
th
≤ avg
Đánh dấu các gói đến
count ← 0
else count ← -1
Khi hàng đợi bắt đầu đầy
q_time ← time
Các biến:

avg : kích thước hàng đợi trung bình
q_time : thời điểm bắt đầu hàng đợi rỗi
count : số các gói đến ngay sau gói cuối cùng bị đánh dấu
Tham số cố định:
w
q
: trọng số hàng đợi
min
th
: chiều dài ngưỡng nhỏ nhất của hàng đợi
max
th
: chiều dài ngưỡng lớn nhất của hàng đợi
max
p
: giá trị lớn nhất của P
b

s : thời gian truyền dẫn điển hình (của các gói nhỏ)
q : kích thước hàng đợi hiện tại
P
a
: xác suất đánh dấu gói hiện tại
time : thời gian hiện tại
Router tính toán avg tại mỗi gói đến sử dụng công thức:
avg ← avg + w * (q - avg)
Khi hàng đợi rỗng (chu kì rỗi) với m là số lượng các gói nhỏ có thể được
truyền trong suốt các chu kì rỗi:
avg← (1- w)
m

avg
m = (time – q_time)/ s
Và sau mỗi chu kì rỗi router sẽ tính toán kích thước hàng đợi trung bình
giống như là có m gói đã được truyền vào hàng đợi trong suốt chu kì đó.
Khi avg thay đổi từ min
th
đến max
th
thì xác suất đánh dấu các gói P
b
thay đổi
tuyến tính từ 0 đến max
p

P
b
← max
p
(avg - min
th
) / (max
th
- min
th
)
Xác suất đánh dấu cuối cùng P
a
tăng chậm sẽ được tính toán từ gói bị đánh
dấu cuối cùng:
P

a
← P
b
/ (1 – count * P
b
)
Điều này giúp cho router không phải đợi lâu trước khi đánh dấu các gói. Giá
trị count càng lớn thì xác suất đánh dấu càng cao. Router đánh dấu các gói tới khi
kích thước hàng đợi trung bình vượt quá max
th
.
Một lựa chọn cho các router RED là tính toán hàng đợi theo byte hơn là theo
các gói. Với lựa chọn này thì kích thước trung bình hàng đợi sẽ phản ánh chính xác
độ trễ trung bình tại router. Khi lựa chọn này được sử dụng thì thuật toán phải
được chỉnh sửa để chắc chắn rằng xác suất các gói bị đánh dấu tỉ lệ với kích thước
gói theo byte:
P
b
← max
p
(avg - min
th
)/ (max
th
- min
th
)
P
b
← P

b
* packetsize / maximum packetsize
P
a
← P
b
/(1- count * P
b
)
Nhiệm vụ đánh dấu các gói được thực hiện nhờ vào Gateway RED tại mỗi
router. Gateway RED là thành phần của mạng thực hiện nhiệm vụ đánh dấu các gói.
RED là thuật toán được đưa ra và được điều khiển bởi các Gateway RED trong
router. Các gateway này thực hiện việc loại bỏ tắc nghẽn bằng việc sử dụng thuật
toán RED để tính toán các giá trị hàng đợi trung bình. Cổng này có thể thông báo tới
các kết nối bị tắc nghẽn, cũng như loại bỏ các gói đến cổng hoặc thiết lập các bit
trong phần tiêu đề của các gói. Khi kích thước hàng đợi trung bình vượt quá mức
ngưỡng cho phép thì Gateway sẽ loại bỏ hoặc đánh dấu các gói đến bằng một hàm
xác suất của kích thước hàng đợi trung bình. Các gateway RED giữ cho kích thước
hàng đợi trung bình thấp trong khi vẫn cho phép các gói đến dưới dạng bó đi vào
hàng đợi. Trong suốt thời gian tắc nghẽn xác suất các gateway thông báo cho các kết
nối giảm kích thước cửa sổ của nó phải cân xứng với băng thông của các kết nối
được chia sẻ qua gateway. Các gateway RED được thiết kế để hỗ trợ giao thức điều
khiển tắc nghẽn lớp truyền tải như TCP.
3.3.3.2 Các tham số của RED
Các tham số thể hiện hiệu năng của thuật toán RED và để cấu hình các tham
số. Các tham số xác suất loại bỏ gói, chiều dài hàng đợi trung bình, các giá trị
ngưỡng.
a. Xác suất loại bỏ gói
X là biến ngẫu nhiên thể hiện số lượng các gói đến sau một gói được đánh
dấu cho tới khi có một gói bị đánh dấu. Giả thiết kích thước hàng đợi trung bình là

không đổi.
Cách 1: Các biến ngẫu nhiên có hình thức
Nếu định nghĩa xác suất mất gói P
b

P
b
= max
p
* [(avg – min
th
) / (max
th
– min
th
)]
Thì ta có:
Prob [X=n] =(1-P
b
)
n-1
P
b
Do đó X là biến ngẫu nhiên có hình thức (RV) với tham số P
b
và E[X] =1/P
b

Vấn đề phải đánh dấu các gói tại các khoảng đều đặn. Nếu có quá nhiều gói
được đánh dấu gần nhau hay khoảng cách các gói đánh dấu quá dài thì nó có thể

gây ra hiện tượng đồng bộ toàn thể các luồng TCP và các kết nối giảm kích thước
của sổ tại cùng một thời điểm.
Cách 2: Các biến ngẫu nhiên đồng bộ
Nếu định nghĩa xác suất loại bỏ gói là P
a

P
a
= P
b
/ (1- count * P
b
)
Count: là số lượng các gói đến ngay sau gói cuối cùng bị đánh dấu
Prob[X=n] =
b
b
Pn
P
)1(1 





2
0
)
1
1(

n
i
b
b
iP
P
= P
b
với 1≤ n ≤ 1/ P
b

prob[X= n] = 0 với n> 1/P
b
Với biến ngẫu nhiên đồng bộ trong số [1,2,3,…1/P
b
] với E[X] =1/(2*P
b
)+1/2
i: là biến chạy của các gói đến router ngay sau gói cuối cùng bị đánh dấu.
b. Chiều dài hàng đợi trung bình và w
q
Cổng RED sử dụng bộ lọc thông thấp để tính toán kích thước hàng đợi
trung bình. Do đó các khoảng thời gian ngắn hạn sẽ tăng tới kích thước hàng đợi
đây là kết quả của lưu lượng dạng bó hoặc tắc nghẽn trong suốt chứ không phải là
thay đổi trong kích thước hàng đợi trung bình. Bộ lọc thông thấp là trung bình dịch
chuyển có trọng số tăng theo luỹ thừa (EWMA):
avg ← (1- w
q
)avg + w
q

*q
Trọng số w
q
quyết định thời gian của bộ lọc thông thấp. Việc lựa chọn w
q
quyết định hằng số thời gian cho quá trình tính toán kích thước hàng đợi trung
bình. Nếu w
q
thì kích thước hàng đợi trung bình được đánh giá là đáp ứng quá
chậm so với tắc nghẽn trong suốt. Còn nếu w
q
quá cao thì kích thước hàng đợi
trung bình được đánh giá là quá gần với kích thước hàng đợi tức thời. Ta có thể
thiết lập các biên giới trên hoặc dưới cho tham số w
q
. Việc tính toán kích thước
hàng đợi trung bình có thể được thực hiện một cách hiệu quả ngay cả khi w
q
mang
cả hai tính chất trên
 Biên giới trên của w
q

Nếu w
q
quá lớn thì các thủ tục sẽ không xác đinh được tắc nghẽn qua
gateway. Giả sử ban đầu hàng đợi rỗng (kích thước trung bình =0), sau khi có các
gói, số gói trong hàng đợi sẽ tăng từ 0 đến L gói (giả sử có L gói đến hàng đợi), lúc
này kích thước hàng đợi trung bình được xác định như sau:
avg

L
=




L
i
iL
qq
wiw
1
)1( = w
q
(1-w
q
)
L




L
i
i
q
w
i
1
)

1
1
(

với:


L
i
i
ix
1
=
2
1
)1(
)1(
x
xLLxx
L



ta xác định được biên trên đối với
w
q
như sau:
avg
L
= L + 1 +

q
L
q
w
w 1)1(
1



Khi đưa ra giá trị min
th
tức là ta đã cho phép số lượng các bó của L gói đến
gateway.
Sau đó trọng số w
q
sẽ được lựa chọn để thảo mãn avg < min
th
avg
L
= L + 1 +
q
L
q
w
w 1)1(
1


< min
th


 Biên dưới của w
q

Các gateway RED được thiết kế sao cho thuật toán RED luôn giữ kết quả
tính toán kích thước hàng đợi trung bình nằm dưới mức ngưỡng nào đó. Tuy nhiên
nếu giá trị w
q
được thiết lập quá chậm thì giá trị avg sẽ đáp ứng chậm với sự thay
đổi kích thước hàng đợi trong thực tế. Trong trường hợp này thì các gateway RED
không loại bỏ được các mức nghẽn ban đầu.
c. Các giá trị ngưỡng: thiết lập giá trị min
th
,max
th

Giá trị tối ưu của min
th
, max
th
phụ thuộc vào kích thước hàng đợi trung bình
mong muốn. Nếu lưu lượng đến hàng đợi dưới dạng bó thì giá trị min
th
phải lớn
tương xứng để để cho phép duy trì việc sử dụng các kết nối tại mức cao có thể chấp
nhận được.
Giá trị min
th
phụ thuộc chính xác vào việc cân bằng theo mong muốn giữa trễ
trung bình thấp và sự tận dụng kết nối cao tại router. Việc thiết lập tối ưu giá trị min

th

cũng phụ thuộc một phần vào tốc độ kết nối, trễ lan truyền, và kích thước hàng đợi
lớn nhất.
Giá trị max
th
tối ưu phụ thuộc vào trễ trung bình lớn nhất được cho phép bởi
gateway. Các gateway hoạt động hiệu quả nhất khi giá trị (max
th
- min
th
) rộng hơn
lượng tăng thêm kích thước hàng đợi trung bình được tính toán trong một thời gian
Roundtrip. Thường chọn max
th
= 3 min
th

3.3.4 Phát hiện sớm ngẫu nhiên có trọng số WRED
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
F
IF
O
scheduling
Queue
bufler
resources

D
is
card
test


based

on:

 Bufler queue depth

 IP Precedence

RSVP s
es
sion

Để 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

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
Random Drop Tail Drop
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à min
1th
,và giá trị ngưỡng lớn nhất là max
2th
. Các gói bị đánh dấu có các giá
trị ngưỡng min
2th
, max
2th
. 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ị min
1th
> min
2th
,và max
1th
> max
2th
. Giá trị max

p
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 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 max
p
, 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.








Regular
packets
0

Min
th2
Min
th1
Max
th2
Max
th1
100%
1


Unmarked
max
p

Drop

Probability
Queue Occupancy
Marked packet



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).
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 min
th
, max
th
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.
3.3.5 Phát hiện sớm ngẫu nhiên thích nghi ARED
3.3.5.1 Thuật toán
Điều khiển tắc nghẽn đầu cuối được sử dụng rộng rãi trong các mạng ngày
nay để ngăn chặn tắc nghẽn xảy ra. Tuy nhiên do lưu lượng đến dưới dạng bó, các
router được cung cấp các bộ đệm rộng lớn một cách công bằng để thu hút các bó lưu
lượng và duy trì việc sử dụng kết nối cao. Bên trong các bộ đệm lớn này có sử dụng

quản lý bộ đệm loại bỏ đằng đuôi, nếu xảy ra tắc nghẽn tại các router thì các gói sẽ
bị trễ hàng đợi lớn. Do đó quản lý bộ đệm loại bỏ đằng đuôi buộc mạng phải lựa
chọn giữa độ sử dụng cao (yêu cầu kích thước hàng đợi lớn) hay độ trễ nhỏ (yêu cầu
kích thước hàng đợi nhỏ).
Còn quản lý hàng đợi sử dụng thuật toán RED thì tích cực hơn do sử dụng
quá trình loại bỏ gói ngẫu nhiên bằng việc thay đổi kích thước hàng đợi trung bình.
Mục tiêu chính của RED là phối hợp giữa trung bình hoá chiều dài của hàng đợi
(cung cấp lưu lượng dạng bó) và thông báo tắc nghẽn sớm (giảm kích thước hàng
đợi trung bình) để đạt được trễ hàng đợi trung bình thấp và độ thông qua cao.
Tuy nhiên RED lại có mặt hạn chế: kích thước hàng đợi trung bình thay đổi
theo mức tắc nghẽn và các thiết lập tham số. Về cơ bản RED yêu cầu điều chỉnh
các tham số để hoạt động hiệu quả thì nó phải loại bỏ đủ các gói để đạt được mục
đích. Thật không thích hợp là việc thiết lập các tham số phụ thuộc vào tính tự
nhiên và dạng bó của lưu lượng truyền qua hàng đợi trên cơ sở RED. Ta thấy khi
kết nối xảy ra tức nghẽn nhẹ hay giá trị max
p
cao thì kích thước hàng đợi trung
bình sẽ gần giá trị min
th
, còn khi kết nối bị tắc nghẽn nặng, hay giá trị max
p
thấp thì
kích thước trung bình hàng đợi gần bằng hoặc lớn hơn max
th
. Kết quả là trễ hàng
đợi hàng đợi trung bình rất nhạy với tải lưu lượng và tham số do đó không thể dự
đoán truớc được. Thêm vào đó độ thông qua trong RED cũng nhạy với tải lưu
lượng và tham số. RED thường không hoạt động tốt khi kích thước hàng đợi trung
bình vượt quá giá trị max
th

, khi vượt quá giá trị này thì khả năng thông qua giảm
còn tốc độ loại bỏ gói tin tăng. Giải pháp đưa ra cho vấn đề trên là tìm ra một thuật
toán kế thừa được các ưu điểm của thuật toán RED đồng thời hạn chế được nhược
điểm của nó. Thuật toán ARED (Adaptive RED-RED thích nghi) là phần mở rộng
của thuật toán RED. ARED về cơ bản vẫn dựa trên thuật toán RED nhưng chỉ
chỉnh sửa tham số max
p
để giữ cho kích thước hàng đợi trung bình luôn nằm trong
khoảng min
th
và max
th
. Thêm vào thuật toán ARED tự động thiết lập các tham số
khác của RED, nó có thể tối thiểu hoá khả năng kích thước hàng đợi trung bình
vượt quá giá trị max
th
do đó hạn chế khả năng mất gói và sự dao động trong trễ
hàng đợi.
Các trọng số dùng để đánh giá ARED
Mục đích thứ cấp của RED nói riêng hay của quản lý hàng đợi nói chung là
để cung cấp trễ hàng đợi trung bình thấp và độ thông qua cao. Do đó để định giá
ARED thì ta sử dụng các trọng số của trễ hàng đợi trung bình và độ thông qua.
Mục đích nữa của ARED là giới hạn số lượng các gói bị loại bỏ và tốc độ đánh
dấu. Tất cả các trọng số được xây dựng trên cơ sở router. Trong khi các trọng số
người sử dụng đầu cuối như: thời gian chuyển file, hay độ trễ trên gói là các kết
quả đo quan trọng có hiệu quả với thuật toán thì các trọng số người sử dụng đầu
cuối cho thuật toán ARED có thể dễ dàng nhận được từ các trọng số trên cơ sở
router


×