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

Tài liệu Các phương pháp điều khiển tắc nghẽn pptx

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 (318.07 KB, 17 trang )



Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

34
Chương 3
CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TẮC NGHẼN
3.1 Giới thiệu chương
Trong chương này, chúng ta sẽ hệ thống hóa lại một số phương pháp điều
khiển tắc nghẽn điển hình nhất, phân tích đánh giá chúng dựa trên cơ sở những tiêu
chí đã đề xuất trong chương 2. Đó là các phương pháp điều khiển tắc nghẽn truyền
thống như DECbit, và một vài phương pháp mới như EWA, ETCP, FBA- TCP, QS-
TCP để cải thiện hiệu suất hoạ
t động mạng. Trong đó đặc biệt đi sâu vào phương
pháp điều khiển tắc nghẽn sử dụng TCP phổ biến hiện nay (đặc biệt là trong mạng
Internet) và XCP là ứng cử viên cho mạng dựa trên cơ sở IP sau này.
3.2 Một số phương pháp điều khiển tắc nghẽn truyền thống
3.2.1 DECbit

DECbit là một trong các mô hình điều khiển tắc nghẽn sớm nhất. Phương
pháp này sử dụng phản hồi Nn. Trong DECbit, mạng cung cấp thông tin phản hồi
cho phép phía gởi điều chỉnh lưu lượng vào mạng. Các bộ định tuyến giám sát kích
thước trung bình của hàng đợi trong khoảng thời gian được định nghĩa. Nếu độ dài
trung bình của bộ đệm vượt quá ngưỡng (threshold) thì bộ định tuyến thiết lập mộ
t
bit chỉ dẫn chống tắc nghẽn (gọi là DECbit) trong các gói tin để thông báo sự tắc
nghẽn của mạng. Phía nhận gởi lại bit này trong thông báo nhận được đến phía gởi.
Phía gởi giám sát các bit chỉ dẫn chống tắc nghẽn này để điều chỉnh kích thước của
cửa sổ gởi như sau: Nếu xảy ra tắc nghẽn thì giảm đi theo phép nhân (nhân với
0,875), trong trường hợp ngược lại thì kích th


ước cửa sổ được tăng lên theo phép
cộng.
DECbit là phương pháp khá đơn giản và hữu hiệu. Tuy nhiên, căn cứ vào các
tiêu chí nêu trên thì thuật toán này không đạt được tính hiệu quả vì lưu lượng bị gạt
bỏ đáng kể (qua hệ số 0,875) dẫn đến thông lượng rất thấp. Ngoài ra, các tiêu chí về


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

35
tính bình đẳng, độ hội tụ, độ mịn điều khiển cũng không đạt được. Thuật toán
không phù hợp cho các ứng dụng mới trong NGN.
3.2.2 Điều khiển chống tắc nghẽn trong TCP
TCP (Transmission Control Protocol) [11] là giao thức phổ biến nhất hiện
nay cho truyền dữ liệu tin cậy trên Internet. Ngoài điều khiển chống tắc nghẽn ra,
nó còn thực hiện chức năng khôi phục dữ liệ
u đã mất và quản lý kết nối. Điều khiển
chống tắc nghẽn trong TCP thuộc loại điều khiển vòng kín phản hồi Nn, TCP dựa
vào mất gói để phát hiện tắc nghẽn. Nó có 2 cơ cấu để phát hiện ra mất gói. Đầu
tiên, khi gói được gởi, phía gởi TCP khởi tạo bộ định thời. Nếu bộ định thời hết
hiệu lực trướ
c khi gói được xác nhận, TCP xem như gói bị mất. Thứ 2, khi phía
nhận TCP nhận gói không đúng trật tự. Nó gởi xác nhận ACK cho gói mà nó nhận
gần nhất. Ví dụ, giả sử phía nhận nhận gói từ 1 đến 5, và gói 6 bị mất. Khi phía
nhận nhận gói 7, nó gởi dupack cho gói 5. Phía gởi TCP xét các sự tới của 3 bản sao
phúc đáp (3 dupack) như dấu hiệu của 1 gói mất.
Kết nối TCP qua 2 pha: khởi đầu chậm và pha AIMD. Hình 3.1 cho ta thấy quỹ đạ
o
điển hình của cửa sổ chống tắc nghẽn.

 Khởi đầu chậm: TCP đi vào mô hình khởi đầu chậm khi bắt đầu kết nối.
Trong suốt quá trình khởi đầu chậm, phía gởi tăng tốc độ gởi theo hàm mũ. Cụ thể,
khi bắt đầu khởi đầu chậm cửa sổ tắc nghẽn thiết lập là 1 đoạn, là MSS khởi tạo bởi
phía gởi trong suốt giai đoạn thiết lập kết nối. Do đó, phía gởi gởi 1 đoạn và đợi cho
tới khi phía nhận xác nhận nó. Một khi ACK đến phía gởi, phía gởi tăng cửa sổ
chống tắc nghẽn của nó bởi 1, gởi 2 đoạn, và đợi ACK tương ứng. Mỗi khi ack đến,
phía gởi có thể gởi 2 đoạn, 4 đoạn, gấp đôi lên dẫn đến tă
ng theo hàm mũ của cửa
sổ chống tắc nghẽn. TCP thoát khỏi khởi đầu chậm khi đoạn bị mất. Khi đó phía
gởi giảm cửa sổ tắc nghẽn đi 1 nửa và đi vào giai đoạn AIMD.


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

