Đồng hồ phátlại (Retransmission Timer)

Một phần của tài liệu Nghiên cứu phương pháp đánh giá và cải thiện hiệu năng giao thức TCP cho mạng máy tính (Trang 105)

4 .] 3 New-Reno TCP

5.1.2 Đồng hồ phátlại (Retransmission Timer)

Đông hô là các mô-đun chương trình thực hiện đêm giờ theo một đơn vị thời gian nhất định, dựa trên đồne hồ của hệ thốne máy tính. Các đơn vị đồng hồ sẽ phát tín hiệu ngăt (interrupt) môi khi đạt tới một giá trị định trước. Với môi kêt nôi TCP, thực thê gửi/nhận phải quản lý một sô đông hô, sử dụng cho việc thực hiện đúng các chức năng cùa nó. Trong sô các đông hô, quan trọng nhât là Đông hô Phát lại

•* r /

(Retransmission timer). Khi thực thê gửi của một ket nôi TCP gửi đi một gói tin, nó sẽ đặt dồng hồ bằng giá trị RTO,được tính theo thuật toán (5-3) và đồng hồ bắt đầu đếm lùi. Nếu biên nhận đến trước khi đồng hồ lùi về 0,thì đồng hồ sẽ dừng lại. Nếu đồng hồ lủi đến 0 mà vẫn chưa có biên nhận cho gói tin gửi đi, đơn vị đồng hồ sẽ kích hoạt thủ tục phát lại gói tin, sau đó đồng hồ sẽ được đặt lại giá trị mới, theo thuật toán rút lui theo hàm mũ (đã trình bày tại tiểu mục 1.3.2.4 Tính thời gian khứ hồi một cách thông minh).

Việc chọn dơn vị thời gian (tick) cho các dồng hồ là rất quan trọng. Đơn vị thời

21 an càng nhả tlụrc thể TCP sẽ cànc bị 2;ọi nsát nhiều hơn, sỉr dụrm côns suất của )ộ \ứ lý và tiêu hao năne lượn辽 nhiêu hơn (Trons các máy phục vụ - server, sô kêt lố i TCP có thố lên dến hàng nghìn, vấn dề trên càns có ý nghĩa quan trọna). Việc :họn đơn \ ị thời eian lớn sẽ tránh được các vấn đề nêu trên, tuy nhiẽn khi sử dụno :ác dồng hồ II à \ dẻ tính các dại lưựne nhu. RTT. SR IT. RTO, sẽ kém chính xác.

làm oiàm hiệu nãna, thậm chí có thê dân đẻn các phản ứng sai lâm của TCP, chăng hạn phát lại 2Ói tin quá chậm trẻ. N h ư vậy, chúng ta cân p h ả i theo nguyên íăc chung là : Chọn đơn vị thời gian của đông hô càng lớn càng tôty nhưng vân p h ả i đảm bảo sự hoạt động hiệu quả cùa TCP.

9 t

Trong giao thức TCP được cài đặt trên các máy tính kêt nôi với mạng Internet tìTiyên tlìône (có dây), nsười ta thường sử dụng đơn vị thời gian của đông hô phát lại (thườim dược gọi là retransmission tim er granularity) nhỏ hơn giá trị trung bình

của R TT đo được trên Internet khoảng 1 bậc. Tất nhiên giá trị trung bình đó cũng thay đổi cùng với sự mờ rộng của Internet và sự tiến bộ của các công nghệ truyền thông. Tron a siai doạn đầu, nẹười ta thườn e chọn aiá trị cho đơn vị trên bằns;

»

