Tải bản đầy đủ (.docx) (21 trang)

Tiểu luận mạng và kỹ thuật truyền số liệu

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 (314.45 KB, 21 trang )

MỤC LỤC

Tiểu luận Mạng và Kỹ thuật truyền số liệu

1


PHẦN I – MỞ ĐẦU
Mặc dù rất nhiều giao thức được đưa ra nhằm áp dụng cho Internet, nhưng
chỉ một bộ giao thức nổi bật được sử dụng rộng rãi nhất cho liên mạng. Bộ giao
thức đó là bộ giao thức Internet TCP/IP (the TCP/IP Internet Protocols). Giao
thức TCP (Transmission Control Protocol - "Giao thức điều khiển truyền vận")
là một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các
ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà
qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. Giao thức này đảm bảo
chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự. TCP còn
phân biệt giữa dữ liệu của nhiều ứng dụng.
Với tốc độ giao tiếp ngày càng cao trên mạng như hiện nay thì vấn đề đặt
ra là làm thế nào để tăng tốc độ truyền tin, sao cho lượng thông tin có thể được
chuyển tải nhanh nhất mà không xảy ra tình trạng tắc nghẽn. Để tránh sự tắc
nghẽn mạng, giao thức TCP cần tổ chức hàng đợi hợp lý với quá trình truyền lại
để hạn chế sự giảm thông lượng mà không dẫn đến tắc nghẽn.
Băng thông chia sẻ giữa nhiều kết nối TCP đã được nghiên cứu theo giả
định rằng các cửa sổ của các kết nối khác nhau một cách đồng bộ. Sự đồng bộ
hóa này là một kết quả chính của việc triển khai bộ đệm Drop Tail trong các
router mạng. Việc triển khai các kỹ thuật quản lý hàng đợi hoạt động như RED
sẽ làm giảm bớt vấn đề này của đồng bộ hóa. Dựa trên bài báo “Fairness
Analysis of TCP/IP” của nhóm tác giả Eitan Altman, Chadi Barakat, Emmanuel
Laborde, và Patrick Brown, Denis Collange, tôi xin giới thiệu một mô hình toán
học để nghiên cứu băng thông nút cổ chai sẽ được chia sẻ như thế nào nếu cửa
sổ TCP là không đồng bộ. Điều này cho phép đánh giá sự cải thiện trong công


bằng và sử dụng đưa ra bởi việc triển khai các hoạt độngbộ đệm. Ngoài ra, điều
này chỉ ra việc nghiên cứu dựa trên sự đồng bộ hóa đánh giá không đúng mức
hiệu suất của TCP bao nhiêu trong môi trường không đồng bộ.
Tôi xin chân thành cảm ơn TS. Võ Thanh Tú đã nhiệt tình giảng dạy và
cung cấp tài liệu để tôi có thể thực hiện tiểu luận này.

Tiểu luận Mạng và Kỹ thuật truyền số liệu

2


PHẦN II – NỘI DUNG

I.

Giới thiệu

Một trong các mục tiêu chính của TCP là điều khiển tắc nghẽn trên Internet
[12]. Việc điều khiển này là không hiệu quả nếu nó không đảm bảo việc chia sẻ
tài nguyên mạng. Một vấn đề lớn của TCP là tương phản của nó với Thời gian
đi trọn một vòng - Round-Trip Times (RTT) [3, 9, 12], Những kết nối này là
không thể để đạt được các thông lượng tương tự như các kết nối khác chia sẻ
cùng một đường dẫn và có một RTT nhỏ hơn. Điều này được gây ra bởi các
thuật toán tăng cửa sổ thông qua TCP. Thật vậy, TCP sử dụng một chiến lược
tăng cấp số cộng và giảm cấp số nhân để kiểm soát tắc nghẽn [11, 17]. Được
biết rằng những loại chiến lược dẫn đến sự công bằng khi tất cả các kết nối tăng
tỷ lệ của họ ở mức tương tự [6], chúng ta đang nói ở đây về một sự công bằng
trong việc chia sẻ băng thông của liên kết nút cổ chai, bất kể khối lượng tài
nguyên sử dụng bởi một kết nối vào các liên kết khác trong mạng. Loại công
bằng được gọi trong các tài liệu công bằng max-min [9], các loại khác của sự

công bằng tuy nhiên tồn tại mà mục tiêu là để chia sẻ một cách công bằng không
chỉ các nguồn tài nguyên tại các nút cổ chai, nhưng còn các nguồn lực trong các
bộ phận khác của mạng. Trong trường hợp của giao thức TCP và trong sự hiện
diện kết nối của RTT khác nhau, sự công bằng không có thể được bảo đảm từ
các tỷ lệ tăng cửa sổ là tỉ lệ nghịch RTT (một trong các gói tin mỗi RTT trong
các chế độ tránh tắc nghẽn [17]) dẫn đến tăng tỷ lệ truyền với tốc độ tỉ lệ nghịch
với RTT2. Lưu ý rằng tỷ lệ truyền của cửa sổ dựa trên giao thức như TCP có thể
được xấp xỉ bất cứ lúc nào bằng cách kích thước cửa sổ chia cho RTT. Các kết
nối với RTT nhỏ tăng nhanh chóng các cửa sổ của họ và lấy hầu hết băng thông
có sẵn.
Thông lượng đạt được bởi một kết nối TCP đã được chứng minh là tỉ lệ
nghịch với với 1 < α <2 [12]. T là sự trì hoãn truyền hai chiều của kết nối.
Thông lượng này đã được tính toán bằng cách sử dụng giả định rằng các cửa sổ
của các kết nối khác nhau chia sẻ các nút cổ chai khác nhau trong đồng bộ [5,
12]. Tất cả các kết nối được cho rằng phải giảm bớt các cửa sổ đồng thời vào
một thời điểm tắc nghẽn. Hiện tượng đồng bộ này đã được quan sát thấy thực sự
trong trường hợp kết nối của RTT đóng [18]. Nó chủ yếu được gây ra bởi việc
sử dụng bộ đệm Drop Tail (DT). Một bộ đệm Drop Tail bắt đầu bỏ rơi các gói
tin đi đến khi nó được lọc, do đó thông báo cho tài nguyên TCP đã xảy ra tắc
Tiểu luận Mạng và Kỹ thuật truyền số liệu