36
Cửa sổ
tắc
nghẽn
Thời gian
Khởi đầu
chậm (tăng
theo hàm mũ)
Cửa sổ bằng
1 khi hết thời
gian chở
AIMD
(tăng
tuyến
tính)

Cửa sổ giảm 1
nửa khi phát
hiện tắc nghẽn


Hình 3.1 Cửa sổ tắc nghẽn
 AIMD: Trong mô hình này, miễn là không có đoạn nào bị mất, phía gởi TCP
tăng cửa sổ tắc nghẽn của nó bởi 1 MSS mỗi RTT. Khi gói bị mất, TCP giảm cửa sổ
tắc nghẽn đi một nửa. Như kết quả, thông lượng biểu thị 1 dãy tăng cộng theo sau
bởi giảm nhân. Trạng thái này thường được xem như “TCP sawtooth” hình 3.1.
Điều khiể
n chống tắc nghẽn trong TCP có những nhược điểm cơ bản là:
• Thông tin phản hồi là Nn và vì vậy cửa sổ gửi luôn giảm đi một nửa khi xảy
ra tắc nghẽn là không thực sự hiệu quả.
• TCP không chia sẻ thông tin điều khiển, vì vậy các kết nối cùng một thời
điểm đến cùng một đích (một trường hợp thường xảy ra vớ
i lưu lượng web) sẽ phải
cạnh tranh, thay vì phối hợp để sử dụng băng thông mạng một cách hợp lý.
• Đối với mạng đa dịch vụ, thuật toán điều khiển chống tắc nghẽn của TCP
không đem lại tính bình đẳng cần thiết cho các ứng dụng.
• Đối với mạng có lưu lượng biến đổi động, biến đổi nhanh, điều khi
ển tắc
nghẽn của TCP tỏ ra bất ổn định và không hội tụ [5]


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

37
3.3 Một số phương pháp điều khiển tắc nghẽn mới

3.3.1 EWA (Explicit Window Adaptation) và FEWA (Fuzzy EWA)
Phương pháp EWA [10] (Explicit Window Adaptation) dùng thông báo một
cách rõ ràng đến phía gởi về băng thông còn khả dụng của các đường ra bằng cách
sử dụng cơ chế điều khiển lưu lượng giống như trong TCP để truyền thông tin phản
hồi từ
các bộ định tuyến đến phía gởi.
Sau mỗi khoảng đo i với thời gian tồn tại không đổi phụ thuộc vào băng
thông của tuyến mà router có khả năng EWA được nối, chẳng hạn, 10ms, router
với khả năng EWA đo độ dài hàng đợi hiện thời của nó Q
i
và tính toán độ dài hàng
trung bình hiện thời
i
Q .
i
i
QQ , và độ dài hàng trung bình trước đó
1−i
Q
được dùng
để tính toán cửa sổ gởi mới cho mỗi kết nối TCP đi qua router:
Cửa sổ gởi
(
)
{
}
MSSQBMSS
i
.log.,max
2


=
α
(3.1)
Trong đó, B là độ dài hàng lớn nhất trong router (tức là, tại cùng 1 thời điểm
nhiều nhất B+1 gói có thể lưu trữ và được chuyển đi trong router), MSS là kích cỡ
đoạn của tất cả các kết nối TCP đi qua router, và
α
là hệ số động được tính toán như
trong phần sau. B và Q
i
được biểu diễn theo số gói và MSS được biểu diễn theo số
byte. Biểu thức thuật toán trong (3.1) được giới thiệu để phản ánh kết nối TCP với
khởi đầu chậm và có thể gởi nhiều hơn 2 lần số đoạn trong khoảng thời gian vòng
truyền kế tiếp (RTT- Round Trip Time).
Hệ số
α
có thể thay đổi trong đẳng thức (3.1) được giới thiệu để sử dụng tốt
đường truyền nếu chỉ 1 vài kết nối TCP được truyền đoạn qua router.
α
được cập
nhật mỗi milli giây như sau:

(
)
==
i
Qf ,
αα




+
down
up
ωα
ωα
.
(3.2)
với

i
ii
QQQ
128
1
128
127
1
+=

(3.3)
Giá trị khởi tạo của hệ số sử dụng
α
được thiết lập là 1, tham số
up
ω
( để
tăng cộng) và
down

ω
(để giảm bằng cách nhân với
α
) được thiết lập lần lượt là 1/8 và
Nếu <
i
Q ngưỡng dưới
Nếu >
i
Q ngưỡng trên


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

