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 chuẩn hàm mũ. Với
)(k
i
t và
)(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
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
độ 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
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,
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 ẩn cho phía gởi về tắc nghẽn (đang đe dọa)
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
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
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.
Chương 4
CHƯƠNG TRÌNH MÔ PHỎNG ĐIỀU KHIỂN TẮC
NGHẼN DÙNG THUẬT TOÁN TĂNG GIẢM
4.1 Giới thiệu chương
Nội dung chương 4 mô phỏng thuật toán tăng giảm. Mục đích chính là phân
tích sự hội tụ đến tính bình đẳng và hiệu quả của các thuật toán. Ở đây ta chỉ đề cập
đến thuật toán tăng giảm tuyến tính, từ đó thấy rằng AIMD là thuật toán đảm bảo
hội tụ đến tính hiệu quả và bình đẳng so với các thuật toán tăng giảm khác. Mô
phỏng cho thuật toán này được phân tích trong 4.3.1. Ngoài ra chương 4 còn mô
phỏng tính bình đẳng, hiệu quả của giao thức điều khiển tắc nghẽn TCP và XCP.
Trên thực tế tính bình đẳng, hiệu quả còn chịu nhiều ảnh hưởng khác nhau như thời
gian vòng truyền RTT không đồng nhất, sử dụng các dịch vụ khác nhau, số lượng
luồng đang truyền dữ liệu, Công cụ mô phỏng là NS2, kết quả mô phỏng là các
đồ thị và minh họa mạng NAM được phân tích trong 4.3.2. 4.2 Phương pháp và công cụ mô phỏng
4.2.1 Phương pháp phân tích
Trong đề tài này, sinh viên chọn phương pháp mô phỏng trên máy tính với
CAVT và NS-2 (Network Simulation v.2). CAVT [12] là ứng dụng Java nhỏ được
Michael Welzl xây dựng dựa trên biểu đồ vectơ Chiu/Jain [7] đã được đề cập trong
chương 2, nó cung cấp giao diện người dùng mà ta có thể thiết lập điểm bắt đầu và
quan sát quỹ đạo tương ứng bằng cách kích chuột vào biểu đồ.
NS-2 là phần mềm mã nguồn mở, mô phỏng các sự kiện rời rạc nhằm mục
đích nghiên cứu mạng, nó hỗ trợ các giao thức mạng như TCP, UDP, hoạt động của