3


nghẽn. Tuy nhiên, phản ứng của các trạm nguồn để những tín hiệu tắc nghẽn
mất một RTT để đạt được bộ đệm tắc nghẽn. Trong thời gian này, các trạm
nguồn tiếp tục chèn các gói tin vào mạng mà gây ra kết quả là mấy toàn bộ kết
nối.
Hiện tượng đồng bộ hóa có thể biến mất trong các mạng trong tương lai.
Các kỹ thuật hoạt động quản lý hàng đợi như RED (Random Early Detection)

[10] đã được khuyến cáo [4]. Những bộ đệm mới nhằm mục đích khắc phục các
vấn đề của Drop Tail. Tắc nghẽn là dự kiến và các gói tin được giảm xuống
(hoặc đánh dấu) trước khi tràn bộ đệm của bộ đệm. Thả gói tin được thực hiện
sớm với một xác suất tăng theo mức độ tắc nghẽn. Điều này tránh một số lượng
lớn các gói khi tắc nghẽn. Xác suất thấp mất một gói tin khi tắc nghẽn là tỷ lệ
với chia sẻ băng thông. Điều này phát hiện tắc nghẽn sớm cùng với sự sụt giảm
xác suất đã được chứng minh để giải quyết vấn đề đồng bộ hóa và do đó cải
thiện sự công bằng TCP và sử dụng băng thông [10]. Với RED, một số ít tín
hiệu tắc nghẽn được gửi đến các dòng tiêu thụ nhiều hơn chia sẻ công bằng của
họ về băng thông. Các dòng khác được bảo vệ khỏi thiệt hại. Kỹ thuật quản lý
bộ đệm (ví dụ, FRED [14]) đã được đề xuất để bảo vệ mức thấp hơn nữa bằng
cách sử dụng ít hơn chia sẻ công bằng của họ và cải thiện hơn nữa hiệu suất
TCP. Kỹ thuật đơn giản là thả từ những nguồn trước [13] cũng đã được chứng
minh là một giải pháp cho các vấn đề đồng bộ hóa. Trong trường hợp của những
bộ đệm tinh vi, một mô hình dựa trên sự đồng bộ của mức thấp là không thể
đánh giá chính xác hiệu suất của điều khiển tắc nghẽn TCP.
Một vấn đề khác với mô hình giả định đồng bộ hóa mà họ sử dụng một
cách tiếp cận thay đổi [5, 12] mà không phá hủy các xuất hiện của lưu lượng
TCP. Một cách tiếp cận thay đổi bao gồm giả sử rằng các gói tin TCP được lan
truyền trên đường dẫn và không tập hợp lại khi tràn đầy. Tuy nhiên, những mô
hình thay đổi phân phối với bộ đệm Drop Tail được biết đến [10] không thể hấp
thụ sự bùng lên của các gói dữ liệu được tạo ra bởi TCP. Sự bùng lên TCP có
thể gây hại một bộ đệm Drop Tail ngay cả trước khi sử dụng đầy đủ băng thông
nút cổ chai. Các mô hình thay đổi giả định đồng bộ hóa sau đó có thể thất bại để
đánh giá chính xác hiệu suất của TCP thậm chí trong một môi trường đồng bộ.
Một lợi thế của các bộ đệm hoạt động là họ có thể để giảm bớt thiên vị chống lại
lưu lượng bùng nổ. Bằng cách sử dụng chiều dài trung bình của hàng đợi trong
việc phát hiện tắc nghẽn hơn là chiều dài tức thời, và cố định ngưỡng thấp hơn
nhiều so với tổng kích thước bộ đệm, sự dao động nhanh chóng trong chiều dài
hàng đợi do sự xuất hiện của các vụ bùng nổ được hấp thụ [10]. Vì vậy, mô hình

thay đổi nên sử dụng tốt hơn trong một môi trường nơi mà đồng bộ hóa không
tồn tại.
Tiểu luận Mạng và Kỹ thuật truyền số liệu

4


Trong bài tiểu luận này, chúng tôi phát triển một mô hình toán học thay đổi
để nghiên cứu hiệu suất của TCP khi xuống mức thấp là chưa được đồng bộ.
Điều này có thể được coi là một mô hình cho TCP trong một mạng, nơi bộ đệm
hoạt động như RED được triển khai. Để đơn giản của phân tích, chúng ta xem
xét trường hợp có hai kết nối đồng thời. Tổng quát của mô hình cho trường hợp
của nhiều kết nối đồng thời có thể được tìm thấy [2]. Thay vì đồng bộ hóa,
chúng tôi giả định rằng các kết nối giảm cửa sổ của mình khi tắc nghẽn với một
xác suất bằng nhau để chia sẻ băng thông khi tắc nghẽn. Cách tiếp cận
Markovian được sử dụng để giải quyết mô hình xác suất này. Chúng tôi so sánh
kết quả số của chúng tôi với một đồng bộ hóa mô hình giả định, sau đó chúng
tôi xác nhận thông qua mô phỏng. Một trong những kết quả công việc của chúng
tôi là phương pháp giả định dẫn đồng bộ hóa với một đánh giá thấp hiệu năng
của TCP. Sự thiếu đồng bộ cải thiện khả năng công bằng của TCP. Nó có thể
được coi là một kết quả toán học cho thấy sự công bằng tốt hơn của giao thức
TCP trong trường hợp của các bộ đệm hiệu lực.
Trong phần tiếp theo chúng tôi trình bày mô hình của chúng tôi. Phần 3 có
chứa các phân tích. Trong phần 4 chúng tôi so sánh kết quả số của chúng tôi với
một đồng bộ hóa mô hình giả định. Kết quả mô phỏng giới thiệu ở Mục 5. Phần
6 kết thúc công việc.
II.

