người dùng 2. Tất cả sự phân phối với x
1
+x
2
=X
goal
là phân phối có hiệu quả. Nó
tương ứng với đường thẳng là “đường hiệu quả” (efficiency line). Tất cả phân phối
mà x
1
= x
2
là phân bố bình đẳng. Nó tương ứng với đường thẳng được gọi là “đường
bình đẳng” (fairness line). Hai đường này cắt nhau tại điểm (X
goal
/2, X
goal
/2) là điểm
tối ưu. Mục tiêu (goal) của phương pháp điều khiển là làm cho hệ thống đến hoạt
động tại điểm này mà không quan tâm đến vị trí bắt đầu. Tất cả các điểm bên dưới
đường hiệu quả mô tả hệ thống “không đủ tải”(underload) và một cách lý tưởng hệ
thống sẽ yêu cầu người dùng tăng tải. Theo quan sát, chẳng hạn, điểm x
0
=(x
10
, x
20
).
Nguyên tắc tăng cộng tăng phân phối của cả 2 người dùng bởi a
F
Chú ý rằng nhân cả hai phân bố với hệ số b không thay đổi tính bình đẳng.
Đó là, (bx
1
,bx
2
) có cùng tính bình đẳng với (x
1
, x
2
) cho tất cả các giá trị của b. Do
đó, tất cả các điểm trên đường nối điểm đó với gốc có cùng tính bình đẳng. Chúng
ta, gọi đường đi qua gốc là đường “đồng đẳng” (equi-fairness). Tính bình đẳng giảm khi độ dốc của đường này hoặc tăng lên trên hoặc giảm xuống dưới đường
bình đẳng.
Hình 2.8 cho ta thấy quỹ đạo của hệ thống 2 người dùng bắt đầu từ điểm x
0
dùng nguyên tắc điều khiển tăng cộng/giảm nhân. Điểm x
0
nằm dưới đường hiệu
quả và do đó cả hai người dùng đều được yêu cầu tăng. Chúng di chuyển dọc đường
tạo với trục ngang góc 45
0
Đường bình đẳng
Đường hiệu quả
Phân
bố x
2
của
người
dùng 2
Hình 2.8 AIMD hội tụ đến điểm tối ưu Điều kiện để hội tụ đến hiệu quả và bình đẳng được đưa ra theo phương pháp
đại số trong [7].
2.6 Kết luận chương
Hiện tượng tắc nghẽn xảy ra trong mạng là vấn đề khó tránh khỏi, do đó điều
khiển tắc nghẽn ngày càng trở nên cấp thiết. Chương 2 đã nêu tổng quan về nguyên
lý, phân loại các phương pháp điều khiển tắc nghẽn, tiêu chí đánh giá những
phương pháp điều khiển. Ngoài ra, thuật toán tăng giảm (ở đây chỉ nói đến tăng
giảm tuyến tính) cũng đã đề cập đến. Từ đó, ta thấy rằng AIMD được sử dụng nhiều
hơn các thuật toán khác do nó đảm bảo hội tụ đến tính hiệu quả và bình đẳng. Phần
tiếp theo sẽ đi sâu vào các phương pháp điều khiển tắc nghẽn.
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 ẩn. 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
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. 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à ẩn 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]
3.3 Một số phương pháp điều khiển tắc nghẽn mới
(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 ,
(để giảm bằng cách nhân với
) được thiết lập lần lượt là 1/8 và
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)
Nếu
i
Q
ngưỡng dưới
Nếu
i
Q
ngưỡng trên