38
31/32, độ dài hàng đợi ngưỡng dưới và ngưỡng trên trung bình được thiết lập đến
20% và 60% của độ dài hàng B.
Cửa sổ gởi đã tính toán được truyền đến mỗi TCP phía gởi bằng cách hiệu
chỉnh cửa sổ thông báo phía nhận trong xác nhận TCP. Router (có khả năng TCP)
chỉ giảm cửa sổ khi cần thiết, nhưng không tăng để duy trì điều khiển luồng điểm
nối điểm củ
a TCP.
Cửa sổ gởi = min{cửa sổ gởi, cửa sổ thông báo phía nhận} (3.4)
Với thông tin phản hồi tắc nghẽn rõ, TCP phía gởi có thể phản ứng lại thích
hợp với tải hiện thời trong router hơn nó có thể với cơ cấu khác, chẳng hạn, ECN
(Explicit Congestion Notigication) [9] hay RED (Random Early Detection) [4].
EWA cho thấy các kết quả hoạt động tốt trong các bộ định tuyến có tải lớn,
nhưng có một số v
ấn đề trong các bộ định tuyến hoạt động ở dưới mức tải trong hầu

hết thời gian. Lý do nằm ở việc tính toán α, nó đặt quá nhiều vào trọng tải trước đó
của bộ định tuyến, vì vậy không thể phản ứng lại đủ nhanh đối với những thay đổi
lớn của các điều kiện tải.
Chính vì hạn chế đó EWA mờ (FEWA – Fuzzy EWA) [10] đ
ã phát triển,
khác với EWA cũ chủ yếu ở việc tính toán α. FEWA sử dụng một bộ điều khiển mờ
để tính α dựa theo giá trị hiện tại và một giá trị gần nhất của bộ đệm bộ định tuyến.
Với các thay đổi này trong việc tính toán phản hồi bên trong bộ định tuyến, hiệu
suất từ đầu cuối đến đầu cuối có thể
đạt được lớn hơn so với EWA.
3.3.2 ETCP (Enhanced TCP)
Ý tưởng của ETCP [10] là sử dụng phản hồi FEWA (dựa trên sự điều khiển
thích ứng lưu lượng-AWND) để tính cửa sổ gởi mới (SWND). ETCP phía gởi
không thực hiện chu trình bắt đầu chậm (slow start) và tránh tắc nghẽn (congestion
avoidance), mà bắt đầu với 1 cửa sổ gởi khởi tạo và cập nhật cửa sổ gởi theo các
cách sau:
- Nếu cửa sổ gởi hiện tại lớn hơn cửa sổ điều khiển lưu lượng thì cửa sổ gởi
mới được thiết lập bằng cửa sổ điều khiển lưu lượng:
AWNDSWND




Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

39
- Nếu cửa sổ gởi hiện tại nhỏ hơn cửa sổ điều khiển lưu lượng thì cửa sổ gởi
được tính như sau:
(

)
SWND
SWNDAWNDSWNDSWND
/1
/.←
Với tính toán này cửa sổ của phía gởi ETCP được tăng theo hàm mũ để tiệm
cận với cửa sổ điều khiển lưu lượng. Với các thay đổi nhỏ này có thể thu được sự
cải thiện đáng kể về khả năng thực hiện.
3.3.3 XCP (Explicit Control Protocol)
XCP [6] là giao thức truyền thông liên quan đến TCP. Không như TCP, XCP
cung cấp phản hồi chống tắc nghẽn rõ từ router có khả nă
ng XCP đến XCP phía
gởi. Do đó, XCP phía gởi có thể điều khiển cửa sổ gởi thích hợp hơn để đạt được
tính hiệu quả, bình đẳng, điều khiển tắc nghẽn có thể mở rộng qui mô và ổn định
trong toàn mạng.
Thuật toán điều khiển chống tắc nghẽn phản hồi trong router có khả năng
XCP được phân thành 2 phần: thuật toán hiệu quả và bình đẳng. Vớ
i phương pháp
này, tính hiệu quả và tính bình đẳng giữa các kết nối XCP trong 1 router có thể
được quản lý 1 cách tách biệt nhau.
3.3.3.1 Mào đầu chống tắc nghẽn.
Mỗi gói dữ liệu của 1 kết nối XCP mang theo phần mào đầu chống tắc nghẽn
(CH) hình 3.2. Hai giá trị đầu tiên, H_cwnd và H_rtt, được thiết lập bởi XCP phía
gởi là cửa sổ chống tắc nghẽn hiện thời và RTT ước lượng hiện thời và giữ nó
không đổi trong su
ốt quá trình truyền thông. Giá trị thứ ba, H_feedback, được dùng
cho phản hồi chống tắc nghẽn của router. Nó được khởi tạo bởi XCP phía gởi đến
giá trị tăng theo yêu cầu cửa sổ chống tắc nghẽn và có thể được điều chỉnh bởi
router dựa vào 2 giá trị đầu và thuật toán điều khiển tính hiệu quả và bình đẳng thực
hiện trong router.







Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

40
H_cwnd
H_rtt
H_feedback

Hình 3.2 Header chống tắc nghẽn trong gói dữ liệu/xác nhận XCP
Nếu XCP phía gởi có tốc độ gởi yêu cầu
γ
, giá trị khởi tạo cho H_feedback
trong mào đầu có thể tính toán như sau:

()
/._ cwndrttfeedbackH −=
γ
(3.5)
Trong gói đầu tiên của kết nối XCP, H_feedback được khởi tạo bằng 0, khi
XCP phía gởi có RTT ước lượng hiện thời không hợp lệ trong đường dẫn.
XCP phía nhận sao chép mào đầu chống tắc nghẽn của gói dữ liệu đến sang
xác nhận ACK và gởi xác nhận bao gồm mào đầu chống tắc nghẽn đến XCP phía
gởi. Sau khi xác nhận ACK đến nơi, XCP phía gởi sửa lại cửa sổ chống tắc nghẽn
m

ới theo phản hồi router chứa trong mào đầu chống tắc nghẽn:

},_max{ sfeedbackHcwndcwnd
+
=
(3.6)
với s là kích cỡ gói.
3.3.3.2 Bộ điều khiển chống tắc nghẽn.
Như đã đề cập, bộ điều khiển chống tắc nghẽn trong router có khả năng XCP
được chia thành điều khiển hiệu quả (EC) và điều khiển bình đẳng (FC). Nhiệm vụ
của bộ điều khiển hiệu quả là tận dụng kết nối lớn nh
ất, tốc độ mất gói nhỏ nhất và
hàng của đường dẫn ổn định. Chỉ đề cập đến EC khi lưu lượng đường truyền ổn
định và không quan tâm sự bình đẳng giữa các luồng có lưu lượng ổn định. Đây là
nhiệm vụ của bộ điều khiển bình đẳng. Dùng thông tin phản hồi chống tắc nghẽn
trên mỗi kết nối hiện thời đượ
c tính toán bởi EC, FC tính thông tin phản hồi chống
tắc nghẽn trên mỗi gói hiện thời cho mỗi luồng. Thông tin chống tắc nghẽn được
chứa trong trường H_feedback của mào đầu chống tắc nghẽn trong tất cả các gói và
truyền lại cho mỗi XCP phía gởi.
/số
g
ói tron
g
cửasổ
t
ắcn
g
hẽn



Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

41
Với mỗi kết nối, router duy trì bộ định thời điều khiển được thiết lập xấp xỉ
đến giá trị RTT ước lượng trung bình của XCP phía gởi trên kết nối đó. Sau khi hết
thời gian chờ (time-out) của bộ định thời điều khiển mỗi luồng, EC và FC được
dùng để tính giá trị hiện thời của phản hồi điều khiển chống tắc ngh
ẽn cho luồng
XCP đi qua đường dẫn này. Các thuật toán điều khiển chống tắc nghẽn và điều
khiển bình đẳng của bộ định tuyến XCP có đặc điểm là không đòi hỏi thông tin
trạng thái của mỗi luồng. Thay vào đó, bộ định tuyến khai thác thông tin lưu lượng
tổng bằng cách tích luỹ thông tin từ tất cả các gói truyền qua bộ định tuyến trong
một khoảng thời gian nh
ất định.
Trong phần sau, biểu thức toán học của phép tính EC và FC được trình bày.
 Bộ điều khiển hiệu quả (EC)
Mục đích của bộ điều khiển hiệu quả là tăng tính sử dụng đường truyền trong
khi tối thiểu hóa tốc độ mất gói và hàng đợi ổn định. Nó chỉ xét lưu lượng tổng và
không chú ý đến tính hiệu quả cũng như luồng mà gói có liên quan.
EC tính số byte mà lưu lượng tổng tăng hay giảm theo mong muốn trong
khoảng thời gian điều khiển (RTT trung bình). Phản hồi tổng
φ
(tính theo byte)
được tính trong mỗi khoảng điều khiển:

QSd
β
α

φ

=
(3.7)
Với d là RTT ước lượng trung bình cho kết nối, S là băng thông dự trữ (spare
bandwidth) của đường truyền được định nghĩa là hiệu số giữa tốc độ lưu lượng vào
và dung lượng đường truyền. Và Q là kích cỡ hàng ổn định của đường truyền (tính
theo bytes) với kích cỡ hàng không tiêu hao trong thời gian trễ truyền (đi và về). Q
được ước tính như là giá trị nhỏ nhất trong tất cả kích cỡ hàng bởi vài gói. α và
β là
tham số hằng có giá trị lần lượt là
4.0
=
α

226.0
=
β
trong [6]. Phản hồi chống
tắc nghẽn tổng
φ
phải tỉ lệ với S, bởi nếu đường truyền sử dụng khôg đúng mức
(S>0) hay tắc nghẽn (S<0), thông tin phản hồi dương hay âm phải được gởi đến
XCP phía gởi. Nhưng
φ
phải tỉ lệ với –Q để tiêu hao hàng. Chẳng hạn, nếu tốc độ
lưu lượng đầu vào bằng dung lượng đường truyền, tức là, S=0, phản hồi chống tắc


Chương 3: Các phương pháp điều khiển tắc nghẽn

www.4tech.com.vn

42
nghẽn tổng
φ
phải là giá trị âm để giảm số gói tại hàng. Đẳng thức (3.7) đảm bảo
rằng phản hồi chống tắc nghẽn tổng
φ
của đường truyền tỉ lệ với S và –Q.
Để đạt được tính hiệu quả, chúng ta phân bố phản hồi tổng đến từng gói qua
H_feedback. EC chỉ phân phối với trạng thái tổng, nó không quan tâm đến gói nào
có phản hồi và mỗi luồng riêng thay đổi cửa sổ chống tắc nghẽn bao nhiêu. Tất cả
các yêu cầu của EC là lưu lượng tổng phải thay đổi 1 lượng
φ
trong khoảng thời
gian điều khiển. Làm thế nào chúng ta chia phản hồi chính xác giữa các gói (và giữa
các luồng) chỉ ảnh hưởng đến tính bình đẳng, và đó là công việc của bộ điều khiển
bình đẳng.
 Bộ điều khiển bình đẳng XCP
Công việc của bộ điều khiển bình đẳng (FC) là chia nhỏ phản hồi đến các gói
riêng rẻ để đạt được tính bình đẳng. FC dựa vào nguyên lý gi
ống như TCP dùng để
hội tụ đến bình đẳng, gọi là tăng cộng giảm nhân (AIMD). Do đó, chúng ta muốn
tính toán phản hồi trên mỗi gói theo nguyên lý:
- Nếu
φ
>0, lưu lượng của tất cả các luồng tăng giống nhau.
- Nếu
φ
<0, lưu lượng của một luồng giảm tỉ lệ với lưu lượng hiện thời.

Nguyên lý này bảo đảm độ hội tụ đến tính bình đẳng liên tục nếu
φ
khác 0.
Nhưng nếu tính hiệu quả là gần tối ưu, tức là,
0

φ
, sự hội tụ có thể không được
đảm bảo. Để ngăn ngừa điều này, khái niệm băng thông xáo trộn (bandwidth
shuffling) được dùng trong mỗi khoảng điều khiển, một lượng nhỏ lưu lượng h với:

}.,0max{
φγ
−= yh (3.8)
với hằng số
1.0=
γ
và lưu lượng vào y trong RTT trung bình, được phân bố lại theo
nguyên lý AIMD trên tất cả các luồng.
Với luồng
i
phản hồi chống tắc nghẽn mỗi gói H_feedback
i
có thể được xem như là
sự kết hợp tuyến tính của phản hồi dương p
i
và phản hồi âm n
i:

iii

npfeedbackH

=
_ (3.9)
Trong khoảng điều khiển đơn, p
i
và n
i
được tính toán bằng cách dùng các giá trị


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

43

{
}

+
=
i
ii
p
cwndH
SrttH
d
h
_
._

.
0,max
φ
ξ
(3.10)

{
}


+
=
i
n
Sd
h
.
0,max
φ
ξ
(3.11)
p
i
và n
i
có thể được tính toán như sau:

i
ii
pi

cwndH
SrttH
p
_
._
.
2
ξ
= (3.12)

iini
SrttHn ._.
ξ
=
(3.13)
Các công thức trên được chứng minh trong [6]. Trong XCP, bộ điều khiển
hiệu quả và bình đẳng được tách riêng. Đặc biệt, bộ điều khiển hiệu quả EC dùng
quy tắc MIMD, tăng mức lưu lượng tỉ lệ với băng thông dự trữ trong hệ thống (thay
vì tăng 1 MSS/RTT/luồng như TCP). Điều này cho phép XCP nhanh chóng có được
băng thông dự trữ dương ngay cả trên đường truyền dung lượng lớ
n. Bộ điều khiển
tính bình đẳng FC dùng quy tắc AIMD, hội tụ đến tính bình đẳng. Do đó, việc tách
cho phép mỗi bộ điều khiển dùng các quy tắc điều khiển thích hợp.
Thông thường, nếu XCP được dùng thì mất gói là rất hiếm. Nhưng nếu mất gói xảy
ra, quá trình phát lại trong XCP phía gởi giống trong TCP.
3.3.3.3 Tính thực tế của XCP
Thực hiện XCP trong hệ thống đầu cuối là tương đối
đơn giản. Chỉ thay đổi
1 ít trong mã nguồn của TCP phía gởi và TCP phía nhận để làm cho chúng có khả
năng XCP. Trang bị router với khả năng XCP khá tốn kém, sự phức tạp của XCP

trong router là tương đối cao. Tuy nhiên, XCP là ứng cử đầy hứa hẹn trong việc cải
thiện điều khiển chống tắc nghẽn trong mạng cơ sở IP trong tương lai.
XCP có thể phát triển 1 cách nhanh chóng trong mạng cơ sở IP. Hai trường
hợp đượ
c phân biệt thành;
• Vài router và phía nhận không có khả năng XCP.
• Sự kết hợp kết nối XCP và không XCP cùng tồn tại trong mạng.


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

44
Trong trường hợp đầu tiên, XCP phía gởi phải kiểm tra rằng tất cả các router
trong đường truyền và phía nhận có khả năng XCP. Điều này có thể thực hiện với
cơ cấu XCP và IP hiện hành. Nếu chúng không có khả năng XCP, XCP phía gởi
không thể sử dụng giao thức XCP và phải chuyển mạch sang giao thức truyền thông
theo lối cổ truyền, chẳng hạn, TCP. Trong trường hợp thứ 2, router có khả năng
XCP phải
được xử lí bình đẳng 2 loại lưu lượng. Để thực hiện, router có khả năng
XCP có thể phân biệt giữa lưu lượng XCP và không XCP và xếp hàng chúng 1 cách
tách biệt. Nó có thể thực hiện được với cơ cấu xếp hàng chờ xử lý cân bằng thích
nghi động theo phương pháp TCP-Friendly Rate Control (TFRC) [15]
3.3.4 FBA-TCP
3.3.4.1 CSFQ (Core-Stateless Fair Queueing)

Ý tưởng của CSFQ (Core-Stateless Fair Queueing) là phân đoạn mạng trong
một vùng router và phân biệt giữa biên và lõi trong 1 vùng.

Hình 3.3 Vùng router biên (E) và lõi ( C) với khả năng CSFQ

Mỗi router biên ước lượng tốc độ mỗi luồng cho mọi gói đi qua router biên
trong mạng có khả năng CSFQ. Để tính toán, các router biên cần chứa trạng thái
mỗi luồng. Tốc độ ước lượng mỗi luồng được dùng để dán nhãn gói bằng cách chèn
tốc độ ước lượng vào trong mào đầu gói của mỗi luồng. Router lõi được trang bị với
xếp hàng FIFO và không có chứa trạng thái luồng bất kỳ nào.
Đặc tính này của


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

45
router lõi được gọi là core-stateless. Router lõi thực hiện thuật toán giảm xác suất
cho gói đến dựa vào lưu lượng tổng và thông tin chứa trong nhãn của gói. Mục đích
chính của thuật toán giảm gói theo xác suất là đạt được sự phân bổ băng thông hợp
lý giữa các luồng đi qua router lõi.
Trong phần dưới đây, thuật toán ước lượng tốc độ thực hiện trong router biên
và thuật toán giảm gói thực hiện trong router lõi được nói đến. Nhiều chi ti
ết về
CSFQ, chẳng hạn, giả mã cho thuật toán dùng trong router biên và lõi hay mở rộng
cơ cấu CSFQ cơ bản, có thể tìm thấy trong [8]
 Ước lượng tốc độ mỗi luồng CSFQ trong router biên.
Trong router biên tốc độ ước lượng
i
r
ˆ
của luồng i được cập nhật mỗi khi gói
mới của luồng này đến. Ước lượng tốc độ luồng được thực hiện bằng cách dùng sự
ước lượng dựa trên chuNn hàm mũ. Với
)(k

i
t

)(k
i
l
lần lượt là thời gian đến (arrival
time) và độ dài gói k của luồng i. Sau đó,
i
r
ˆ
được cập nhật như sau:

(
)
old
i
KT
k
i
k
i
KT
new
i
re
T
l
er
k

i
k
i
ˆ
1
ˆ
/
)(
)(
/
)()(
−−
+−=
(3.14)
với
)1()()( −
−=
k
i
k
i
k
i
ttT
và giá trị không đổi K. Mỗi gói của luồng i được dán nhãn
với
i
r
ˆ
cập nhật mới nhất


ii
rlabel
ˆ
=
(3.15)
Bổ sung vào sự ước lượng tốc độ mỗi luồng, thuật toán giảm gói của router
lõi CSFQ được thực hiện trong router biên.
 Thuật toán giảm gói CSFQ trong router lõi
Trong luồng lưu lượng, tốc độ đến tổng n luồng trong tuyến đơn của router
lõi là:


=
=
n
i
i
rA
1
(3.16)
Mỗi luồng đó phải sử dụng tốc độ phân bổ công bằng
α
với tốc độ đường ra C của
router lõi được khởi tạo:

{}

=
=

n
i
i
rC
1
,min
α
(3.17)


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

46
Khi các luồng được đóng gói, A và
α
phải được ước lượng bởi
A
ˆ

α
ˆ
. Sau đó tốc
độ lưu lượng tổng được phép của router lõi có thể được ước lượng:

() { }

=
=
n

i
i
rF
1
ˆ
,
ˆ
min
ˆ
αα
(3.18)
Tổng tốc độ đến router lõi được ước lượng dựa vào hàm mũ trung bình:

(
)
old
KTKT
Ae
T
l
e
ˆ
1A
ˆ
//
new
αα
−−
+−= (3.19)
với thời gian đến T giữa gói trước và gói hiện tại và giá trị hằng số

α
K . Đẳng thức
dạng tương tự được dùng để ước lượng tốc độ lưu lượng tổng
F
ˆ
cho phép bởi
router.
Nếu
CA ≥
ˆ
trong tất cả các khoảng K
c
, đường truyền được giả thiết bị tắc
nghẽn. Nếu
CA ≤
ˆ
trong tất cả các khoảng K
c
, đường truyền giả thiết là không bị tắc
nghẽn.
Giá trị mới cho tốc độ phân bổ bình đẳng ước lượng
α
ˆ
chỉ được tính sau một
khoảng mà trong đó đường truyền được phân loại thành bị tắc nghẽn và không tắc
nghẽn. Nếu đường truyền bị tắc nghẽn thì
α
ˆ
được cập nhật như sau:


oldnew
F
C
αα
ˆ
.
ˆ
ˆ
= (3.20)
Nếu đường truyền không tắc nghẽn thì
new
α
ˆ
được thiết lập bằng tốc độ lớn
nhất của luồng tích cực bất kỳ, tức là, đến nhãn lớn nhất trong gói, trong suốt
khoảng thời gian K
c
. Thêm vào đó, hai phỏng đoán được dùng để giới hạn sự dao
động giữa các tính toán
α
ˆ
liên tiếp nhau.
• Sau mỗi khi hàng bị tràn,
α
ˆ
bị giảm bởi 1 phân số nhỏ cố định, chẳng hạn,
0.01.
• Để tránh sự điều chỉnh lại, giảm
α
ˆ

phải giới hạn bởi 0.25 giá trị trước đó.

α
ˆ
khi đó được dùng để tính toán xác suất giảm gói của các luồng. Với luồng
i, mỗi bit đang đến bị giảm trong router lõi với xác suất:







−=
i
i
r
P
ˆ
ˆ
1,0max
α
(3.21)


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

47
Nếu các gói trong luồng i bị giảm, tốc độ mới

i
r
của luồng i thay đổi đến xấp
xỉ
α
ˆ
, khi tốc độ đến của luồng i tại router lõi hay biên tiếp theo là xấp xỉ
α
ˆ
. Do đó,
các gói trong luồng i phải được dán nhãn lại với:

{
}
old
i
new
i
labellabel ,
ˆ
min
α
= (3.22)
Do đó, sau khi gói đi qua router biên ở phía nhận của luồng đó nhãn của gói
chứa tốc độ luồng hiện tại mà thành phần mạng CSFQ đã cung cấp. Thông tin này
có thể được truyền đến phía nhận và truyền trở lại phía gởi để điều chỉnh tải mà
phía gởi đặt vào mạng. Nhưng CSFQ không cung cấp cơ cấu phản hồi chống tắc
nghẽn rõ. Chỉ có gói bị m
ất trong router lõi và biên của phần mạng có khả năng
CSFQ được dùng để góp phần khai báo Nn cho phía gởi về tắc nghẽn (đang đe dọa)

trong 1 đoạn mạng.
3.3.4.2 FBA-TCP
Phân bổ băng thông hợp lý cho TCP (FBA-TCP) [14] (Fair Bandwidth
Allocation for TCP) là một phương pháp điều khiển lưu lượng TCP dựa trên thông
tin phản hồi về mạng được cung cấp bởi CSFQ
FBA-TCP dùng cơ cấu CSQB miêu tả trong phần trước để cải thiện đ
iều
khiển chống tắc nghẽn trong kết nối TCP. FBA-TCP làm việc như sau: trong router
biên của vùng mạng (trong hình 3.3) FBA-TCP dùng thuật toán giống CSFQ để ước
lượng tốc độ luồng và dán nhãn gói trong luồng với tốc độ luồng ước lượng. Trong
mỗi router biên và lõi trong vùng mạng tốc độ phân bổ bình đẳng được ước lượng
và các gói của luồng bị giảm theo đẳng thức (3.21) nếu nhãn của chúng lớn hơn
phân bổ cân bằ
ng.


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

48

Hình 3.4 Kết nối TCP đơn đi qua vùng router có khả năng CSFQ.
Đặc tính mới của FBA-TCP là router biên ở phía nhận của luồng không xoá
nhãn khỏi mỗi gói. Router biên đặt nhãn của gói vào trong mào đầu Ipv4 (hay mào
đầu mở rộng của Ipv6) để truyền trong suốt nhãn này đến TCP phía nhận qua phần
mạng không có khả năng CSFQ. Nếu hệ thống đầu cuối phía nhận của kết nối TCP
nhận gói với nhãn
l
hay tốc độ ước lượng
r

ˆ
, nó gởi giá trị này đến TCP phía nhận
để tính cửa sổ gởi mới mà TCP phía gởi cho phép.
Cửa sổ gởi được phép=
rRTT
ˆ
.
(3.23)
sử dụng RTT ước lượng. Do khả năng song công của TCP, tức là, TCP phía nhận
đồng thời là TCP phía gởi và ngược lại, nó giả thiết rằng TCP phía nhận có sự ước
lượng RTT thích hợp trong đường dẫn mạng. Giá trị nhỏ nhất của cửa sổ gởi và số
bytes hiện thời mà TCP phía nhận có thể được nhận được từ TCP phía gởi là cửa sổ
thông báo phía nhận của TCP phía nhận.
Cử
a sổ thông báo phía nhận này được gởi đến TCP phía gởi trong xác nhận
TCP tiếp theo.
3.3.5 QS-TCP (Quick Start TCP):
QS-TCP (Quick Start TCP) đã được đề xuất năm 2002 bởi Jain và Floyd
trong [3] như là một cách để tăng cửa sổ khởi tạo của một kết nối TCP.
Trong thủ
tục thiết lập kết nối TCP (TCP SYN và TCP SYN/ACK) phía gởi TCP chèn một
yêu cầu bắt đầu nhanh (Quick Start Request) vào gói TCP, đó chính là tốc độ khởi


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

49
tạo mà phía gởi muốn truyền. Mỗi bộ định tuyến dọc theo đường truyền xác nhận
liệu nó có thể đáp ứng yêu cầu lưu lượng mới này. Nếu nó có thể đáp ứng yêu cầu

mới này thì nó sẽ truyền yêu cầu QS đi, ngược lại nó sẽ giảm tốc độ dữ liệu đến một
giá trị phù hợp.
Để làm được điều đó bộ
định tuyến cần thiết phải giám sát sự khác nhau của
trọng tải hiện tại và dung lượng sẵn sàng và những yêu cầu QS trong thời gian gần
đây. Khi yêu cầu QS (QS request) tới TCP phía nhận, một đáp ứng QS (QS
response) tương ứng được tạo ra và chèn vào một thông báo nhận được gởi trở về
phía gởi.
Nhận được đáp ứng QS, phía gởi điều chỉnh cửa sổ ch
ống tắc nghẽn khởi tạo
theo tốc độ dữ liệu chỉ ra trong đáp ứng QS. Để tránh lưu lượng bùng phát, phía gởi
tăng dữ liệu từng bước vào cửa sổ khởi tạo. QSTCP đòi hỏi tất cả các bộ định tuyến,
phía gởi và phía nhận hỗ trợ khởi tạo nhanh (QS).
3.4 Đánh giá chung
Các phương pháp này được dùng trong mạng cơ sở IP tương lai dựa vào mức
độ mong mu
ốn tương thích với các phương thức truyền TCP và UDP triển khai hiện
nay trong hệ thống đầu cuối. XCP, chẳng hạn, dường như là phương pháp mạnh
nhất để cải thiện toàn bộ hiệu suất của mạng, ít nhất nếu mạng là mạng tốc độ cao.
Nhưng XCP đòi hỏi đòi hỏi sự thích ứng của phương thức truyền thông trong hệ
thống đầu cuối.
Tương phản với XCP, (F)EWA không cần bất kì sự thay đổi nào trong hệ
thống đầu cuối. Nhưng (F)EWA không mạnh như XCP, cửa sổ gởi của TCP phía
gởi không thể được điều khiển chính xác như XCP.
CSFQ không cung cấp phản hồi rõ cho (TCP) phía gởi. Nó phát triển chủ
yếu để tăng tính bình đẳng giữa các luồng trong (phần) mạng. Do đó, độ gia tăng
hiệu suất khá bị giớ
i hạn. Nhưng FBA-TCP như là sự mở rộng của CSFQ có thể là
ứng cử tiềm năng cho sự cải thiện điều khiển chống tắc nghẽn trong mạng cơ sở IP.
Bất lợi chính của FBA-TCP là các router biên trong phần mạng có khả năng CSFQ

phải chứa thông tin mỗi luồng để dán nhãn gói của luồng. Phương pháp này có thể


Chương 3: Các phương pháp điều khiển tắc nghẽn
www.4tech.com.vn

50
chỉ làm việc nếu số luồng đi qua router biên là khá ít. Sự khác nhau của XCP và
FBA-TCP là XCP dán nhãn các gói trong giao thức truyền của hệ thống đầu cuối
trong khi FBA-TCP dán nhãn (lại) các gói trong các router của phần mạng có khả
năng CSFQ.
Khuyết điểm chính của XCP là nó có sự phức tạp lớn so với các phương
pháp khác. Thêm vào đó, XCP không thể triển khai dần dần trong phần mạng. Nếu
ít nhất 1 router hay hệ thống đầu cuối trong đường dẫn m
ạng không thể đương đầu
với XCP, XCP không được thực hiện và TCP chuNn được dùng thay cho nó. Nhưng
XCP hứa hẹn hệ số hiệu suất mong muốn cao nhất so với các phương pháp - ít nhất
trong mạng tốc độ cao.
3.5 Kết luận chương
Chương này đã hệ thống các phương pháp điều khiển tắc nghẽn. Các phương
pháp đó có thể triển khai dần và liệu hiệu suất củ
a nó có giảm khi triển khai như thế
không. Mỗi phương pháp hoạt động theo một nguyên tắc khác nhau và phù hợp với
từng hoàn cảnh khác nhau. Theo ưu tiên, ứng cử viên đầy hứa hẹn cho việc điều
khiển tắc nghẽn trong mạng cơ sở IP là XCP. Do đó, nó nên được nghiên cứu chi
tiết trong các viễn cảnh và lưu lượng tải thay đổi khác nhau. Phần tiếp theo sẽ mô
phỏng điều khiển tắc nghẽ
n dùng thuật toán tăng giảm trong các giao thức.


×