Mô hình toán học
Giả sử rằng hai nguồn TCP 1 và 2 chia sẻ băng thông µ. Hai nguồn được


cho là gói có cùng một chiều dài. Ký hiệu RTT những kết nối này của T1 và T2.
Ký hiệu W1(t) và W2(t) là kích thước cửa sổ của hai kết nối tại thời điểm t. Tỷ lệ
kết nối tại thời điểm t có thể được viết như sau:
Xk(t) =

với k = 1,2.

Chúng tôi giả định rằng hai nguồn chạy một phiên bản của TCP có thể
phục hồi thiệt hại mà không cần dùng đến thời gian chờ và bắt đầu chậm (slow
start). Một phiên bản SACK hoặc một phiên bản New-Reno có thể được sử dụng
[8]. Khi phát hiện mất mát, nguồn TCP phân chia cửa sổ làm hai, phục hồi thiệt
hại, và sau đó bắt đầu tăng lên cửa sổ của nó. Chúng tôi cho rằng quá trình
truyền là rất dài và chúng ta hãy đặt mình vào chế độ tĩnh. Chúng tôi cũng giả
định rằng sự trì hoãn hàng đợi (the queueing delay) là nhỏ đối với sự chậm trễ
truyền do đó RTT là khoảng không đổi. Điều này là hợp lý với bộ đệm hoạt
Tiểu luận Mạng và Kỹ thuật truyền số liệu

5


động, nơi chiều dài hàng đợi được duy trì ở giá trị nhỏ [10]. Chúng tôi xem xét
trường hợp khi các cửa sổ của TCP tăng một gói mỗi RTT (tức là, sự chậm trễ
cơ chế ACK [17] bị vô hiệu hóa, phân tích của các trường hợp chậm trễ ACKs
có thể được xử lý một cách chính xác cùng một phân tích của chúng tôi dưới
đây). Cửa sổ và tỷ lệ của từng nguồn sau đó tăng tuyến tính như là một hàm của
thời gian như thể hiện [12], trong đó một mô hình hay thay đổi cho sự tăng cửa
sổ được sử dụng. Chúng tôi viết cho k = 1,2
=


x

x =

Sự tăng tuyến tính tiếp tục cho đến khi tắc nghẽn xảy ra. Do giả định của
chúng tôi là thời gian hàng đợi là nhỏ, ta có thể xem xét rằng tắc nghẽn xảy ra
khi tổng số tỷ lệ của hai kết nối đến các băng thông nút cổ chai µ. Sự khác trong
mô hình của chúng tôi so với các mô hình trước đó là việc loại bỏ các giả thuyết
đồng bộ hóa. Một sự kiện tắc nghẽn gây thiệt hại cho một kết nối và chỉ có kết
nối này phân chia cửa sổ của nó làm hai. Sự tăng cửa sổ của các kết nối khác
không phải là giả tạo. Do giảm xác suất của các gói tin lúc bắt đầu của tắc
nghẽn, xác suất mà một kết nối cụ thể được tác động có thể được xấp xỉ bằng
cách chia sẻ băng thông nút cổ chai khi có tắc nghẽn.
Định nghĩa 1: Ký hiệu tn là trường hợp tắc nghẽn thứ n xảy ra. W 1(tn) (hay
W2(tn)) là kích thước cửa sổ của nguồn 1 (hay nguồn 2) ngay trước khi sự kiện
này. Chúng tôi giả định rằng tn được đưa ra bởi,
X1(tn) + X2(tn) = ) + = µ. (1)
Chúng tôi thu được khả năng xảy ra khi nguồn k (k=1, 2) giảm cửa
sổ của nó tại thời điểm tn bằng
pk = =
Bây giờ chúng tôi tiến hành phân tích khả năng thực hiện của hai quá trình
truyền. Mục đích là để tính toán công bằng họ chia sẻ băng thông nút cổ chai µ,
tốt như thế nào họ sử dụng băng thông này, và bao nhiêu thông số mạng ảnh
hưởng đến hiệu suất tổng thể.
Tiểu luận Mạng và Kỹ thuật truyền số liệu

6


III.


Tính toán thông lượng
Cho rằng hai quá trình W1(tn) và W2(tn) có liên quan với nhau theo

phương trình (1), chúng ta có thể biến đổi các vấn đề từ vấn đề hai chiều thành
vấn đề một chiều. Nghiên cứu của một trong hai quá trình là có khả năng để mô
tả khác. Trong phần tiếp theo chúng tôi tập trung vào nghiên cứu kết nối 1.
Chúng tôi bắt đầu bằng cách tính toán mối quan hệ giữa W1(tn) và W1(tn+1)
cũng như thời gian (tn+1 - tn) giữa hai sự kiện tắc nghẽn liên tiếp. Thay đổi cửa
sổ như một chức năng của thời gian và tổng số tỷ lệ tại thời điểm tn và tn+1 được
sử dụng. Trước tiên, chúng tôi nói rõ những kết quả chính,
Định lý 1: Nếu kết nối 1 bị ngắt bởi tắc ngẽn tại thời điểm tn, tắc
nghẽn tiếp theo sẽ xuất hiện sau thời gian
tn+1 - tn = x
và kích thước cửa sổ của kết nối 1 trước khi sự kiện nghẽn mạng tiếp
theo sẽ bằng
W1(tn+1) = x W1(tn)

