Thông tin tắt nghẽn tường minh ECN (Explicit Congestion Notification) khi sử dụng cổng (Gateway) hàng đợi RED (Random Early Detection) giúp giảm bớt sự mất mát gói tin và thời gian trễ của giao thức truyền dẫn TCP (Transport Control Protocol). Tuy nhiên, việc lựa chọn kích thước vùng đệm và các tham số tối ưu cho vùng đệm tại cổng hàng đợi RED để đạt được hiệu quả truyền dẫn thông tin cao nhất là một vấn đề mở cần phải được quan tâm nghiên cứu. Trong bài viết này trước tiên giới thiệu một phương pháp để xác định giá trị tối ưu về ngưỡng cực đại của hàng đợi RED để đạt được sự mất gói tin đến mức zero (Zero Loss) tại các cổng hàng đợi RED. Thứ hai, là đề xuất một thuật toán mới cho TCP còn được gọi là Diff - C - TCP (Differentiation Capable TCP) để cải tiến việc truyền dẫn thông tin qua kết nối vệ tinh.
Trang 1TIỂU LUẬN MÔN HỌC
MẠNG VÀ KỸ THUẬT TRUYỀN DỮ LIỆU
Đề tài:
NÂNG CAO THÔNG LƯỢNG TCP TRÊN NHỮNG KẾT NỐI YẾU THÔNG QUA CỔNG HÀNG ĐỢI RED VỚI CƠ CHẾ ECN.
(Enhancing TCP Throughput over Lossy Links Using ECN-capable RED Gateways)
Trang 2MỤC LỤC
TÓM TẮT NỘI DUNG 2
I GIỚI THIỆU: 3
II CÁC KHÁI NIỆM: 5
III MỘT SỐ KẾT QUẢ ĐÃ ĐƯỢC NGHIÊN CỨU: 7
IV ĐỀ XUẤT GIÁ TRỊ maxth : 8
V KIỂM CHỨNG MÔ HÌNH: 9
1 Kiểm tra giá trị maxth: 9
2 Tính tối ưu của ngưỡng cực đại maxth : 11
VI THUẬT TOÁN DIFF-C-TCP (Differentiation-Capable-TCP): 11
1 Thuật toán Diff-C_TCP: 12
2 Phương pháp luận mô phỏng: 13
3 Kết quả mô phỏng: 14
VII KẾT LUẬN: 16
TÀI LIỆU THAM KHẢO CỦA BÀI BÁO 17
TÓM TẮT NỘI DUNG
Thông tin tắt nghẽn tường minh ECN (Explicit Congestion Notification) khi sử dụng cổng (Gateway) hàng đợi RED (Random Early Detection) giúp giảm bớt sự mất mát gói tin và thời gian trễ của giao thức truyền dẫn TCP (Transport Control Protocol) Tuy nhiên, việc lựa chọn kích thước vùng đệm và các tham số tối ưu cho vùng đệm tại cổng hàng đợi RED để đạt được hiệu quả truyền dẫn thông tin cao nhất là một vấn đề mở
Trang 3cần phải được quan tâm nghiên cứu Trong bài viết này trước tiên giới thiệu một phương pháp để xác định giá trị tối ưu về ngưỡng cực đại của hàng đợi RED để đạt được sự mất gói tin đến mức zero (Zero Loss) tại các cổng hàng đợi RED Thứ hai, là
đề xuất một thuật toán mới cho TCP còn được gọi là Diff C -TCP (Differentiation Capable -TCP) để cải tiến việc truyền dẫn thông tin qua kết nối vệ tinh
Trong khi hầu như mọi sự tắt nghẽn và mất dữ liệu trên mạng có thể được loại trừ bởi phương pháp giảm sự mất gói về zero thì thuật toán Diff-C-TCP đã thừa nhận việc mất gói thông tin để chỉ ra những lỗi kết nối và đã sử dụng cơ chế ECN để chỉ
ra một cách chính xác vị trí tắt nghẽn
Thông qua mô phỏng cho thấy phương pháp này đã giải quyết được sự mất thông tin đến mức zero và thuật toán Diff - C
- TCP đã cải tiến một cách đáng kể vấn đề thông lượng của TCP.
I GIỚI THIỆU:
Giao thức truyền dẫn thông tin TCP cho rằng, theo mặc định mỗi sự kiện mất thông tin được gây ra bởi sự tắt nghẽn trên mạng và những ảnh hưởng bởi việc cắt giảm tốc độ đường truyền từ bên gửi Khi mạng có kết nối yếu, chẳng hạn như kết
Trang 4nối vệ tinh thì vấn đề truyền dữ liệu là phức tạp đối với một giao thức TCP Ở đó việc mất các gói tin thường do đường truyền không đảm bảo hơn là mất do tắt nghẽn Trong trường hợp đó, thuật toán điều khiển tắt nghẽn của TCP là quá lãng phí về thời gian trong việc khởi động chậm hoặc thủ tục tránh tắt nghẽn không xác định được lỗi do đường truyền Do đó, các thuật toán điều khiển tắt nghẽn hiện nay trong giao thức truyền tải dữ liệu TCP chỉ có kết quả với những lớp có thông lượng truyền dẫn thấp Những cải tiến này có thể đạt được kết quả tốt nếu việc mất thông tin là do tắt nghẽn mạng và do nhiễu đường truyền trong những kết nối vệ tinh [1]
ECN [2] được đề xướng bởi IETF chỉ ra được nguồn gốc của
sự tắt nghẽn trong giao thức truyền tin TCP là tại các bộ định tuyến, không cần chờ đến thời gian timeout hoặc việc phát lại lần thứ 3 của các gói tin ACKs Theo IETF thì ECN được đề xuất dùng chung với hàng đợi RED [3]
Hàng đợi RED đã sử dụng trọng số mũ để tính kích thước của hàng đợi trung bình từ kích thước hàng đợi tức thời và dựa vào hai ngưỡng (cực đại, cực tiểu) để xác định các gói tin đến cần được huỷ bỏ
Khi ECN được sử dụng với RED (như hình 1), nếu kích thước hàng đợi trung bình nằm giữa ngưỡng cực đại và cực tiểu thì gói tin được đánh dấu với một xác suất nhất định như một gói CE (Congestion Experienced) và gởi đến nơi nhận thông tin
Hình 1: minh hoạ kỹ thuật ECN
Do đó, mỗi khi nhận được gói CE, bên nhận sẽ phản hồi ECN trở lại cho bên gởi cho đến khi nó nhận được gói CWR (gói tin giảm cửa sổ tắt nghẽn) từ bên gởi Điều này có ý nghĩa bên gởi đã có thông tin phản hồi về sự tắt nghẽn Bên gởi chỉ cần trả lời khi có báo hiệu của gói tin ECN đầu tiên và lờ đi sự phản hồi RTT của các gói tin khác; và nếu kích thước hàng đợi trung bình là lớn hơn ngưỡng cực đại của vùng đệm RED thì cho rơi gói tin
Trang 5Với ECN khi được sử dụng với hàng đợi RED tại các bộ định tuyến làm giảm bớt những mất mát gói tin do sự tắt nghẽn và thời gian trễ của giao thức truyền tin TCP Tuy nhiên việc chọn kích thước vùng đệm và giá trị tham số tốt nhất của vùng đệm RED vẫn là một hướng mở cần được nghiên cứu
Nếu kích thước vùng đệm RED là tốt nhất và các ngưỡng của RED được thiết lập thích hợp thì vấn đề tắt nghẽn mất mát thông tin có thể đạt được ở mức thấp nhất (zero loss) bằng sự điều chỉnh thích hợp kích thước cửa sổ tắt nghẽn bên gởi dựa vào dấu hiệu phản hồi từ gói ECN
Mục tiêu chính của bài báo này là đưa ra một cải tiến cho giao thức truyền tin TCP, được gọi là Diff-C-TCP nhằm thực hiện việc cải tiến TCP trên những kết nối yếu
Diff-C-TCP được phát triển dựa vào việc phân tích mở rộng
để xác định giá trị tối ưu của ngưỡng cực đại nhằm giải quyết được việc tắt nghẽn, mất mát thông tin ở mức zero tại các cổng hàng đợi RED với cơ chế ECN
Hầu hết sự tắt nghẽn và mất thông tin trên mạng có thể giải quyết bởi mô hình zero loss, Diff-C-TCP thừa nhận những mất mát gói tin là cơ sở để chỉ ra lỗi kết nối và sử dụng cơ chế ECN để xác định những mất mát là đôi khi do sự tắt nghẽn mạng
Các nội dung còn lại của bài báo được tổ chức như sau: Mục II và III là phần định nghĩa và các ký hiệu sử dụng trong tài kiệu Mục IV đưa ra mô hình cải tiến Mục V đưa ra kết quả mô phỏng của mô hình Mục VI là giải thuật Diff-C-TCP và những đánh giá về nó Cuối cùng là kết luận được trình bày ở mục VII
Hình 2: Mô hình mạng được sử dụng trong mô phỏng
II CÁC KHÁI NIỆM:
Chúng ta xem xét một hàng đợi RED tại R1 (hình 2) với một số TCP nguồn Kết nối R1 và R2 theo kiểu cổ chai với sự tắt nghẽn xãy ra tại R1 Các vị trí nguồn, đích và hàng đợi RED được dùng theo cơ chế ECN- với điều khiển tắt nghẽn là từ đầu
Trang 6cuối đến đầu cuối Sau đây là những ký hiệu sẽ được dùng trong
mô hình (sẽ được sử dụng ở mục IV):
- Q(t): Kích thước hàng đợi tức thời của hàng đợi RED tại thời điểm t
- Q , Qmax:Kích thước hàng đợi trung bình và cực đại của vùng đệm hàng đợi RED
- ω : Hệ số để tính toán Q
- P(t): Xác suất đánh dấu gói tin của vùng đệm RED tại thời điểm t
- minth, maxth: Ngưỡng cực tiểu và cực đại của hàng đợi RED
- L: Kích thước của vùng đệm RED
- m: Số luồng TCP
- Wi(t): Kích thước cửa sổ của luồng dữ liệu ith tại thời điểm
t, i=1 m
- r i: Thời gian khứ hồi (RTT) trung bình cho luồng dữ liệu ith, i=1 m
- T[1]: Thời gian chờ từ lần đánh dấu đầu tiên, sau khi kích thước trung bình hàng đợi vượt qua giá trị minth
- βi : Lượng kích thước cửa sổ tăng trong thời gian T[1] ứng với luồng dữ liệu ith, i=1, m
- t0: Thời điểm khi gói tin đầu tiên được đánh dấu tại vùng đệm RED
- t1: Thời điểm khi gói tin cuối cùng gởi đi trước khi cửa sổ đầu tiên giảm kích thước tại vùng đệm RED
Với mỗi gói tin đến, hàng đợi RED ước lượng giá trị Q tiếp theo bằng cách sử dụng thuật toán giá trị trung bình với trọng
số mũ
ω
ω ) ( ) 1
Xác suất p(t) các gói tin được đánh dấu hoặc có khả năng rơi theo được xác định như sau:
≤
<
≤
≤
−
−
<
≤
=
L
Q
Q t
th th
p th
th
Q max ,
max min
, min max
max ) min (
min Q 0 , 0 ) (
th th
Trang 7Hình 3: Phân tích mô hình RED
III MỘT SỐ KẾT QUẢ ĐÃ ĐƯỢC NGHIÊN CỨU:
Sau đây là những kết quả có được đối với hàng đợi RED và TCP nguồn theo mô hình đã được đề xuất nhằm đạt được sự mất mát thông tin ở vùng đệm là thấp nhất (mục IV)
- Cho ω đủ nhỏ (như đề xuất ở [3]), khi đó Q thay đổi rất chậm, vì thế các gói tin liên tục được chuyển qua đúng như xác suất đánh dấu
- Việc đánh dấu ngẫu nhiên các gói tin trong luồng i được
mô tả bởi một quá trình xử lý với thời gian thay đổi bởi : λi(t) = p(t)Wi(t)/ri(t)
Do vậy, thời gian chờ Ti[n] cho sự kiện đánh dấu n-th gói tin của luồng i được xác định bởi: [ ] n X ( )
1
k i
k n
=
= , là được phân bổ một cách ngẫu nhiên Trong đó X[k] là thời gian giữa sự kiện k-1
và k-th được đánh dấu ứng với luồng i
Đặc biệt, chúng tôi tìm được giá trị mong muốn về thời gian chờ cho lần đánh dấu đầu tiên là: E[Ti[1]]=1/λi(t)
- Lúc bắt đầu tất cả TCP nguồn cùng gởi với thời gian giống nhau và kích thước các gói dữ liệu là như nhau (Hiện tại chúng
ta chỉ phân tích theo mô hình đã giới thiệu với nhiều TCP nguồn
và được bắt đầu một các ngẫu nhiên) Kích thước hàng đợi là đều đặn trong từng gói tin
- Các gói tin rơi tại hàng đợi RED theo cơ chế ECN do Q(t)>L (tràn vùng đệm) hoặc Q max> th Tuy nhiên, vấn đề xử lý các gói tin rơi do tràn vùng đệm chúng ta không đề cập trong bài viết này
Trang 8IV ĐỀ XUẤT GIÁ TRỊ max th :
Trong phần này chúng ta phát triển mô hình nhằm xác định giá trị tối ưu của maxth để vấn đề mất mát gói tin đạt mức zero tại vùng đệm RED Ở đây, chúng ta bắt đầu với việc chọn
giá trị: max th =3*min th
Hình 3 là mô hình phân tích về hàng đợi RED Khi kích thước trung bình của hàng đợi là ổn định (khi nguồn phát trong giai đoạn né tránh tắt nghẽn), kích thước hàng đợi tức thời tại thời điểm t0 được tính là:
, min
) (
1
=
+
i i th
t
Trong đó βi được tính bởi:
m.
1, , i , ) ( ) (
1 )
(
1 ]]
1 [
=
t W t p r t r
T E
i i
i i
i λ
Thời gian lệch nhau giữa t0 và t1 là một RTT và kích thước cửa sổ nguồn được tăng bởi mỗi thời gian khứ hồi RTT trong thời gian né tránh tắc nghẽn Kích thước tức thời của hàng đợi tại thời điểm t1 có thể được biểu diễn bởi công thức:
∑
=
+ +
i i th
t Q
1
1 ) min ( 1 ).
Kích thước trung bình của hàng đợi được đánh giá qua tác động của trọng số mũ và được cho thấy trong công thức (1) Nếu xem thời gian là rời rạc theo từng slot (khe) thì với mỗi slot
là một RTT, giải thuật ước lượng giá trị trung bình kích thước hàng đợi RED tại slot k-th có thể được tính bởi:
(6) Q[k]
] [ ) 1 ( ] 1 [k+ = − ω Q k + ω
Q
Tương tự nếu chúng ta giả thiết t1 bằng với thời gian qui định của slot k, thì (5) có thể viết lại như sau:
∑
=
+ +
i i th
k Q
1
(7) ).
1 ( min
]
Trong thực tế thường chọn ω là rất nhỏ và khi đó kích thước cửa sổ tắt nghẽn tăng qua mỗi RTT trong suốt giai đoạn né tránh tắt nghẽn Vì thế trước khi thực hiện việc đánh dấu gói tin đầu tiên (chưa có sự tắt nghẽn), thì kích thước hàng đợi tức thời
và kích thước hàng đợi trung bình là không có sự thay đổi trong một thời gian ngắn- điều này là hoàn toàn hợp lý (thể hiện ở phần đầu của mục III)
Như vậy, bằng cách thay (7) vào (6) và với thừa nhận rằng, kích thước hàng đợi trung bình trong hai slot thời gian liền kề
Trang 9trước đó là như nhau Khi đó ta có công thức tính kích thước hàng đợi trung bình tại thời gian t1 được lặp lại như sau:
∑
=
+ +
=
i i th
Q Q
1 max min ( β ω ) (8)
Sự kiện đánh dấu đầu tiên được xãy ra sau những kết quả đánh dấu ngẫu nhiên của ECN trong cửa sổ điểu chỉnh tắt nghẽn của TCP nguồn Kích thước hàng đợi ở thời điểm mà nhỏ hơn kích thước hàng đợi trung bình tại thời gian t1 được thể hiện thông qua kết quả mô phỏng cho trong hình 4
Như vậy, công thức (8) cho ta kích thước hàng đợi trung bình để đạt được sự mất mát thông tin thấp nhất Đây chính là
cơ sở để chúng ta đưa ra giá trị maxth
V KIỂM CHỨNG MÔ HÌNH:
Thực hiện kiểm chứng mô hình được trình bày ở hình 2 với
hệ mô phỏng ns2 (Version 2.1b6) Bằng cách đưa ra những trường hợp khác nhau để so sánh, hai tác giả đã chọn RTT=59
ms cho tất cả các loại TCP Các tham số của hàng đợi RED là biến đổi theo các trường hợp như các mô tả dưới đây
1 Kiểm tra giá trị max th :
Trong bảng I, hai tác giả sử dụng 3 trường hợp để xác định tính hợp lệ của maxth như đề xuất ở mục IV Trường hợp thứ nhất
sử dụng các tham số được khuyến cáo ở [3] Quan sát Qmax
trong trường hợp này (như đề nghị trong công thức (8), sẽ tính được những giá trị sử dụng cho maxth) là phù hợp với giá trị thu được từ mô phỏng
Hình 4 cho thấy kích thước cửa sổ tắt nghẽn và hình 5 cho thấy kích thước hàng đợi tức thời và kích thước trung bình của trường hợp 1
Kết quả này cho thấy được kích thước hàng đợi tức thời là cực đại khi kích thước cửa sổ tắt nghẽn trong giai đoạn khởi động chậm Kích thước hàng đợi trung bình đạt cực đại trước khi
có sự kiện đánh dấu gói tin đầu tiên tại thời điểm 1.9 giây
Trong khuôn khổ có hạn của bài báo hai tác giả không xét trường hợp cửa sổ tắt nghẽn và kích thước hàng đợi cho trường hợp 2 và 3 Tuy nhiên, thông qua phân tích và mô phỏng hai tác giả đã khẳng định cũng đã thu được những kết quả tương tự
Trang 10BẢNG 1: So sánh ngưỡng cực đại qua kết quả mô phỏng và qua kết quả phân tích
Hình 4: Kích thước cửa sổ tắt nghẽn của TCP nguồn trong trường hợp 1,bảng 1
Trang 11Hình 5: Kích thước hàng đợi tức thời và kích thước hàng đợi trung bình cho trường hợp 1, bảng 1
2 Tính tối ưu của ngưỡng cực đại max th :
Để chứng minh giá trị của maxth như đã được đề xuất là tốt nhất trong việc giải quyết vấn đề mất mát thông tin ở mức Zero tại vùng đệm RED, chúng ta xét 3 trường hợp cụ thể như trong bảng II
Bảng II: Các gói tin rơi ứng với những tham số khác nhau của hàng đợi RED
Trường hợp 1 sử dụng giá trị maxth=15 cho mỗi đề nghị của tham số RED [3], kết quả gói tin mất mát là zero
Trường hợp 2 sử dụng maxth=8 (gần như 50% người ta sử dụng maxth=15) như đề nghị của mô hình và cũng cho kết quả gói tin mất mát gói tin vẫn là zero
Chúng ta có thể khẳng định rằng, với giá trị nhỏ nhất của maxth như đề nghị là đạt được hiệu quả tốt trong việc điều khiển tắt nghẽn Sử dụng giá trị của maxth như đề nghị là đạt được kết quả với vùng đệm có kích thước nhỏ và giải quyết được các vấn
đề thời gian trễ trong trong hàng đợi
Trường hợp 3 sử dụng giá trị maxth=7, đây là giá trị nhỏ hơn so với giá trị đã được đề nghị và kết quả là có sự mất mát gói tin Do đó chúng ta có thể khẳng định rằng, giá trị của maxth
thu được từ mô hình của chúng ta là giá trị tối thiểu đảm bảo cho việc mất mát gói tin ở mức zero tại vùng đệm RED
VI THUẬT TOÁN DIFF-C-TCP (Differentiation-Capable-TCP):
Từ sự phân tích trên, chúng ta có thể loại trừ được hầu hết
sự mất mát tắt nghẽn trên một môi trường mạng không đồng nhất, kể cả đường truyền kém chất lượng Vì vậy, với những lỗi không đáng kể, tất cả sự mất mát có thể được qui vào những mất mát ngẫu nhiên Trên cơ sở đó chúng tôi đề xuất thuật toán Diff-C_TCP Nội dung tiếp sau đây (mục A) sẽ đề cập về vấn đề này
Trang 121 Thuật toán Diff-C_TCP:
Chúng ta chấp nhận rằng, thuật toán Diff-C-TCP đề xuất ở đây là được dùng cho mạng một mạng WAN hoặc một mạng xí nghiệp, ở đó có thể thực hiện được các công việc xử lý tại bộ định tuyến và khả năng thông báo tắt nghẽn rõ ECN tại hệ thống đầu cuối
Những tác giả trong tài liệu tham khảo [10] đã chỉ ra những sự mất gói thông tin do tràn vùng đệm là ít xãy ra khi một phần lớn của hệ thống đầu cuối sử dụng cơ chế thông báo tắt nghẽn ECN, sự hiện diện của TCP hoặc những kỹ thuật điều khiển tắt nghẽn phù hợp khác
Hơn nữa, thông qua việc lựa chọn ngưỡng tốt nhất cho hàng đợi RED như được trình bày trong mục IV, chúng ta có thể loại bỏ những mất mát tắt nghẽn Ngoài ra, những mất mát do nhiễu sóng trở thành ý nghĩa hơn khi nó được so sánh với việc mất gói thông tin do tràn bộ đệm trong những kết nối vệ tinh Vì vậy, hoàn toàn hợp lý khi giả định rằng tất cả các sự kiện mất mát đều do lỗi kết nối trừ khi vấn đề tắt nghẽn là nhận được thông báo rõ ràng của ECN Hình 6 trình bày trọng tâm thuật toán Diff-C-TCP tại vị trí gần kề với bên gởi
Một Diff-C-TCP bên gởi xem vấn đề Time out là khi không nhận được các gói tin phản hồi của ECN hoặc việc nhận lại các bản sao ACK như một dấu hiệu của lỗi kết nối
Hầu hết các trường hợp này thường được xãy ra trong một
hệ thống mạng có kết nối yếu (nghĩa là các mất mát gói là do lỗi của đường truyền) Trong trường hợp này Diff-C-TCP nguồn không giảm kích thước cửa sổ phát
Nếu Diff-C-TCP bên gởi nhận được các gói phản hồi ECN từ bên nhận thì bên gởi coi nó như một tắt nghẽn mạng và ngay lập tức thuật toán phục hồi nhanh [10] được xãy ra như với TCP hiện hành