50()ms [ 16], [18J, [35]; trong những năm gân đây, người ta đã đưa ra các khuyên nghị sử dụng các giá trị đồng hồ nhỏ hơn, nằm trong khoảng từ 100..500ms [14], [17], [18],[34].

Nghiên cứu của ch ỉm g tô i:

— Xác dịnh nguyên tác chọn đơn vị thời gian của đồng hồ phát lại cục bộ cho snoop TCP (trình bày tại 5.3.3.2).

、 ,

— Nghiên cứu băng mô phỏng, đê tìm ra siá trị tôt nhât cho đơn vị thời gian của đồng hồ phát lại cục bộ (trình bày tại 5.5.3).

5.2 M ô hình lỗi (E rro r Model) của đưòng truyền không dây

Xác định các đặc diêm lôi của đường truyên không dây là một việc rât quan trọng, bởi vì đó là một trong sô ít các tham sô quan trọng nhât ảnh hưởng đên tât cả :ác tầng của bộ giao thức mạng. Người ta đã nghiên cứu bằng thực nghiệm các đặc điểm lỗi của dường truyền không dây và lập mô hình toán học biểu diễn chúng, các mô hình này được gọi là mô hình lỗi. Các mô hinh lỗi được sử đụng phổ biến hiện nay là mô hình lồi đồng đều, mô hình lỗi Markov hai trạng thái và mô hình lỗi Markov hai trạng thái cải tiến. Các mô hình lồi có vai trò đặc biệt quan trọng trong việc nghiên cửiL dánh giá hiệu năns mạnơ bàn2 mô phỏĩm, bởi vì chúns có thể áirợc thực hiộn ba nu chirơrm trình máv tính [13]. [32].

5.2.1 Mô hình lỗi đồn g đều (Uniform E r r o r Model)

Đây là mô hinh lôi đơn giản nhât, tron a đó lôi được phân bô đêu, Đơn vị tính lôi

鬌 , 肀

có thê lả gói tin, cũng có thê là byte hay bit. Mô hình này có nhược đi êm là không

y

phản ánh được tính bùns; nô của lôi đường truyên không dây; chính vì vậy nó thượna chỉ được sử dụníĩ tronẹ các nạhien cứu nhằm đạt được các kết quả có tính chát dịnh tính.

5.2.2 Mô hình lỗi M arkov hai trạn g thái (Two-state M arkov E r r o r Model)

Hình 5.2 Mô hình lồi Markov hai trạng thái

Mô hình lỗi Markov hai trạng thái được thể hiện trên hình 5.2. Theo mô hình này, đường truyên có hai trạng thái là tôt 一 Good và xâu 一 Bad. Trong trạng thái Good, tất cả các gỏi tin đi qua đường truyền đều không bị lồi; còn trong trạng thái Bad, tất cả các gói tin đi qua đường truyền đều bị lỗi. Nếu độ dài trung bình của

I , t \

trạng thái Good là L(; (bãng sô gỏi tin liên tiêp truvên thành công), ở trạns thái Bad

_ / F y

]^[ị (bãng sô gói tin lien tiêp truyên bị lôi) thì các xác suât chuyên trạna thái được

tính nhu* sau:

• Xác suât c h u y ê n từ trạng thái Good sang trạng thái Bad: PGĐ = 1/Lc,

t f

• Xác suât chuyên từ trạng thái Bad sang trạng thái Good: PBG = 1/LB Các xác suât chuyên là không nhớ; nhờ tính chât quan trọng này mà trong mô hinh, việc chuyển trạng thái có thể thực hiện đối với từno gói tin. Mô hinh lỗi Markov hai trạng thái mô tả được tính bùng nổ của lỗi đường truyền khôns; dây, chính xác hơn mô hình lôi đông đêu: tuy nhiên, mô hình này cung chưa mô tả được diinh xác tất cả các trạng thái lồi dường truyền,Do tính dơn giản nẻn mô hình lỗi Markov hai trạng thái thường được sứ dụ ne trone nehièn cứu. kể cả nahicn cửu

5.2.3 M ô hình lỗi M a rk o v hai trạ n g thái cái tiến

Mô hinh lồi Markov hai trạnu thái cài tiến được minh hoạ trên hình 5.3. Mô hình nàv cỏ hai trạnạ thái là tốt 一 Good và xấu - Bad. Trons trạns thái Good,các sói tin đi qua đường truyên vân cỏ thê bị lôi với một giá trị trung bình và theo một phân bô nhất định, được chỉ rõ. Tương tự như vậy. trong trạng thái Bad, không phải 100%

oỏị tin di qua cỉườnẹ truyên dêu bị lôi.

Pgb = t ^ kG > Ả B Pbg = t ^

Hỉnh 5.3 Mô hỉnh lỗi Markov hai trạng thái cải tiến

Các tham sô của mô hình lôi Markov hai trạno thái cải tiên có ý nơhĩa như sau:

\

Xq và 入B là tôc độ đên trung bình của gói sô liệu bị lôi khi đường truyên ở hai trạng thái tương ứna là Good và Bad, chím2 có một phân bố nào đó, thí dụ phân bô đêu hoặc phân bô hàm mũ.

• T g và B là độ dài trung bình của các trạng thái tương ứng Good và Bad. G và

T b tương tự Lg và Lịị trong mô hình lỗi Markov hai trạng thái, có đơn vị đo là

gỏi tin (nên >1).

• p(;tì = 1,Tg là xác suất chuyển từ trạng thái Good sang trạng thái Bad. • P g g = 1- P(iB là xác suất ở lại trạng thái Good.

• PBG = 1 /1[Ị là xác suất chuyển từ trạna thái Bad sans trạn^ thái Good. • PnB = 1- PBG là xác suất ờ lại trạns thái Bad.

Các tác giả ctìa [15] dà sử dụng cách tiếp cận dựa trên vết (trace) để shi lại. phân tích và xác thực các thông tin về sự mất gói số liệu trên đườns truyền không dây. Họ sử dụne các kct qua phãn tích thôna kẻ sô liệu vẻ lỏi trên mạns thực làm các ;ham sô đau \ào (input) cho các mô hình lôi. ròi sử đụns các mô hình lôi này tronu

、 ' r

mô phỏng; dông thời so sánh với kêí quả mô phỏng chạy theo vêt. Các tác giả đã chỉ ra ranç, so với các kêt quả mô phòna chạy theo vêt, kêt quả mô phòng sử dụng các mô hình lỏi Dồna dều, Markov hai trạng thái và Markov hai trạng thái cải tiến có độ sai khác tươne ứng là 21% 13% và 5%. Như vậy, mô hình lồi Markov hai trạng thái cải tiến phản ánh chính xác hơn đặc tính lỗi đường truyền không dây trong thực tế, nói churm đáp ứnạ được yêu cầu của việc nghiên cứu định lượng. Chính vi vậy. hiện ỉYả\ mô hình lôi Markov hai trạns thái cải tiên đana được sử dụns rât rộn2 rãi tronu cảc nshiên cứu băne mô phỏng; thí dụ trong [9],[12], [15], [16], [34].

5.3 Snoop TCP

Mục đích cửa cơ chế Snoop TCP là cải thiện hiệu năng của giao thức TCP trong

% 9

mạng có đường truyên không dây là chặng cuôi cùng của kêt nôi, không đòi hòi

f ___ / ê

phải sửa đôi giao thức TCP đã được cài đặt trên các máy tính kêt nôi Internet (mạng có dây), dồn2, thời cho phép tích hợp dễ dàng các thiết bị truyền thông di động đàng truyền thông qua các đườns truvền khôns, dây với phần còn lại cua Internet.

Chúng ta có thể đạt được mục tiêu này bằng cách cài đặt một phần mềm, gọi là

Snoop aoent,tại trạm cơ sở Fis. Snoop agent thực hiện việc nhớ bàn sao các gói sổ liệu mà nó (1a chuyển tiếp qua chặng không dây và thực hiện phát lại một cách

ĩhôn^ minh các gói sô liệu bị mát trên chặn^ không dây băng cách theo dõi các biên

nhận do bên nhận sinh ra và bằng cách sử dụng các đồng hồ điều khiển phát lụi cục bộ. Việc phát lọi dược thực hiện tại tâng Liên kẻt dữ liệu nhưng có sự nhận biết TCP (TCP-aware ỉ ink- ỉ ayer retransm iss ion) [16], [34].

FHr bên gửi Tilled Host)

1 lình 5.4 Nguyên lý hoạt ủộno của Snoop TCP

K ết nối T C P Phát lại cục bộ

- 4 ---

Neuyên lý hoạt động của Snoop TCP được minh hoạ trên hình 5.4. Snoop agent bao sồm hai thù tục (mô-dun) gắn kết với nhau là snoop_data() và snoop_ack(); snoop dataO xử lý và nhớ đệm các gói sô liệu gửi đôn cho M H ; còn snoop_ack() xử lý các biên nhận do M H gửi đi và sẽ tiên hành phát lại cục bộ các gói sô liệu bị mât hoặc lồi trẽn chặníí từ BS đến M H dựa trên đồng hồ điều khiển phát lại cục bộ và

•> N

kiêu của các bien nhận. Các thuật toán trong hai thủ tục trên được trinh bày băng lưu dồ trỏii lìình 5.5 và 5.6 và được oịải thích ớ tiểu mục 5.3.1 và 53.2 dưới đây. 5.3.1 Snoop data

Gói sỏ liệu của giao thức TCP được xác định một cách duy nhât bởi sô thứ tự của by te đàu liên và kích thước của sói sô liệu dó. Tại ÍỈS, snoop_data() luôn theo dõi sát số thứ tự oỏi số liệu mới nhất mà nỏ thấy trên kết nối và dựa vào số thứ tự gói số

* y \

liệu đên đè xử lý chúng theo các cách thích hợp. Lưu đô thuật toán của thủ tục snoop_data() được thể hiện trên hình 5.5; nó hoạt động như sau:

Trường hợp chung

1. T nrờỉíỊỊ h ự Ị) chung: Gỏi sổ liệu mới, cỏ số (hử tự tăng lẽn theo trình tự bình

r 9

thưởng, đên Snoop agent tạ i BS. Trong trường hợp này, gói sô liệu sẽ dược đưa

1 / ,

vào bộ nhớ đệm của snoop—data() và sẽ đưực chuyên tiêp đên M I I.

2. S ự p líá t lạ i của ngư ời g ử i: Gói sô liệu không đủng thứ tự đên, nó đã được nhớ

từ írước írong bộ nhớ đệm của snoop jỉo ta (). Trườnơ hợp này không phổ biến

băng trường hợp trên, xảy ra khi trong mạns Internet (hình 5.4) có gói sô liệu bị loại bó, gâv ra hêt giờ tại bên gửi. Nó cung có thê xảy ra khi bên gửi của kêt nôi TCP thực hiện phát lại nhanh (FRXT). Thù tục snoop_data() sẽ có các hành độnu khác nhau tuỳ thuộc vào việc sổ thứ tự của gói số liệu này lớn hơn hay nhỏ hơn cùa ẹói số liệu mới dược biên nhận sau cùng. Nếu số thír tự lớn hơn biên nhận cuối cùng mà snoop一data() đã thấy, rất có thể là gói số liệu này trước đó chưa tới M H và vỉ thê nỏ sẽ được chuyên tiêp. Mặt khác, nêu sô thứ tự nhỏ hơn biên nhận cuối cùng, chứng tỏ gói số liệu này M H đã nhận được, vì vậy, lựa chọn duy nhât đúng là loại bỏ gói sô liệu và tiêp tục công việc.

, f t r r

3. M àt do ìãc nghẽn: Gỏi sô liệu không đúng thử tự đen, trước đó g ó i sô liệu này

chưa được nhớ đệm, Trong trường hợp này, đã có gỏi số liệu trước nó bị mất

trons mạrm (có dây) do tắc nghẽn, hoặc là các aói số liệu đã được mạns phân phát không đúng thứ tự. Đẻ cho đơn siản. tron这 luận án này chúng tôi giả sử răng trong phân mạng có dây. không có sự mât gói sô liệu do tăc nghẽn và sự phân phái các gói số liệu sai thứ tự.

5.3.2 Snoop AC K s

Thủ tục snoop_ack() giám sát và xử lý các biên nhận (ACKs) do M H gửi trờ lại rà thực hiện các hành động khác nhau tuỳ thuộc vào loại và số biên nhận nó nhận lược (có ba loại biên nhận). Lưu đồ thuật toán của thủ tục snoop一ack() được thể

ìiện trcn hình 5.6; nó hoạt độns như sau:

1- Trường hợp ch iu tỊỊ: Bien nhạn mới. đây là tnrờno hợp phổ biến, khi kết nối

lâu như không có lôi và người sử dụng di chuyên ít. nó báo hiệu sự tăng cùa dãy

- I l l -

G i ả i p h ỏ n g b ộ đ ệ m : xoá tất cả các gỏi số liệu đã được biên nhận khỏi bộ đệm

của snoop—data().

Cập nhật ước lượng th ờ i gian khứ hôi: ước lượng cho thời gian khứ hôi của

đường truyền không dây cũns được cập nhật một cách thông minh, nó không được thực hiộn dôi với từnẹ eói sô liệu, mà chỉ dược thực hiện với một oỏ\ sô liệu trono

mỗi cửa sổ gửi và chỉ được cập nhật nếu trong cửa sổ dỏ không phải phát lại gói số

liệ u nào. Điều kiện thứ hai vừa nêu là cần thiết bởi vì nói chung, không có cách náo

f \ \ f

xác định được một biên nhận ià cho gói sô liệu phát đi lân đâu hay cho chính gói sô liệu đó ở lần phát lại.

•p f 1

C h u y ê n t i ê p b i ê n n h ộ n c h o ngư ời gửi', việc cuôi cùng là chuyên tiêp biên nhận

tới cho n íirờ i gửi - FH,

Bien nhận lặp đầu tiẽ ti

Bien nhận mới? (New ack?)

S n ơ ữ p a c k ộ

Bien nhân đi đến

Loại bỏ

(Discard) No

Biên nhận g iả mạo

Loai bỏ (Discard) No Biên ỉỉhận ỉặp kế tiếp Ves 1. Giải phóng bộ đệm 2. Cập nhật ước lượng

thòi gian khứ hồi 3. Chuyến tiếp bien nhận

tới người gửi

Trường hợp chung

1. Nêu gói tin có trong bộ nhớ đệm: Phát lại

+ với quyên ưu tiên cao

Yes + loại bỏ biên nhân lặp 2 Nêu không: cho biên

nhận lặp đi qua, về FH

2. Bien nhận giả mạo: là biên nhận cho gói số liệu có số thứ tự nhỏ hơn số thứ

, r f

tự gỏi SÔ liệu đã được biên nhận sau cùne mà snoop agent thây, tình huông này hiểm khi xảy ra. Biên nhận này sẽ bị loại bỏ và việc xử lý các gói số liệu sẽ tiếp tục.

f

3. Biên nhận lặp: là bien nhận hoàn toàn giông với một biên nhận tích luỹ cao

\ r \

nhcit dà nhận được trước dó. Khi bién nhận lặp đâu tiên đên snoop_ack(), điêu đó

« ______ 9 r r ^

nói lên răng M H không nhận được gói sô liệu cỏ sô thứ tự kê tiêp sô thứ tự chỉ ra tronç bien nhận lặp. Tuy nhiên, nếu Snoop asent tiếp tục nhận được các biên nhận lặp nữa, điều đó nói len ràng M H đã nhận được một số gói số liệu có thứ tự tiếp theo gói số liệu mà nó không nhận được. Lý do là vì, M H sẽ gửi một biên nhận lặp cho mỗi gói số liệu nó nhận được nhưng không đúng thứ tự. M ộ t trong các hành độns sau đây sẽ xảy ra tuỳ thuộc vào kiêu của biên nhận lặp và vào trạng thái hiện thời của snoop_data():

Biên nhận lặp đầu tiên (F irst one? = Yes): nếu gỏi số liệu cần phát lại không cỏ

tronạ bộ nhớ đệin của Snoop agent, thi nó sẽ phải được FH phát lại, do đó Snoop agent cần chuyển tiếp biên nhận lặp cho FH, bởi vì FH (thực thể gửi của kết nối TCP) cần có các thông tin trạng thái, dựa trên số biên nhận lặp nhận được dể quyết

định việc phát lại một gói sô liệu. Nêu Snoop agent cỏ gói sô liệu tương írns với biên nhận lặp này trong bộ nhớ đệm, thi nó cần phát lại gói số liệu đó và loại bỏ ^iên nhận lặp.

Biên nhận lặp kế íiếp (F irst one? = No): trường hợp này xảy ra khi một biên

ihận lặp nữa đên. Lúc này, gỏi sô liệu bị mât đã được phát lại khi biên nhận lặp thứ

Một phần của tài liệu Nghiên cứu phương pháp đánh giá và cải thiện hiệu năng giao thức TCP cho mạng máy tính (Trang 105)

Tải bản đầy đủ (PDF)

(136 trang)