(2)

Nếu kết nối 2 bị ngắt bởi ngẽn mạng, kết nối 1 tiếp tục tăng cửa sổ
của nó mà không cần giảm cho đến khi sự nghẽn mạng tiếp theo xảy ra
sau thời gian
tn+1 - tn = x (µ - )
Trong trường hợp này, cửa sổ của kết nối 1 trước khi sự kiện nghẽn
mạng tiếp theo sẽ bằng
W1(tn+1) = x (µ - ) + W1(tn)

(3)


Chứng minh: Giả sử đầu tiên rằng kết nối 1 trở nên tồi tệ tại thời
điểm tn. Nó chia cửa sổ làm hai trong khi nguồn 2 tiếp tục tăng cửa sổ
của nó mà không giảm. Tại thời điểm tn+1 chúng ta có thể viết
W1(tn+1) = +
W2(tn+1) = W2(tn) +
Tiểu luận Mạng và Kỹ thuật truyền số liệu

7


W2(tn+1) = T2(µ - )
W2(tn) = T2(µ - )
Giải quyết cho hệ thống phương trình trong W 1(tn+1) và (tn+1-tn) là
chức năng của W1(tn) quyết định phần đầu tiên của sự kiểm chứng. Phần
thứ 2 tương ứng với trường hợp khi kết nối 2 là bị ngắt bởi mất gói tin.
Tại thời điểm tn+1 chúng ta có thể viết
W1(tn+1) = W1(tn) +
W2(tn+1) = +
W2(tn+1) = T2(µ - )
W2(tn) = T2(µ - )
Giải pháp cho hệ thống này quyết định sự kiểm chứng.
Sự phân phối trạng thái của kết nối 1 tại thời điểm tn+1 chỉ là một chức năng
của trạng thái tại thời điểm tn. Như vậy, quá trình ngẫu nhiên W1(tn) tạo thành
một quá trình Markov1 [19]. Để tính toán số lượng phân phối ổn định, chúng tôi
discritize không gian của quá trình này và chúng tôi mô tả nó với một chuỗi
Markov. Gán

biểu thị không gian trạng thái của chuỗi này và gán P = (pij) i, j

biểu thị ma trận chuyển đổi của nó. Cửa sổ kết nối được giả định có kích thước

tối thiểu là 1 gói dữ liệu (packet) và kích thước tối đa của các gói tin . được tính
bằng cách sử dụng phương trình (1) khi kết nối khác là một cửa sổ 1 gói tin. Sử
dụng Định lý 1 cũng như khả năng một kết nối kém chất lượng từ tắc nghẽn ở
thời điểm tn, chúng ta có thể tìm thấy ma trận chuyển tiếp P.
Giả sử kết nối 1 ở tình trạng i tại thời điểm tn. Định nghĩa g(i) như là trạng
thái của kết nối này tại thời điểm tn+1 khi nó bị ảnh hưởng bởi tắc nghẽn tại thời

1 Trong lí thuyết xác suất, quá trình Markov là một quá trình mang tính ngẫu nhiên
(stochastic process) với đặc tính như sau: trạng thái Cktại thời điểm k là một giá trị trong tập
hữu hạn [1..n] . Với giả thiết rằng quá trình chỉ diễn ra từ thời điểm 0 đến thời điểm n và rằng
trạng thái đầu tiên và cuối cùng là đã biết, chuỗi trạng thái sẽ được biểu diễn bởi một vectơ
hữu hạn C=(c0,…, cn)
Tiểu luận Mạng và Kỹ thuật truyền số liệu

8


điểm tn. chỉ trạng thái của nó nếu kết nối 2 bị ảnh hưởng do tắc nghẽn tại thời
điểm t. Như vậy, sử dụng phương trình (2) và (3),
g(i) = x i
= x +i

(4)
(5)

Ma trận P = (pij) i,j có thể viết như sau:
pij =
Trong hầu hết các trường hợp, chuỗi Markov {W1(tn)} không thể được rút
gọn. Để kiểm tra điều này, chúng tôi sử dụng kỹ thuật tính toán bao đóng bắc
cầu của một đồ thị [7]. Khi chuỗi Markov là không thể rút gọn, nó có một chế

độ cố định duy nhất. Dùng = () i biểu thị sự phân phối không thay đổi của nó.
Trong các phần sau, chúng tôi cho thấy làm thế nào để tính toán các thông lượng
từ chế độ cố định của chuỗi Markov. Chúng tôi định nghĩa cho mục đích này là
một quá trình bán-Markov và một số hàm số chi phí.
1.

Định nghĩa quá trình semi-Markov
Chúng tôi định nghĩa quá trình A(t) như sau:
A(t) = Wi(tn)

với tn t < tn+1.

Thời gian chuyển tiếp của quá trình này phụ thuộc vào trạng thái hiện tại và
tiếp theo, và lần này không được phân phối theo cấp số nhân. Lớp A(t) sau đó là
một quá trình bán Markov. Trung bình của nó trong một khoảng thời gian dài
khác với mức trung bình của quá trình W1(t) thay đổi tuyến tính giữa hai lần
thay đổi đột ngột của A(t). Để loại bỏ sự khác biệt này giữa A(t) và W1(t), chúng
tôi xác định một số hàm số chi phí phụ thuộc vào trạng thái hiện tại của quá
trình A(t). Chúng tôi tăng tích phân quá trình A(t) trong một khoảng thời gian
dài với những hàm số chi phí để biến đổi nó thành tích phân của quá trình W1(t).
2.

