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

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

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 (377.96 KB, 23 trang )

Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
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

Hoạt động của thuật toán ARED
ARED thích ứng giá trị max
p
để giữ cho kích thước hàng đợi trung bình
nằm trong khoảng giá trị min
th
và max
th
. Để đạt được điều này có 4 cách:
 Max
p
được thích ứng không chỉ giữ cho kích thước hàng đợi trung
bình nằm giữa hai giá trị min
th
và max
th
mà còn giữ cho kích thước
hàng đợi trung bình nằm trong một giải cho phép trong khoảng min
th

và max


th
.
 Max
p
thích nghi chậm, thời gian vượt quá được chia lớn hơn thời gian
roundtrip và trong những bước nhỏ.
 Giá trị max
p
được duy trì trong khoảng [0.01 ; 0.5]

1

max
p
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán








Hình 3.13 : Phát hiện sớm ngẫu nhiên thay đổi thích ứng với max
p
thay đổi
 Thay cho việc tăng theo cấp số nhân và giảm giá trị max
p
ta thực hiện
chế độ giảm theo cấp số nhân và tăng theo cấp số cộng (AIMD).

Thuật toán ARED:
Every interval seconds:
If (avg > target and max
p
≤ 0.5)
Tăng giá trị max
p

max
p
← max
p
+ α;
else if (avg < target and max
p
≥ 0.01)
giảm max
p
;
max
p


max
p
* β ;
Các biến :
avg : kích thước hàng đợi trung bình
Các tham số cố định :
interval : khoảng thời gian khoảng 0,5 s

Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
target : giá trị mong đợi cho avg nằm trong khoảng
[min
th
+ 0.4 * (max
th
- min
th
) ; min
th
+ 0.6 * (max
th
- min
th
)]
α : nhân tố tăng ; min (0.01 ; max
p
/4)
β : nhân tố giảm ; 0.9
Chính sách tương thích giá trị max
p
cho phép giá trị xác suất loại bỏ gói
Đáp ứng được với sự thay đổi của kích thước hàng đợi trung bình để có
thể chiếm ưu thế trong các khoảng thời gian nhỏ. Việc thích ứng chậm giá trị
max
p
, ARED đưa ra hiệu quả sử dụng cao trong một dải rộng các môi trường.
Thuật toán ARED trong hình trên sử dụng AIMD tương thích max
p
.

Ngoài cách này ra còn có một cách điều khiển tuyến tính khác là MIDC (tăng
theo cấp số nhân, giảm theo cấp số nhân) cũng được yêu cầu để quản lý hàng
đợi.
3.3.5.2 Các tham số của ARED
a. Giá trị max
p

Giới hạn trên của giá trị max
p
=0.5 có thể được chỉnh sửa theo cách:
Cố gắng tối ưu RED để tốc độ loại bỏ gói tin <50%. Hơn nữa khi tốc độ
loại bỏ gói tăng từ max
p
→ 1 khi kích thước hàng đợi thay đổi từ giá trị max
p
-
>2max
p
. Còn khi t
ốc độ loại bỏ gói giảm từ 1→ max
p
khi kích thước hàng đợi
thay đổi từ min
th
→ max
th
. Do đó với giá trị Maxp được thiết lập tới giá trị 0.5 thì
xác suất loại bỏ các gói thay đổi từ 0→ 1 khi kích thước hàng đợi thay đổi từ
Minth→ 2Maxth. Điều này giúp cho hiệu năng truyền lớn ngay cả khi tốc độ
loại bỏ gói vượt quá 50%.

b. Tham số α, β
Có ít nhất 0.49/α khoảng giành cho giá trị max
p
để tăng từ 0.01→ 0.5 (với
tham số đưa ra là 24.5s). Tương tự có ít nhất log0.02/logβ khoảng cho giá trị
max
p
để giảm từ 0.5→ 0.01(với tham số là 20.1s). Khi xét đến giá trị α, β yêu
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
cầu đặt ra là ngay cả khi hoạt động dưới điều kiện bình thường thì bất kì một
chỉnh sửa đơn nào của giá trị max
p
cũng không ảnh hưởng tới sự thay đổi của
kích thước hàng đợi trung bình
Khi giá trị max
p
được thích ứng với xác suất loại bỏ gói trạng thái ổn định
p cũng được duy trì và kích thước hàng đợi trung bình dịch chuyển đơn giản để
phù hợp với giá trị max
p
mới. Do đó p < max
p
khi max
p
tăng bởi α, và giá trị
hàng đợi trung bình có thể giảm từ giá trị min
th
+
p
p

max
(max
th
- min
th
) tới min
th

+


p
p
max
(max
th
- min
th
)
Nó là sự giảm của giá trị:




p
max
+
p
p
max

(max
th
- min
th
)
Giá trị max
p
nhỏ hơn 0.2(max
th
- min
th
), do đó kích thước hàng đợi trung
bình không phụ thuộc vào giá trị max
p
và để tránh hiện tượng kích thước hàng
đợi giảm đột ngột từ giá trị biên trên xuống giá trị biên dưới. Tham số α, β phải
thoả mãn:




p
max
≤ 0.2 với α < 0.25 max
p
Tương tự có thể kiểm tra việc giảm max
p
theo cấp số nhân để không gây
ra hiện tượng kích thước hàng đợi trung bình tăng từ giá trị biên giới tới giá trị
biên trên. Phân tích tương tự như α:




p
p
max
)1(

(max
th
- min
th
) < 0.2(max
th
- min
th
)
Chọn β:



1
≤ 0.2 ; β > 0.83
c. Thiết lập các tham số max
th
và w
q

Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
ARED loại bỏ sự phụ thuộc của RED vào tham số max

p
và một số tham
số khác thì ta có thể tự động thiết lập tham số max
th
,w
q
. Giá trị Maxp sẽ được tự
động thiết lập từ giá trị 3min
th
. Trong trường hợp này thì kích thước hàng đợi
trung bình tập trung xung quanh giá trị 2min
th
do đó nó chỉ chịu ảnh hưởng của
tham số min
th
của RED.
Tham số w
q:
nếu kích thước hàng đợi trung bình thay đổi từ giá trị này
sang giá trị khác thì số lượng các gói đến là -1/ln(1-w
q
). Giá trị này được gọi là
“hằng số thời gian”. Nó được chỉ định trong các gói đến để đánh giá kích thước
hàng đợi trung bình, nhưng bản thân nó lại không mang tính chất thời gian. Các
kết nối có tốc độ cao hơn yêu cầu giá trị w
q
nhỏ hơn, do đó “hằng số thời gian”
được duy trì theo trật tự của RRT. w
q
được thiết lập tự động là 1s (tương đương

với 10 RTT) để đánh giá kích thước hàng đợi trung bình. Giả sử rằng RTT mặc
định là 100ms thì w
q
được thiết lập:
w
q
= 1- exp(-1/C)
C : là khả năng kết nối các gói trên 1s, được tính bắng số các gói trên một
kích thước mặc định đã được chỉ ra.
3.3.6 RED với các cổng vào ra (RIO-RED with In/Out)
3.3.6.1 Giới thiệu chung về RIO
Trong chương 1 đã giới thiệu về các dịch vụ DS. Nhìn chung kiến trúc DS
nhằm mục đích cung cấp QoS có đảm bảo tại mức các luồng được tổng hợp. Nó
phân loại các gói tin IP thành các nhóm lưu lượng nhỏ hơn tuỳ theo các giá trị
DSCP được đánh dấu trong tiêu đề gói IP tại các đường biên của mạng. Trong
lõi mạng chúng sẽ được truyền theo các PHB tương ứng. DS không yêu cầu duy
trì trạng thái luồng, hay các tiến trình báo hiệu bên trong các mạng lõi, do đó nó
giảm bớt gánh nặng làm việc cho các router trong mạng lõi. Các router biên
trong các mạng DS giám sát và đánh dấu các gói của luồng lưu lượng. Các gói
tuân theo các profile của người sử dụng sẽ được đánh dấu là “In profile” còn các
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
gói nằm ngoài các profile dịch vụ sẽ được đánh dấu là out profile. Một thuật
toán được hỗ trợ bên trong các router lõi của mạng phân biệt là RIO (phát hiện
sớm ngẫu nhiên vào ra). Trong suốt quá trình tắc nghẽn các gói có profile out sẽ
bị loại bỏ trước các gói In profile. Với các chính sách loại bỏ gói, các AFPHB sẽ
đưa ra quyền ưu tiên cho các gói In và cung cấp các mức dịch vụ khác nhau cho
người sử dụng trên cơ sở các proifile dịch vụ của họ. Để điều khiển tắc nghẽn
cho các luồng được tổng hợp trong mạng DS ta có thể sử dụng lược đồ điều
khiển tắc nghẽn từ biên tới biên (edge to edge congestion control scheme-E2E-
CCS). Trong lược đồ này thì gói điều khiển QoS được gửi từ các router bên

trong ra các router bên ngoài tại mỗi khoảng thời gian cố định. Các router bên
trong sử dụng thuật toán để điều chỉnh tốc độ gửi của luồng theo thông tin QoS
được phản hồi về từ các router biên.
Ta đang xét thuật toán RIO trong mạng DS. Kiến trúc một mạng DS bao
gồm 2 loại router: router biên và router lõi. Các router biên được lắp đặt tại
đường biên của các mạng, nó hỗ trợ cho các điều kiện lưu lượng như: phân lớp,
định dạng, và đánh dấu gói tin. Còn các router lõi được lắp đặt bên trong mạng,
cung cấp chức năng phân loại đơn giản và một số chức năng định hướng khác.
Các router biên lại bao gồm các node đầu ra và các node đầu vào vùng DS.
E2E-CCS coi các router đầu vào và đầu ra cũng như phía thu và phía phát
các gói điều khiển QoS. Phía phát sẽ gửi các gói tin điều khiển trong cùng một
nhóm tới phía thu để tại các khoảng thời gian T đều đặn. Gói điều khiển được sử
dụng để truyền các thông tin QoS giữa các router đầu ra và router đầu vào. Khi
router đầu ra nhận được gói điều khiển, nó sẽ tính toán tốc độ đầu ra của các gói
In và Out được đánh dấu bởi ECN. Các router đầu ra sau đó sẽ điền các tham số
QoS vào các trường tương ứng trong các gói điều khiển và gửi chúng ngược trở
lại router đầu vào. Các gói điều khiển luôn có mức ưu tiên cao nhất trong các
mạng DS. Khi các router đầu vào nhận được các gói điều khiển phản hồi từ các
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
router đầu ra thì nó sẽ chỉnh sửa tốc độ gửi trong các thông tin QoS đặt trong các
gói điều khiển.
Thuật toán quản lý hàng đợi của router lõi là thuật toán RIO, có thể được
xem như sự phối hợp của hai thuật toán RED với các xác suất loại bỏ gói tin khác
nhau cho các gói In và các gói Out. Do đó nó cũng có hai bộ giá trị ngưỡng giống
như trong RED: (min
th(in)
, max
th(in)
,max
p(in)

) và (min
th(out)
max
th(out)
, max
p(out)
),
được sử dụng cho việc tính toán xác suất loại bỏ các gói In, Out. Thông thường
các tham số của các gói Out được thiết lập cao hơn các gói In để có thể loại bỏ
các Out trước khi có bất kì một gói In nào bị loại bỏ. Thêm vào đó kích thước
hàng đợi trung bình của các gói Out được tính toán dựa trên cơ sở tổng các gói
(gói In và các gói Out) trong hàng đợi. Trong khi kích thước hàng đợi trung bình
của các gói In chỉ được tính toán dựa trên các gói In.
a. Cấu trúc router đầu vào









Hình 3.14 : Cấu trúc router đầu vào

TC (Traffic Controller) : bộ điều khiển lưu lượng
Tr
af
fic


Cl
as
sifie
T C

T C

Rate
Controler
QoS controller Hander
To network core

router

Q
oS

c
ontr
ol packet from
egress router

Incoming traffic
from end Host
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
Rate Controller : bộ điều khiển tốc độ
Traffic Classifier : bộ phân loại lưu lượng
Tại các router đầu vào mạng lưu lượng đến đầu tiên sẽ được phân loại
trong các tập hợp lưu lượng theo các giá trị DSCP được đánh dấu trong phần
tiêu đề của gói tin. Mỗi tập hợp này được giám sát bởi bộ điều phối lưu lượng để

đánh giá tốc độ tổ hợp lưu lượng hiện hành và phải chắc chắn rằng mỗi tổ hợp
lưu lượng này sẽ không vượt quá tốc độ thông tin đỉnh của nó. Các lưu lượng
mà vượt quá tốc độ có thể cho phép thì sẽ bị loại bỏ và bị đánh dấu lại để ngăn
chặn việc các luồng lưu lượng này chiếm giữ tài nguyên mạng nhiều hơn tìa
nguyênđã được chia sẻ. Bộ điều khiển tốc độ điều chỉnh tốc độ đầu ra của bộ
điều phối lưu lượng theo các tham số đã được ấn định trong các gói điều khiển
QoS khi nó được phản hồi lại từ các router đầu ra.
b. Cấu trúc router đầu ra
Về cấu trúc thì các router đầu ra tương tự như các router đầu vào. Bộ
giám sát lưu lượng có thể đáp ứng cho việc đánh giá tốc độ đến của các gói In và
Out với số đo profile TSW (Time Sliding Window - cửa sổ trượt thời gian) và
ghi lại số lượng các gói In, Out nhận được trong suốt các khoảng thời gian đều
đặn T.








Traffic

cl
as
sifier

T C

T C


Q
oS

c
ontr
oller Hand
er

Incoming traffic
from core Router
QoS control packet to
ingress Router
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
Hình 3.15 : Cấu trúc router đầu ra
Thuật toán điều khiển tốc độ gói In và Out cho cả router đầu vào và đầu ra
Tại mỗi khoảng thời gian T
Router cổng vào sẽ nhận các gói điều khiển QoS
If N
s
= N
r
then
If EN
r
In
> 0 then
giảm tốc độ của các gói In và Out
else if EN
r

Out
> 0 then
giảm tốc độ gửi của các gói Out
else
tăng tốc độ gửi
else
giảm tốc độ gửi của cả gói In và Out
Kí hiệu:
N
s
: số lượng các gói gửi tại router đầu vào
N
r
: số lượng các gói nhận được tại router đầu ra.
EN
r
In
: số lượng các gói In nhận được router đầu ra với ECN = 1
EN
r
Out
: số lượng các gói Out nhận được tại router đầu ra với ECN
=1
Tại router đầu vào, thuật toán tăng đơn giản thực hiện chức năng tăng tốc độ
gửi R
s
:
R
s
= R

s
* (1+ α) 0< α < 1
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
Trong E2E-CCS thuật toán giảm được sử dụng để chỉnh sửa tốc độ gửi
của các gói In và Out tuỳ theo thông tin điều khiển QoS nhận được. Thuật toán
giảm:
If EN
r
Out
> 0 then
R
s
= R
r
In
+ R
r
Out
* β
Với 0 < β < 1 , R
r
In
và R
r
Out
là tốc độ đầu ra của các gói In và Out tại các
router cổng ra. Và
If EN
r
In

> 0 or N
s


N
r
then
R
s
= R
r
In
* γ
Với 0< γ < 1
3.3.6.2 Thuật toán RIO
RED có các cổng vào ra In/Out (RIO) là cơ chế AQM cơ sở phù hợp cho
bộ AF PHB. RIO là phần mở rộng của RED sử dụng hai tập các tham số để phân
biệt loại bỏ các gói In(In profile) và các gói ngoài Out(out profile). Để quyết
định khi nào loại bỏ các gói Out thì RIO sử dụng kích thước trung bình của tổng
chiều dài hàng đợi. RIO sẽ được mở rộng để xử lý n>2 precedence cho cùng một
nguyên lý. Xác suất loại bỏ các gói của Precedence 1≤ j <n phụ thuộc vào kích
thước trung bình của hàng đợi ảo chứa các gói có Precedence từ 1 tới j. Với các
gói có mức precedence n (ví dụ là ưu tiên thấp nhất), xác suất loại bỏ các gói là
chức năng của độ chiếm giữ trung bình của hàng đợi vật lý. Cách thức ban đầu
này còn gọi là RIO-C (RIO coupled) để phân biệt với các cách thức sau đó. Ví
dụ WRED sử dụng kích thước hàng đợi trung bình tổng cho tất cả precedence
trong khi RIO-DC (RIO decoupled) tính toán xác suất mất gói của precedence j
như một chức năng của số lượng trung bình các gói có cùng một Precedence.
RIO-C phân biệt các gói theo các precedence theo 3 cách. Cách thứ nhất sử
dụng các mức ngưỡng khác nhau cho các precedence khác nhau, do đó các gói

có precedence thấp sẽ bị loại bỏ trước các gói có độ ưu tiên cao hơn. Cách thứ
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
hai là sử dụng xác suất loại bỏ tăng tại tốc độ khác nhau cho các độ ưu tiên khác
nhau. Cách thứ 3 nằm trong tính toán kết hợp của xác suất loại bỏ gói. Trên thực
tế xác suất loại bỏ gói có precedence j sử dụng số lượng trung bình các gói của
tất cả các precedence thấp hơn. Hai cách đầu tiên dựa trên việc thiết lập đơn
giản các tham số khác nhau do đó chúng không loại trừ lẫn nhau.
Bên cạnh đó RIO được dùng để hỗ trợ cho các bộ điều khiển tốc độ để quyết
định xem nên điều chỉnh tốc độ như thế nào cho hợp lý tại các router đầu vào.
Trong cơ chế E2E-CCS các router lõi giám sát hàng đợi đầu ra và đánh dấu các
bit ECN trong các gói đến một cách ngẫu nhiên. Do đó điều khiển tắc nghẽn sẽ
được thực hiện khi độ chiếm giữ hàng đợi trong router lõi bắt đầu đạt tới mức
ngưỡng hiện thời. Bên trong mạng, tại các Router sẽ không có sự chia sẻ lưu
lượng từ phía người sử dụng trong các luồng khác nhau hoặc trong các hàng đợi.
Các gói của tất cả các người sử dụng được tậphợp lại trong một hàng đợi. Các
người sử dụng khác nhau có các Profile khác nhau do họ có số lượng các gói In
trong hàng đợi khác nhau.
Thuật toán RIO:
For arrival packet
If là gói In
Tính toán kích thước hàng đợi In trung bình avg
in

Else tính toán kích thước hàng đợi tổng avg
total

If là gói In
If min
in
≤ avg

in
< max
in

Tính toán xác suất P
in
;
với P
in
là xác suất loại bỏ gói
else if max
in
≤ avg
in

Loại bỏ gói này
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
If là gói Out
If min
out
≤ avg
total
< max
out

Tính toán xác suất P
out
;
với P
out

là xác suất loại bỏ gói này
else if max
out
≤ avg
total

loại bỏ gói này
Bằng cách lựa chọn các tham số để thể hiện thuật toán, RIO có thể đối xử
với các gói Out khác nhau tại thời điểm tắc nghẽn và ưu tiên loại bỏ gói khi có tắc
nghẽn xảy ra.
Nhìn chung mỗi khi có gói đến router sẽ kiểm tra xem gói đó là gói In hay
gói Out. Nếu là gói In router sẽ tính toán avg
in
(kích thước hàng đợi trung bình
của gói In), nếu nó là các gói Out, router sẽ tính toán các avg
total
(kích thước
hàng đợi trung bình của các gói Out). Xác suất loại bỏ các gói In phụ thuộc vào
avg
in
, xác suất loại bỏ các gói Out phụ thuộc vào avg
out
.
Hoạt động của thuật toán RIO
3 tham số min
in
, max
in
, P
max(in)

, định nghĩa khoảng hoạt động bình thường
của RIO [0 ,min
in
), pha thứ 2: tránh tắc nghẽn [min
in
, max
in
) và điều khiển tắc
nghẽn [max
in
, ∞) đối với các gói In. Tương tự với các gói Out ta lựa chọn được
các tham số: min
out
,max
out
, P
max(out)
.
Việc phân biệt đối xử các gói Out được thực hiện bằng việc lựa chọn các
tham số: Lựa chọn min
out
< min
in
thì router sẽ loại bỏ các gói Out sớm hơn nhiều
so với các gói In. Trong pha tránh tắc nghẽn thì xác suất loại bỏ các gói out sẽ
lớn hơn khi thiết lập P
max(out)
>P
max(in)
. Thứ 3: các gói Out sẽ tiến tới pha điều

khiển tắc nghẽn sớm hơn các gói In khi thiết lập max
out
<<max
in
. Tóm lại RIO sẽ
loại bỏ các gói out đầu tiên ngay khi có dấu hiệu của tắc nghẽn xảy ra, và nó sẽ
loại bỏ toàn bộ các gói Out khi có tắc nghẽn. Trong thuật toán RIO trên thì sử
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
dụng avg
total
để quyết định xác suất loại bỏ các gói Out, router có thể duy trì kích
thước hàng đợi bé và khả năng thông qua cao mà không ảnh hưởng tới các lưu
lượng trộn trong đó.
Trong lược đồ điều khiển tắc nghẽn thì việc tăng hay giảm tốc độ gửi của
tập hợp các luồng là một vấn đề quan trọng. Tại các router đầu vào, thuật toán
điều khiển việc tăng hay giảm các luồng lưu lượng đầu vào dựa trên các thông
tin điều khiển QoS. Tần số đưa ra quyết định này phụ thuộc vào việc thay đổi
tốc độ có thường xuyên hay không. Trong lược đồ này khi các router đầu vào
nhận được các gói điều khiển từ router đầu ra, nó sẽ thay đổi tốc độ theo các
chức năng quyết định và các thuật toán tăng, giảm. Do đó tần số quyết định của
E2E-CCS được quyết định bởi việc các router đầu vào có thường xuyên gửi các
gói điều khiển QoS hay không. Tần số quyết định hay T được thiết lập tới giá trị
RTT ngắn nhất giữa các router đầu vào và đầu ra trong trường hợp không có tắc
nghẽn.
3.3.7 Thuật toán RIO thích ứng (ARIO)
Một phần mở rộng của thuật toán RIO là thuật toán ARIO (Adaptive RIO)
được dùng trong quản lý hàng đợi tích cực. Thuật toán ARIO là sự pha trộn của
hai thuật toán ARED và RIO. Mục đích chính của thuật toán ARIO là:
 Đơn giản hoá cấu hình của các router hỗ trợ DS bằng việc làm giảm
bớt các vấn đề trong việc thiết lập các tham số trong hầu hết các thuật

toán ARED hiện thời.
 Tự động biên dịch các tham số của QoS thành bộ các tham số của
Router.
 Cố gắng giữ cho độ chiếm giữ hàng đợi ổn định xung quanh giá trị
cuối cùng bên dưới các tải mạng nặng.
ARED là sự mở rộng trực tiếp của các thuật toán ARED và RIO-C. Cũng
giống như thuật toán ARED, ARIO cần một tham số đầu vào đơn, trễ cần đạt
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
tới, được biên dịch thành bộ các tham số router được yêu cầu. Tính năng này có
thể rất hữu ích đối với việc cung cấp các dịch vụ phân biệt: cấu hình các router
trong nhóm các trễ, trọng số QoS có liên quan trực tiếp tới việc định rõ dịch vụ
và các yêu cầu khách hàng nên nó sẽ đơn giản nhóm các tham số như các mức
ngưỡng hàng đợi, xác suất loại bỏ các gói, trọng số trung bình.
ARIO cố gắng để đạt được khả năng thông qua lớn nhất trong khi vẫn
kiểm soát được độ trễ trong biên giới đã định trước, các khoảng thời gian có thể
đoán trước được trong khi tải hàng đợi vẫn cao. Trong ngữ cảnh của dịch vụ
phân biệt, phải nhận thức đúng các gói được đánh dấu với các trường
Precedence tương ứng.
Do đó thuật toán ARIO dựa trên hai nguyên lý: Thứ nhất là việc sử dụng
thuật toán ARED cho mỗi mức Precedence trong lớp AF (hàng đợi vật lý).
Nguyên lý thứ hai là sử dụng các mức ngưỡng chồng chéo hoàn toàn cho tất cả
các Precedence.
Một số diểm chính trong ARED vẫn được giữ nguyên trong ARIO:
 Các tham số tương thích, max
p
thay đổi trong khoảng 0.001đến 0.5
 Mức ngưỡng thấp nhất min
th
được tính toán như một chức năng của
độ trễ theo yêu cầu dt và khả năng kết nối C (gói/s) có mức biên thấp

nhất là 5 gói. Do đó min
th
=max(5,d
t
.C/2). Mức ngưỡng cao nhất max
th

được gắn cố định là giá trị 3min
th
.
 w
q
cũng được tính toán trong cùng nhóm băng thông kết nối như w
q
=1-
exp(-1/C).
 Biến số của RED được sử dụng thông qua, khoảng cách max
th
≤avg ≤
2max
th
.
 Chức năng thích ứng của max
p
sử dụng luật AIMD. Mục đích của luật
này để tránh sự thay đổi mạnh trong giá trị max
p
do đó tránh được dao
động mạnh trong kích thước hàng đợi.
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán

 Nếu tải thay đổi bất ngờ, kích thước hàng đợi trung bình có thể tìm ra
khoảng thời gian hợp lý. Các nhân tố tăng và giảm α và β được gắn
cố định do đó kích thước hàng đợi trung bình có thể khôi phục lại
được trong khoảng thời gian ít hơn 25s.
Quyết định thiết kế ARIO nhằm mục đích thoả mãn độ trễ theo yêu cầu,
đồng thời giữ cho kích thước hàng đợi trung bình trong khoảng (q
low
,q
high
), khi
q
low
= min
th
+0.4 (max
th
- min
th
) và q
high
= min
th
+0.6 (max
th
-min
th
).
Để hiểu rõ hơn ta xét hàng đợi RIO-C với các mức ngưỡng không bị
chồng chéo. Các precedence là 1(In) và 2(Out). Nếu tổng tốc độ In thấp được so
sánh với khả năng kết nối mà ở dưới mức tải nặng thì các mức ngưỡng Out và

xác suất loại bỏ gói tin sẽ được kích hoạt để giữ kích thước hàng đợi trung bình
trong khoảng min
2
và max
2
. Tuy nhiên hầu hết lưu lượng là In nên kích thước
hàng đợi trung bình sẽ là giá trị trong khoảng min
1
và max
1
. Do đó các mức
ngưỡng so le có thể đem lại các kích thước hàng đợi trung bình khác nhau cho
các hỗn hợp lưu lượng khác nhau. Đây cũng chính là mặt hạn chế cho việc dự
đoán trước trễ của các hàng đợi khi có trễ toàn bộ hay một phần. Do đó yêu cầu
phải sử dụng cùng các mức ngưỡng cho tất cả các Precedence. Theo cách này cơ
chế thích ứng của ARED nên đẩy kích thước hàng đợi trung bình tới cùng một
khoảng thời gian biên không quan tâm tới trộn lưu lượng.
Tuy nhiên việc sử dụng các mức ngưỡng có liên quan tới sự phân biệt.
RIO-C phân biệt loại bỏ theo 3 cách: phân biệt các mức ngưỡng, phân biệt các
chức năng loại bỏ, và kết hợp các hàng đợi ảo. Trong ARIO có sử dụng các mức
ngưỡng chồng chéo nên ARIO không theo cách thứ nhất mà chỉ sử dụng theo
hai cách dưới.
Thuật toán ARIO:
For mỗi gói đến có giá trị precedence I ;
For mỗi giá trị precedence j = i, i+1,2,….n
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
Tính toán lại giá trị avg
j
; avg
(j)

← avg
(j)
* (1- w
q
) + q
(j)
* w
q

mỗi thời gian interval tính toán lại max
p
(j)
:
if avg
(j)
> q
high
and max
p
(j)
< 0.5
tính toán tác nhân tăng:
α← min(0.001 ; max
p
(j)
/4)
tăng max
p
(j)
: max

p
(j)
← max
p
(j)
+ α
if j < n then: max
p
(j)
← min(max
p
(j)
, max
p
(j+1)
)
else if avg
(j)
< q
low
and max
p
(j)

>0.01
giảm max
p
(j):
max
p

(j)
← max
p
(j)
* β
if j > 0 then: max
p
(j)
← max(max
p
(j)
, max
p
(j-1)
)
if min
th
< avg
(i)
≤ max
th

Tính toán p
(i)
như trong RED
loại bỏ các gói có xác suất p
(i)

else if max
th

< avg
(i)
≤ 2* max
th

Tính toán p
gentle
(i)
như trong RED
loại bỏ các gói có xác suất p
gentle
(i)

else if avg
(i)
> 2 * max
th

loại bỏ gói này
Các tham số cố định và các biến:
avg
(i)
: kích thước hàng đợi trung bình cho precedence thứ i (bộ
đếm sẽ đếm số lượng các gói với giá trị precedence từ 1 tới i)
max
p
(i)
: xác suất loại bỏ gói có precedence i khi giá trị avg
(i)
=

max
th

p
(i)
: xác suất loại bỏ gói cho precedence i
p
gentle
(i)
: xác suất loại bỏ gói có precedence i trong miền gentle
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
interval : 0.5 s
β (nhân tố tăng) : 0.9
Lưu ý rằng max
p
(i)
≤ max
p
(i+1)
,

i

{1,2,…n-1}
3.3.8 Phát hiện sớm ngẫu nhiên cân bằng FRED
RED không chắc chắn rằng lưu lượng cùng được chia sẻ băng tần công
bằng. Trên thực hiện tế, RED không đối xử công bằng với các luồng TCP tốc đọ
thấp bởi RED ngẫu nhiên loại bỏ các gói khi vượt quá mức ngưỡng max, do đó
mỗi gói trong số các gói đó có băng thông nhỏ hơn băng thông được chia sẻ
công bằng. Khi các luồng TCP có quá nhiều gói bị mất thì chúng cũng yêu cầu

nhiều hơn các chức năng cửa sổ điều khiển tắc nghẽn,do đó tốc độ sẽ càng thấp
hơn. FRED là một biến thể của RED để giảm tính không công bằng trong phân
bố băng thông.
FRED hoạt động giống như RED nhưng có thêm một số chức năng mới:
FRED đưa ra thêm hai tham số max
q
và min
q
là số lượng các gói lớn nhất và nhỏ
nhất trong mỗi luồng được phép đưa vào hàng đợi. Ngoài ra FRED còn có thêm
biến toàn cục avgcq, đánh giá kết quả đếm bộ đệm trên mỗi luồng trung bình.
Khi một luồng có số lượng các gói trong hàng đợi nhỏ hơn avgcq thì chúng sẽ
được ưu tiên hơn. FRED sẽ duy trì số đếm qlen của các gói được đệm cho mỗi
luồng mà đã có bất kì gói nào đó trong bộ đệm. FRED duy trì biến strike để đếm
thời gian mà một luồng trượt đáp ứng với các thông báo tắc nghẽn. FRED cho
phép mỗi kết nối được đưa vào bộ đệm số lượng các gói có giá trị min
q

không bị loại bỏ. Tất cả các gói thêm vào đều bị loại bỏ bởi RED. Các gói đến
được chấp nhận nếu kết nối có ít hơn min
q
được đệm và kích thước hàng đợi
trung bình nhỏ hơn max
th
. Thông thường một kết nối TCP gửi ít hơn 3 gói
ngược trở lại: hai gói cho trễ ACK, một gói để điều khiển tăng kích thước cửa
sổ. Do đó min
q
được thiết lập từ 2 đến 4 gói tin.
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán

Khi số lượng các kết nối tích cực nhỏ(N<< min
th
/min
q
), FRED cho phép
mỗi kết nối được đệm min
q
các gói mà không bị loại bỏ. Nó cũng tăng từ giá trị
min
q
tới kích thước hàng đợi trung bình trên một kết nối (avgcq). Một cách đơn
giản, nó tính toán giá trị này bằng cách phân chia kích thước hàng đợi trung bình
bằng việc sử dụng số lượng các kết nối tích cực. Một kết nối là tích cực khi nó
có các gói được đưa vào trong bộ đệm và kết nối thu động trong trường hợp
ngược lại.
FRED không bao giờ để các luồng tới bộ đệm có số lượng các gói lớn hơn
max
q
gói tron bộ đệm, và đếm thời gian mỗi luồng để cố gắng vượt quá giá trị
max
q
trong biến strike của mỗi luồng. Các luồng có giá trị strike cao đều không
được cho phép tới hàng đợi có nhiều hơn avgcq gói. Vì vậy chúng không cho
phép sử dụng nhiều gói hơn luồng trung bình. Điều này cho phép thích ứng các
luồng để gửi các bó gói. RED ban đầu định giá kích thước hàng đợi trung bình
tại mỗi gói đến. Trong FRED trung bình được thực hiện tại các gói đến và đi.
Do đó tần số lấy mẫu là giá trị lớn nhất của tốc độ đầu vào và tốc độ đầu ra.
FRED không chỉnh sửa độ trung bình nếu gói tới bị loại bỏ trừ khi kích thước
hàng đợi tạm thời bằng 0.
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán

3.4 So sánh các kĩ thuật quản lý bộ đệm
3.4.1 So sánh RED và Tail Drop
Thuật toán Tail Drop hoạt động đơn giản hơn so với thuật toán RED. Tail
Drop không có sự chia sẻ giữa các luồng khác nhau. Không có các chính sách gửi
nhiều gói để nâng cao hiệu năng dịch vụ.
So sánh xác suất loại bỏ gói lưu lượng đầu vào dạng bó :
Khi lưu lượng đầu vào dưới dạng đầu vào dưới dạng bó, quá trình các gói
đến dưới dạng quá trình poisson có tốc độ đến là λ và các bó đến có số lượng gói là
B. Thời gian phục vụ có phân bố mũ là µ
-1
. Tải được cung cấp là p = Bλ/μ. Số
lượng các gói được đệm trong hàng đợi có dạng chuỗi Markov với phân bố dừng là
π.

Hình 3.16 : So sánh xác suất loại bỏ gói của Tail Drop và RED
Ta thấy trong điều kiện tải cung cấp thấp thì xác suất loại bỏ gói của RED
cao hơn so với Tail Drop, khi tải cung cấp tăng thì xác suất loại bỏ gói gần như
nhau. Thực chất Tail Drop đơn giản hơn thuật toán RED.
So sánh độ trễ
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
Lưu lượng đầu vào dạng bó có tốc độ λ, quá trình đến là quá trình poisson.
Phân phối dừng của hai phương pháp :
Tail Drop :
Π
TD
(k) =
k
k
p
pp




1
1
)1(
Với

k= 0,….K
RED :
Π
RED
(k) =









1
00
1
0
))(1(
))(1(
k
l

K
k
k
k
l
k
ldp
ldp
Với

k= 0,….K
Ta thấy thuật toán RED có ưu điểm là giảm trễ latency nhưng vẫn làm tăng
jitter. Trễ biến thiên trong RED, còn đối với Tail Drop thì khi p tăng thì độ trễ cũng
tăng, tuy nhiên trễ không biến thiên nhiều.
Tail Drop không có sự ưu tiên lưu lượng nên ngay cả khi có luồng lưu lượng
quan trọng đến hàng đợi mà kích thước hàng đợi vượt quá giá trị lớn nhất thì gói
đó vẫn bị loại bỏ. Nó quản lý kích thước hàng đợi không linh hoạt như trong thuật
toán RED. Khi đầu ra của hàng đợi đầy, Tail Drop sẽ hoạt động, các gói sẽ được
loại bỏ cho tới khi tắc nghẽn được đánh giá lại và kích thước hàng đợi giảm xuống.
Còn RED sẽ tránh ảnh hưởng xấu của Tail Drop trong các phiên TCP khi tắc
nghẽn bị tạo ra bởi đa luồng TCP tích cực.
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán

Hình 3.16: Hàm phân bố dừng của Tail Drop và RED với p=2
3.4.2 So sánh thuật toán RED và thuật toán Blue
Một vấn đề quan trọng trong quản lý hàng đợi bằng thuật toán Blue là điều
khiển tắc nghẽn có thể được thể hiện bởi kích thước hàng đợi nhỏ nhất. Trong khi
đó thuật toán RED thì lại yêu cầu kích thước hàng đợi lớn hơn cho cùng một mục
đích. Do có kích thước bộ đệm nhỏ hơn nên Blue có trễ đầu cuối qua mạng nhỏ
hơn so với sử dụng thuâtk toán RED, do đó nó cải thiện được nhược điểm của

thuật toán điều khiển tắc nghẽn. Thêm vào đó các yêu cầu kích thước bộ đệm nhỏ
hơn cho phép có nhiều bộ nhớ hưon để phân phối cho các gói có độ ưu tiên cao và
giải phóng bộ nhớ trong router để cho các chức năng khác như : lưu trữ các bảng
định tuyến lớn. Blue cho phép các router thế hệ sau hoạt động tốt thậm chí trong cả
trường hợp tài nguyên bộ nhớ bị giới hạn. Tuy nhiên thuật toán Blue ít nhạy với
các chọn lựa tham số hơn là đối với RED.
3.4.3 So sánh các thuật toán RED
Chỉ so sánh RED và ARED để thấy được ưu điểm của ARED so với RED
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
Thuật toán ARED là phiên bản tiếp theo của RED do đó ARED khắc phục
được mặt hạn chế của RED :
 RED quản lý hàng đợi dựa trên kích trước trung bình của hàng đợi
nên kích thước trung bình hàng đợi thay đổi theo các mức tắc nghẽn và quá trình
thiết lập các tham số. Điều này được thể hiện bằng việc khi tắc nghẽn xảy ra nhẹ
hay max
p
cao thì kích thước hàng đợi gần tới giá trị min
th
. Khi tắc nghẽn trong
mạng nặng hay kích thước hàng đợi trung bình bằng hoặc lớn hơn max
th
. Kết quả
trễ hàng đợi trong thuật toán RED phụ thuộc vào tải lưu lượng và các tham số, do
đó mà trễ hàng đợi không thể đoán trước.
 Một nhược điểm nữa của RED là khả năng thông qua trong thuật toán
này cũng phụ thuộc nhiều vào tải lưu lượng và các tham số.
Do thuật toán ARED quản lý kích thước trung bình của hàng đợi dựa trên
việc tương thích giá trị max
p
sao cho kích thước trung bình hàng đợi thay đổi trong

khoảng min
th
và max
th
nên khắc phục được sự phụ thuộc của trễ hàng đợi và khả
năng thông qua của hàng đợi vào các tham số và tải lưu lượng.
3.5 Tổng kết chương
Chương 3 giói thiệu sơ lược về các thuật toán quản lý hàng đợi. Các thuạt
toán quản lý hàng đợi bao gồm thuật toán Blue, Tail Drop, thuật toán RED. Mỗi
thuật có các ưu điểm và nhược điểm riêng, phù hợp với các tham số lưu lượng
khác nhau nên khi sử dụng các thuật toán nên tìm hiểu kĩ về các đặc điẻm của từng
loại lưu lượng để việc sử dụng đạt hiệu quả. Nhình chung các thuật toán thì thuật
toán RED vẫn có ưu điểm hơn cả. Điều này được thể hiện việc thuật toán RED tính
toán sự thay đổi của kích thước hàng đợi để loại bỏ gói và phát hiện tắc nghẽn.
Trong thuật toán RED còn phân ra thành nhiều thuật toán khác. Ở chương này đề
cập tới một số thuật toán đó : WRED, RIO, ARED….Có sự so sánh giữa các thuật
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật toán
toán này để tìm ra thuật toán tối ưu nhất trong việc quản lý hàng đợi trong điều
khiển tắc nghẽn


×