Định nghĩa chức năng chi phí
Giả sử rằng A(t) tiến tới trạng thái i sau đó nhảy đến trạng thái j ở lần tắc

nghẽn tiếp theo. Chúng tôi định nghĩa fij là tích phân của W1(t) giữa hai quá
Tiểu luận Mạng và Kỹ thuật truyền số liệu

9



trình chuyển đổi này. Chúng tôi biểu thị thời gian giữa các quá trình chuyển đổi
này bằng . Hàm số chi phí liên quan đến trạng thái được xác định bằng giá trị kỳ
vọng của fij trên tất cả các giá trị có thể có của j. Chúng tôi biểu thị hàm số chi
phí bởi fi. Sử dụng (4) và (5) như sau:
fi = = fig(i)pig(i) +
= + (1 nơi mà và đã cho bởi định nghĩa 1. Chúng tôi biểu thị là thời gian
trung bình A(t) lưu tại trạng thái i.
= = �ig(i)pig(i) +
3.

Tính toán thông lượng
Thông lượng của kết nối 1 bằng trung bình thời gian của cửa sổ tắc

nghẽn được chia bởi T1
=
Sử dụng nguyên lý của các quá trình Markov (hoặc các quá trình
phục hồi trì hoãn) [15], nó có thể chứng tỏ rằng giới hạn này tồn tại và bằng:
=,

P – a.s

Với kết nối 2, mối quan hệ giữa {W1(tn)} và {W2(tn)} được sử dụng để
tránh sự lặp lại của tất cả các công việc. Tất cả trạng thái của chuỗi Markov liên
quan đến kết nối 1 tương ứng với một trạng thái của chuỗi Markov liên quan tới
kết nối 2. Chỉ cần tính toán lại các hàm số chi phí của kết nối 2. Các phân phối
cố định cũng như thời gian trung bình giữa các lần tắc nghẽn không thay đổi.
Thông lượng của kết nối 2 một lần nữa lại được tính bằng cách chia trung bình
thời gian của W2(t) cho T2


Tiểu luận Mạng và Kỹ thuật truyền số liệu

10


Hình 1: So sánh các thông lượng
Kết quả

IV.

Chúng tôi tính toán bằng số mô hình của chúng tôi cho thông lượng của hai
kết nối. Chúng tôi so sánh kết quả của chúng tôi với kết quả của một mô hình
giả định sự đồng bộ của các số thấp. Chúng tôi chọn mô hình trong [12] và
chúng tôi đơn giản hóa nó để phù hợp với giả thuyết của chúng tôi về thời gian
xếp hàng
1.

Trường hợp đồng bộ hóa
Trong [12] các tác giả giả sử rằng trong chế độ cố định, cửa sổ của kết nối

k (k = 1,2) thay đổi một cách tuyến tính và định kỳ giữa hai giá trị và 2. Chúng
xấp xỉ thông lượng của kết nối = . Sử dụng giả định đồng bộ, họ cho thấy rằng
cửa sổ của một kết nối là tỉ lệ nghịch với RTT của nó. Tổng tỷ lệ của hai kết nối
khi tắc nghẽn bằng băng thông nút cổ chai. Viết như sau:
=
+ =µ
Với kết quả là
=
=
2.


So sánh kết quả bằng số
Trong hình 1, chúng ta vẽ đồ thông lượng của hai kết nối là một hàm số của

tỷ lệ của RTT của chúng. Kết nối chậm là kết nối với RTT dài. Kết nối kia được
Tiểu luận Mạng và Kỹ thuật truyền số liệu

11


gọi là kết nối nhanh. Bốn dòng được vẽ, hai cho mô hình của chúng tôi và hai
cho trường hợp đồng bộ hóa. Băng thông nút cổ chai được lấy bằng 1,5 Mbps
cùng với các gói tin TCP với tổng kích thước 576 byte. RTT của kết nối chậm
được cố định đến 0,5 s. RTT của kết nối nhanh có thể thay đổi. Trục X biểu thị
cho tỷ lệ của RTT nhỏ và RTT dài.
Chúng tôi nhận thấy rằng thông lượng đạt được bằng kết nối chậm tốt hơn
trong trường hợp của chúng tôi. Với một thông lượng nhỏ, kết nối chậm có khả
năng thu nhỏ cửa sổ của nó khi tắc nghẽn. Điều này cho hiệu suất tốt hơn. Tuy
nhiên, khi hai kết nối đồng bộ, kết nối chậm có nghĩa vụ thu nhỏ cửa sổ với kết
nối nhanh chóng.

Hình 2: So sánh sự sử dụng
Điều này có nghĩa là một xác suất rớt gói bằng một thay vì chia sẻ băng
thông. Giả sử rằng nó mở rộng cửa sổ của nó chậm hơn nhiều, kết nối chậm có
hiệu suất kém hơn khi chúng ta buộc nó luôn giảm cửa sổ của nó.
Sự gia tăng hiệu suất của kết nối chậm trong trường hợp của chúng tôi
được đi kèm với việc giảm hiệu suất của kết nối nhanh. Tuy nhiên, sự suy giảm
hiệu suất của kết nối nhanh không quan trọng bằng sự cải thiện hiệu suất của kết
nối chậm. Điều này có nghĩa là mô hình của chúng tôi dự đoán việc sử dụng
băng thông nút cổ chai tốt hơn mô hình trong [12]. Điều này được minh họa

trong hình 2. Thật vậy, khi tắc nghẽn xảy ra, tổng tỷ lệ bằng µ. Trong trường
hợp của chúng tôi, một trong hai kết nối thu nhỏ cửa sổ của nó và sau đó sự
giảm thiểu trong tỉ lệ tổng ít hơn một nửa µ. Tuy nhiên, trong trường hợp đồng
Tiểu luận Mạng và Kỹ thuật truyền số liệu

12


bộ, hai kết nối phân chia cửa sổ cùng một lúc và sự giảm thiểu tỷ lệ tổng là bằng
µ/2. Như vậy, trong trường hợp của chúng tôi, việc sử dụng băng thông nút cổ
chai có khả năng cao hơn.
Mô hình đồng bộ hóa dự báo rằng thông lượng của một kết nối tỉ lệ nghịch
với RTT2. Người ta dự đoán rằng mô hình của chúng tôi sẽ cung cấp cái gì đó ít
hơn thế. Trường hợp lý tưởng là khi hiệu suất của một kết nối độc lập với RTT.
Chúng tôi biểu diễn trong hình 4 tỷ lệ thông lượng của kết nối nhanh và của kết
nối chậm. Đây là những thông lượng được thể hiện trong hình 1. Chúng tôi biểu
diễn trên cùng một hình các công suất khác nhau của T2/T1 để xem mô hình của
chúng tôi gần giống với công suất nào nhất. Trục X biểu diễn T2/T1. Kết quả số
của mô hình chúng tôi nằm giữa các dòng điện 0,8 và 0.9. Thông lượng của kết
nối có thể được coi là tỉ lệ nghịch với (RTT)0.85 trong trường hợp lưu lượng
không đồng bộ thay vì RTT2 trong trường hợp đồng bộ.
Mô phỏng

V.
1.

Kịch bản mô phỏng
Chúng tôi mô phỏng hai quá trình truyền TCP dài qua một nút cổ chai bằng

cách sử dụng giả lập Ns2 [16]. Phiên bản TCP-SACK2 [8] được sử dụng. Kịch

bản mô phỏng được thể hiện trong hình 3. Hai nguồn S1 và S2 được kết nối với
một router R để đạt đến đích D. Chúng tôi thay đổi độ trễ truyền (Delay) của
liên kết giữa S1 và R trong khoảng từ 40 ms đến 200 ms. Mô phỏng được chạy
mỗi lần 500s. Các cửa sổ nhận được thiết lập đủ lớn để cửa sổ chỉ được giới hạn
bởi các thông số mạng.

2 TCP_SACK cho phép TCP báo nhận ACK cho các dữ liệu nhận được mà không cần theo
thứ tự. Nghĩa là mỗi gói dữ liệu có chứa một trường tuỳ chọn SACK và không làm thay đổi
cơ chế điều khiển tắc nghẽn bên trong của nó nên vẫn bảo toàn các đặc tính của TCP_Reno
trong trường hợp có các gói dữ liệu đến không đúng số thứ tự, nó chỉ sử dụng cơ chế phát lại
khi hết giờ.
TCP_SACK khác với TCP_Reno là khi thực hiện phục hồi nhanh, nó duy trì 1 biến pipe, biểu
diễn ước lượng số gói dữ liệu đã gửi vào mạng nhưng chưa có ACK. Trong trường hợp 1 cửa
sổ có không quá 1 gói dữ liệu bị loại, hoạt động của TCP_SACK cũng giống TCP_Reno
Tiểu luận Mạng và Kỹ thuật truyền số liệu

13


Hình 3: Kịch bản mô phỏng

Hình 4: Tỉ lệ của thông lượng
2.

Trường hợp của bộ đệm RED
Chúng tôi cung cấp cho router R một bộ đệm RED có tổng kích thước của

20 gói, một ngưỡng tối thiểu là 5 gói dữ liệu và một ngưỡng tối đa là 10 gói dữ
liệu. Xác suất rớt gói tối đa là 0,1 và trọng lượng được sử dụng trong việc tính
toán kích thước hàng đợi trung bình được thực hiện bằng đến 0,002. Lý do cho

việc sử dụng ngưỡng nhỏ là để giảm thiểu thời gian xếp hàng.
Trong hình 5, chúng ta vẽ sơ đồ thông lượng của mỗi kết nối như là một
hàm số của sự trì hoãn truyền giữa S1 và R. Các kết quả gần đúng hơn với những
kết quả của mô hình chúng tôi đặc biệt là cho các kết nối chậm. Kết nối này sử
Tiểu luận Mạng và Kỹ thuật truyền số liệu

14


dụng nhiều băng thông hơn những gì được dự đoán trong trường hợp đồng bộ
hóa. Bộ đệm RED với xác suất rớt gói của nó làm giảm bớt các vấn đề đồng bộ
hóa và cải thiện sự hợp lý của TCP. Sự cải thiện này được thấy rõ hơn đối với
RTT nhỏ của kết nối 1. Khi RTT của kết nối này tăng, phản ứng của nó làm mất
các gói tin trở nên chậm hơn. Phản ứng của kết nối chậm cũng bị chậm. Sau đó,
nhiều khả năng trong khoảng thời gian tắc nghẽn bộ đệm RED rớt gói dữ liệu từ
cả hai kết nối. Hai kết nối bắt đầu giảm bớt các cửa sổ cùng một lúc điều mà mô
hình của chúng tôi không xem xét đến. Ở đây, kết quả mô phỏng gần giống với
các kết quả của mô hình giả định đồng bộ.

Hình 5: Thông lượng trong trường hợp dùng bộ đệm RED
3.

Trường hợp của bộ đệm Drop Tail
Chúng tôi lặp lại mô phỏng của chúng tôi với một bộ đệm Drop Tail nhỏ

trong router R. Chúng tôi thiết lập kích thước bộ đệm ở ngưỡng tối thiểu của bộ
đệm RED trong mô phỏng trước. Kết quả được vẽ trong hình 6. Xu hướng của
các bộ đệm Drop Tail chống lại lưu lượng bùng nổ dẫn đến hiệu suất kém cho cả
hai kết nối. Các mô hình thay đổi không chính xác trong trường hợp này. Tắc
nghẽn xuất hiện khi hai vụ nổ xảy ra cùng một lúc tại bộ đệm chứ không phải

lúc băng thông được sử dụng đầy đủ. Một mô hình giả định đồng bộ hóa có thể
được sử dụng trong trường hợp này nhưngnhững thời khắc tắc nghẽn không thể
được dự đoán trước. Tất cả những gì chúng ta có thể nói về mô hình thay đổi là
các cửa sổ của hai kết nối tỉ lệ nghịch với RTT của chúng.

Tiểu luận Mạng và Kỹ thuật truyền số liệu

15


Hình 5: Thông lượng trong trường hợp dùng bộ đệm Drop Tail
Trường hợp Blue

4.

Để khắc phục những hạn chế của RED, một thuật toán được đề xuất có tên
gọi là BLUE. RED được thiết kế với mục đích:
-

Tối thiểu mức độ mất gói tin và độ trễ hàng đợi,
Ngăn chặn sự giảm lưu lượng đồng lọat trên toàn bộ nơi gửi
Duy trì hiệu năng sử dụng đường truyền cao
Loại bỏ sự không hiệu quả khi lưu lượng bất thường.

Trong tất cả các phương diện kể trên BLUE đều giống hoặc tốt hơn RED.
Kết quả mô phỏng còn cho thấy rằng BLUE hội tụ về điểm hoạt động lý tưởng
trong hầu hết các kịch bản, ngay cả khi BLUE dùng bộ đệm với kích thước nhỏ.
Thuật toán Blue:
Ý tưởng chính của BLUE là thực hiện quản lý hàng đợi dựa trên yếu tố mất
gói tin và hiệu năng sử dụng đường truyền thay vì dựa trên độ dài trung bình hay

tức thời của hàng đợi. Điều này tương phản một cách rõ ràng với tất cả các thuật
toán điều khiển hàng đợi tích cực đã biết bởi các thuật toán này sử dụng không
gian của hàng đợi như là một tiêu chuẩn trong việc điều khiển tắc nghẽn. BLUE
sử dụng một biến xác suất pm để đánh dấu (hay hủy bỏ) các gói tin khi chúng
vào hàng. Nếu như hàng đợi liên tục hủy bỏ các gói tin vì nguyên nhân tràn bộ
đệm, BLUE sẽ tăng pm, vì vậy tăng mức độ nghiêm trọng của thông báo tắc
nghẽn mà nó gửi trở về. Ngược lại, nếu như hàng đợi trở nên trống hoặc đường
truyền rộng, BLUE giảm xác suất đánh dấu pm. Điều này cho phép BLUE "biết"
được mức độ chính xác mà tại mức độ đó nó cần phải gửi trở lại thông báo tắc
Tiểu luận Mạng và Kỹ thuật truyền số liệu

16


nghẽn.
Thuật toán BLUE như sau:
Upon packet loss (or Qlen > L) event:
If ((now – last_update) > freeze_time)
pm := pm + δ1
last_update := now
Upon link idle event:
If ((now – last_update) > freeze_time)
pm := pm + δ2
last_update := now
Minh họa cho thấy sự biến đổi đối với thuật toán mà trong đó xác suất gán
cho mỗi gói tin được cập nhật khi kích thước hàng đợi vượt quá một giá trị cụ
thể nào đó. Sự điều chỉnh này cho phép tạo ra những khoảng trống trong hàng
đợi dành cho sự dao động nhất thời của lưu lượng đồng thời cho phép hàng đợi
điều khiển được độ trễ hàng đợi khi kích thước của hàng đợi khá lớn. Bên cạnh
việc gán xác suất, BLUE dùng 2 tham số để điều khiển tốc độ thay đổi của biến

xác suất qua thời gian. Tham số thứ nhất là freeze_time. Tham số này xác định
khoảng thời gian nhỏ nhất giữa 2 lần cập nhật biến xác suất pm. Điều này cho
phép sự thay đổi trong việc gán xác suất có hiệu lực trước khi giá trị được cập
nhật lại một lần nữa. Mặc dù với thử nghiệm trong bài này freeze_time được
thiết lập là hằng số, tuy nhiên nó cần được thiết lập một cách ngẫu nhiên để
ngăn chặn sự sụt giảm lưu lượng đồng loạt trên toàn bộ nơi gửi. Các tham số
khác được sử dụng là δ1 và δ2 để xác định lượng thay đổi của pm. δ1 chỉ lượng
tăng lên của pm khi hàng đợi bị tràn gây nên hiện tượng mất gói tin, δ 2 chỉ lượng
giảm xuống của pm khi đường truyền rộng. Với sự thử nghiệm trong bài này, δ1
được thiết lập lớn hơn nhiều so với δ2. Điều này được giải thích vì hiệu suất sử
dụng đường truyền thấp có thể xảy ra khi điều khiển tắc nghẽn quá chậm hoặc
Tiểu luận Mạng và Kỹ thuật truyền số liệu

17


quá nhanh nhạy, còn hiện tượng mất gói tin xảy ra chỉ khi điều khiển tắc nghẽn
quá chậm.
Một điều rất quan trọng là thiết lập các tham số một cách hợp lý để BLUE
làm việc hiệu quả. Tham số thứ nhất, freeze_time cần phải được thiết lập dựa
trên thời gian khứ hồi hiệu quả nhằm cho phép bất kỳ sự thay đổi nào trong việc
gán xác suất sẽ được phản ánh lại đến nơi gửi trước khi sự thay đổi tiếp theo xảy
ra. Đối với trường truyền dài với độ trễ lớn như các đường truyền vệ tinh,
freeze_time cần phải được tăng lên để phù hợp với thời gian khứ hồi dài hơn.
Thứ hai, tập hợp 2 tham số δ 1 và δ2 được thiết lập cho phép đường truyền có khả
năng thích nghi hiệu quả với những thay đổi vĩ mô trong lưu lượng truyền đi qua
đường kết nối. Đối với các đường truyền mà tại đó trung bình trong vài phút xảy
ra sự thay đổi rất lớn trong lưu lượng truyền thì δ 1 và δ2 phải được thiết lập kết
hợp với freeze_time để cho phép pm thay đổi giá trị từ 0 đến 1 trung bình trong
vài phút. Điều này là tương phản với các cách tiếp cận theo độ dài hàng đợi hiện

thời khi mà xác suất gán và xác suất hủy bỏ nằm trong khoảng 0 đến 1 trung
bình trong vài mili-giây. Sau khi được xem xét kỹ, giá trị của freeze_time được
thiết lập giữa 10ms và 500ms và thiết lập giá trị của δ 1 và δ2 để chúng cho phép
pm nằm trong khoảng 0 đến 1 trung bình trong 5 đến 30 giây.

Tiểu luận Mạng và Kỹ thuật truyền số liệu

18


PHẦN III – KẾT LUẬN
Chúng tôi đề xuất mô hình thay đổi Markovian để nghiên cứu tính hợp lý
của TCP khi các kết nối không đồng bộ. Sự không đồng bộ hóa được cho là một
trong các kết quả chính của các kỹ thuật quản lý hàng đợi đang hoạt động như
RED. Chúng tôi cho thấy sự hợp lý của TCP cải thiện trong một môi trường
không đồng bộ. Chúng tôi cũng cho thấy rằng sự vắng mặt của đồng bộ hóa cải
thiện việc sử dụng tài nguyên mạng. Chúng tôi xác nhận những kết quả này với
các mô phỏng. Năng lực hấp thụ bùng nổ của các các bộ đệm đang hoạt động cải
thiện tính chính xác của các mô hình thay đổi cho TCP. Trục các bộ đệm Drop
Tail có xu hướng chống lại lưu lượng truy cập bùng nổ và các mô hình thay đổi
không hoạt động tốt đặc biệt trong trường hợp của bộ đệm nhỏ.

Tiểu luận Mạng và Kỹ thuật truyền số liệu

19


TÀI LIỆU THAM KHẢO
[1] E. Altman, J. Bolot, P. Nam, D. Elouadghiri- M. Erramdani, P. Brown,
and D. Collange, "Performance Modeling of TCP/IP in a Wide-Area Network",

IEEE Conference on Decision and Control, Dec 1995.
[2] C. Barakat and E. Altman, "A Markovian Model for TCP Analysis in a
Diferentiated Services Network", Workshop on Quality of future Internet
Services, Sep 2000.
[3] C. Barakat, E. Altman, and W. Dabbous, "On TCP Performance in a
Heterogenous Network: A Survey", IEEE Communications Magazine, Jan 2000
[4] B. Braden, et al.,"Recommendations on Queue Management and
Congestion Avoidance in the Internet", RFC 2309, Apr 1998.
[5]

P. Brown, "Resource sharing of TCP connections with different

round trip times", IEEE Infocom, Mar 2000.
[6]

D. Chiu and R. Jain, "Analysis of the Increase/Decrease

Algorithms for Congestion Avoidance in Computer Networks", Journal of
Computer Networks and ISDN, Jun 1989.
[7]

T. Cormen, C. Leiserson, and R. Rivest, "Introduction to

Algorithms", The MIT Press, Cambridge, Massachusetts.
[8]

K. Fall and S. Floyd, "Simulation-based Comparisons of Tahoe,

Reno, and SACK TCP", Computer Communication Review, Jul 1996.
[9]


S. Floyd, "Connections with Multiple Congested Gateways in

Packet-Switched

Networks

Part

1:

One-way

Traic",

Computer

Communication Review, Oct 1991.
[10]

S. Floyd and V. Jacobson, "Random Early Detection gateways

for Congestion Avoidance", IEEE/ACM Transactions on Networking, Aug
1993.
Tiểu luận Mạng và Kỹ thuật truyền số liệu

20


[11]


V. Jacobson, "Congestion avoidance and control", ACM

SIGCOMM, Aug 1988."
[12]

T. V. Lakshman and U. Madhow, "The performance of TCP/IP for

networks with high bandwidth-delay products and random loss", IEEE/ACM
Transactions on Networking, Jun 1997.
[13]

T.V. Lakshman, A. Neidhardt, and T.J. Ott, "The Drop rom

Front Strategy in TCP over ATM and its Interworking with other Control
Features", IEEE INFOCOM, 1996.
[14] D. Lin and R. Morris, "Dynamics of Random Early Detection",
ACM SIGCOMM, Sep 1997.
[15]

S. M. Ross, "Applied Probability Models with Optimization

Applications", Holden-Day, San Francisco, 1970.
[16]

Network Simulator v.2, University of California at Berkeley,

Available via />[17]

W. Stevens, "TCP Slow-Start, Congestion Avoidance, Fast


Retransmit, and Fast Recovery Algorithms", RFC 2001, Jan 1997.
[18]

L. Zhang, S. Shenker, and D.D. Clark, "Observations on the

Dynamics of a Congestion Control Algorithm: The Efects of Two-Way Traic",
ACM SIGCOMM, Sep 1991.
[19]

/>
Tiểu luận Mạng và Kỹ thuật truyền số liệu

21



×