4 .] 3 New-Reno TCP
5.3.3 Phátlại cục bộ thông minh trong Snoop TCP
Snoop agent ngoài việc phát lại các gói số liệu căn cứ vào số lượng và kiểu của biên nlìận,còn thực hiện việc phát lại theo thời gian hết giờ cục bộ trên chặng
, \ t
không dây, thời gian này tât nhiên nhỏ hơn nhiêu thời aian hêt giờ mà bên gửi sử dụns. Do đặc trưng lỗi của đường truyền khône dây, thời gian khứ hồi cục bộ thay đổi rất nhanh, trong một miền rộng [14], [17],[46] cho nên thời gian hết giờ để phát lại - rto phải được tính một cách động, bám sát trạnei thái của đirờrì£ũ truyền. Khi đường truyền tốt, rto phải nhỏ; ngược lại,khi đườne truyền xấu, rto phải lớn.
Tương tự biểu thức tính RTO tại (5-3),thuật toán tính rto như sau:
rto = max(srtt + 4*rttvar, 1—bound) (5-4)
Trong đó, srtt là ước lượng thời gian khử hồi cục bộ trên chặng không dây, được làm trơn: rttvar là độ lệch chuẩn cùa thời gian khứ hồi rtt; 1—bound là giá trị được :họn làm cận dưới cho rto, việc chọn giá trị cho l_bound sẽ được trình bày dưới ỉây, tại tiểu mục 5.3.3.2. Người ta đă chím2; minh bans; các nçhiên cứu thực nshiệm •ằng. với các đặc diểm của đường truyền không dây* rtt thăng gian? mạnh, nhưna >rtt 卞 4*rttvar nói chung vần lởn han giá trị lớn nhất cùa rtu đảm bảo việc phát lại !à lủng dan [8]. [14], [17].
Thuật toán tính rltvar hoàn toàn giống thuậl toán tính D ở (1-4); trong mã nguồn của snoop agent mà clìún^ tỏi sứ dụns. nỏ dược cài đật cụ thế như sau [50]:
delta = rtt - srtt;
i f (delta < 0) delta = - delta;
i f (rttvar != 0) rttvar = e * delta + (1-g ) * rttvar; else rttvar = delta;
5.3.3.1 Chọn g iá t r ị cho hệ số làm trơn của bộ lọc tin h srít
ư ớ c lư ợ n g th ờ i oiarì k h ứ hồi CŨÌĨQ đ ư ợ c tín h q u a m ộ t b ộ lọc, t h e o t h u ậ t to á n s a i l:
srtt = e * srtt + (1-g) * rtt (5-5)
Biểu thức (5-5) có dạrm hoàn toàn giống biểu thức (1-2), với g tương tự tham số cx,là hẹ sô làm trơn của bộ lọc; rtt ttrơns tự tham sô M ,là thời gian khứ hôi đo được
^ ề f 1
đôi với gói sô liệu đã được biên nhận mới nhât. Tuy nhiên, đê giá trị rto tính theo (5-4) bám sát trạng thái của đường truyên,srtt phải thay đôi nhanh, bám sát sự thay đôi của rtt; chính vì vậy, hệ sô làm trơn ẹ phải đủ nhỏ. Điêu này đã được chúng tôi eiải thích trực quan trên hình 1.10.
Vậy phải chọn hệ số này bàng bao nhiêu là tốt nhất? Theo RFC-793 [49],hệ số z
này nên chọn bàng 0.1. Tuy nhiên, nếu biểu thức (5-5) sử dụne giá trị này cho g, thì sẽ phải sử dụng đến phép nhân, làm tăng chi phí thời gian tính srtt. Chủng tôi sử dụns ạiá trị g = 0,125 = 1/8 = 2"3, nhờ đó biểu thức (5-5) sẽ được thực hiện bàne phép tích dịch có tốc độ thực hiện cao thay cho phép nhân.
5.3.3.2 C l ĩ Ọ ĩ ĩ đơn vị th ờ i gian đồng hồ p h ả i lợ i (snoopTick) và cạn divới của rto
Đê thực hiện được chức năng phát lại cục bộ thông minh trên chặng không dây, snoop agent phải quản lý một đồng hồ phát lại cục bộ,đơn vị th ờ i gian của đỏĩĩíỊ hồ p h á t lạ i chủng tô i kỷ hiệu là snoop Tick. Đồng hồ này tính thời gian hết giờ để
3hủt lại cục bộ theo biểu tlìírc (5-4). được viết lại dưới đâv: rto = max(srtt + 4*rttvar, ]_bound)
1 1 V
Như chúng tôi đã phân tích tại nhỏm tiêu mục 5.1.2 (Đông hô phát lại), việc chọn giá trị snoopTick cần dung hoà hai yêu cầu trái ngược nhau:
I • SnoopTick càng lớn càns tôt. đê giảm chi phí xử lý ngăt đông hô.
y %
2. SnoopTick phải đủ nhỏ đê ước lượng thời gian khứ hôi được làm trơn (srtt + 4*rttvar) bám sát sự thay dôi của thời eian khứ hôi rtí trons một miên rât rộns, tránh sai lầm phát lại quá sớm .
• ề \ f
Rõ rảns là,việc tim ra giá trị tôt nhât cho snoopTick bane Toán học là rât khỏ,
chính vì vậy, chúng tôi sẽ sử dụns công cụ mô phỏne để xác định giá trị snoopTick làm cho việc phát lại cục bộ đạt hiệu quà cao nhất.
Chọn ỊỊÌủ tr ị cận dư ớ i cho rto (ỉ bound):
Vì snoopTick là đơn vị thời eian cim đồng hồ phát lại, nên l_bound là một số n^uveiì lân đơn vị thời ẹian này; ngoài rà, 1 bound không được phép nhỏ hơn giá trị
# •» 、 %
nho nhât có thê có của thời gian klìứ hôi trên chặna khôn a dây (khi đường truyên không gây lôi). Từ hai ràng buộc trên đôi với 1—bound,chúng tôi có thê đưa ra nhận xét: nếu snoopTick được chọn có giá trị lớn hơn ơịá trị nhỏ nhất cỏ thể có của thời
% t
gian khứ hôi trên chặng không dây,thi giá tr ị nhỏ ìíhầt mà ch úng ta có thê chọn cho rto chính là snoopTick,
, , -y
Kêt quả nghiên cứu băng mô phỏng của chúng tôi tại nhóm tiêu mục 5.5.3 cho
r ề % % ^ ,
thay, giá trị tôi tru của snoopTick cân phải băng 2 lân giá trị nhỏ nhât có thê có của
\
thời gian khứ hôi trên chặng không dây. Như vậy nhận xét trên của chúng tôi là
今 r
hoàn toàn có thê áp dụng được và đúng đăn.
5.3.3.3 Dặt giá tr ị cận trên cho rto bằng cách g iỏ i hạn số tần rú t lu i (backoff)
Khi dường truyền không dây ờ trạng thái xấu, ti suất lồi gói tin rất cao, việc phát
ỉỏ \ tin có thể bị thất bại liên tiếp. Mồi lần thất bại, snoop asent lại rút lui theo hàm nũ theo thuật toán tránh tăc nghẽn, nelìĩa là tăns rto lên eap đôi và sau khoảng thời
9 K %
ỉian dó sẽ phát lại gỏi tin. Sau một sô lân rút lui, giá trị cùa rto có thê khá lớn; khi
吻 t 9 \ /
:ió, cỏ Ihê xảy ra một sô vân de khônu nions muôn như sau:
»7 'r \ r f
一 Rút lui quá lâu, có thê kéo dài hêt éiai đoạn đường truyên xâu và hêt cả giai đoạn đường truyền tốt xảy ra sau đỏ, gây lãng phí dải thông.
'f 、 r _ 〜
— Thực tê, ngay trong trạng thái đường truỵên xâu. tỉ suât lôi gói tin cũng không phải là 100% và không theo phân bố đều, mà có phân bố hàm mũ [15]. Nếu để rto tăns quá lớn, sẽ không tận dụne được dải thông.
Rõ rang là snoop agent vừa phải “ cố gắng” phát lại với một mức độ “ kiên trì” nhất định, vừa phải thực hiện chính sách rút lui theo hàm mũ; tuy nhiên, chỉ nên rút lui một số lần,sau đó khôns tăng rto lên nữa. Nói cách khác, cần p h ả i đặt một cận trên cho rtOy nghĩa là giói hạn số lần rút lui.
Để việc phân tích tiếp theo được thuận tiện, chúng tôi đưa ra một số ký hiệu: — te,e là thời gian trễ của gói tin trên chặnơ không dây, từ BS đến MH.
一 tc2e_ack là thời gian trễ của gói tin biên nhận trên chặng không dây. \
— r ttmin « tC2e + te2e^ack là th ờ i gian khử hôi trên chặng kh ô n g đây k h i đư ờng
' f é
truyên ở trong trạng thái tôt, với việc bỏ qua thời eian xử lý và thời gian chờ của các gói tin và biên nhận (rltmin ở đầv tương tự RTT ở (5-1)).
- rto(n) là thời gian hết giờ, khi snoop agent bị hết aiờ lần thứ n liên tiếp.
»» 〜 , f \
— T ( n ) l à t ô n g t h ờ i g i a n t r ê c ủ a m ộ t g ỏ i t i n , n ê u p h ả i p h á t l ại đ ê n l â n t h ứ n
mới thành công.
Áp dụng các lập luận khi xây dựng (5-2), tại mục 5.1, chúng ta có:
n "
- rto(n) « r ỉtimnx 2 n ; T(n) = + /心 = - 2 ' + Kic
t=\ /=|
Giả sử cho teỉe^Sms, rttmin ^ 2.te2c = ỈOms, thì có thể tính được rto(n) và T(n) với các çià trị khác nhau của n như trình bày trên bảng 5.1:
Bảna 5.1 Giá trị của rto(n) và T(n) (đơn vị ms) tính theo n
n 0 1 2 3 4 5 6 7 8
rto ( n ) = 10 20 40 80 160 320 640 1280 2560
T ( n ) = 5 15 35 75 155 315 635 1275 2555
- T(I1) < R TO đê tránh hiện tưựrm tươns tác đôn? hô (đă trinh bày tại mục 5.1 ), với RTO là thời gian hết 2;iờ của bên mri của kết nối TCP.
- rto(n) < T(; để tránh việc rto(n) lớn đến mức, snoop agent chờ phát lại lâu X ệ
hơn thời gian kéo dài trung bình của trạng thái đường truyên tôt, 丁G.
Việc sử dụng công cụ toán học, để xác định chính xác giá trị tối ưu của n. làm cho các ràne buộc trên được thoả măn là một việc khó. vì các lv do sau:
- về nsuvên tẳc. snoop aạent không có cách nào biết cỉược RTO cùa thực thể ạửi TCP; hơn nữa,đại lượne này Clins luôn thay đổi.
• 9 、 • ,
- TCl nêu tren là ai á trị trung bìnlì thôim kê, nó phụ thuộc vào nhiêu yêu tô khác nhau.
I ronô, t h ự c t ế , C l i n g c ó n h à n ạ h i ê n c ứ u s ứ d ụ n s c ô n s ; c ụ t o á n h ụ c đ ể s i ả i b à i t o á n
trẽn, bãng cách sử dụng một sô giả thiêt làm đơn giản bài toán, việc kiêm chứng thường được thực hiện bằng phương pháp do hoặc mô phỏns [34], [45].
C lỉúỉig tô i chọn số lần rú t lu i (backoff) tố i đa n như Ht ế nào?
1. Thoả mãn điều kiện thứ nhất T(n)<RTO: dù khôna thể biết được chính xác giá
/ , 參 %
trị của RTO, nhưng chăc chăn là ít nhât RTO cũng băng 1 đơn vị thời eian của
5 气 , %
cỉôim hô phát lại cua thực thê gửi (timer granularity), nãm trons khoàne 100ms..500ms (đã trình bày tại 5.1.2). Theo bans 5.1,chúng ta phải chọn n < 5. 2. Thoả màn điều kiện thứ hai rto(n)<TG : Nếu lấy độ dài trung bình trạng thái
đường truyền tốt 丁G = 0.66s (sử ciụng kết quả của [15]), thì theo bảng 5.1,chúne ta phải chọn n < 6.
Dựa vào các lộp luận nêu trên, troim mô phỏn^ chủng tôi chọn số lần rút lui tối da n = 5.
5.4 Lập mô hình mạng mô phỏng để đánh giá hiệu năng của Snoop TCP
Chúng tôi sử dụng bộ mô phỏng mạng NS-2. phiên bản 2. ] b9 [23]. Trong phiên bản nảy đã tích hợp Snoop agent dể phục vụ các nshiẻn cứu về Snoop TCP [50]. Tuy nhicn. mà nguồn của Snoop agent chi lìiứi thể hiện thuộl toán mà cluìno tôi dà trình bày lại 5.3.1 và 5.3.2: tât cá các tham sô quan trọns ỉiẽn quan dén việc phát lại
cục bộ đêu bỏ neỏ. dành cho người nghiên cứu lựa chọn. Chúng tôi chọn 2Ìá trị cho
r 9 y 'ề
các tham sô dựa trên các kêt quả nghiên cứu của mình; chăng hạn,các tham sô liên quan dến phát lại cục bộ thôns minh được chọn theo các kết quả nahiên cứu trình
bày ờ 5.3.3; các tham số liên quan đến 1Ĩ1Ô hình lỗi được chọn theo các kết quả nçhiên cứu trình bày ờ 5.2. Để xử lý kết quả mô phỏnơ trong các file vết (trace file), chún2 tôi chủ yếu sử dụng chương trình trgraph,phiên bàn 1,60b [24].
5.4.1 T hiế t lập cấu hình mạng mô phỏng
Mạns mô phóng mà chúng tôi thực hiện được trinh bày trên hinh 5.7. Bèn ơiri
của kết nối TCP được ký hiệu bởi SRC (Source), bên nhận được ký hiệu bởi SNK (Sink). SRC được aán với máy tính cố định FH (Fixed Host) của mạng có dây,SNK được sán với máv di độns MH (M obile Host). M H truy cập FH qua BS bằna đườns truyền khỏns daw diều này cỏ nehĩa là các sói số liệu dược oửi lìr FH đến M I L còn biên nhận đi theo chiều ngược lại.
Đường truyền không đây
Mảv tính cố ảìiúi (FH) Trạm cơ sở (BS) Máy tíah di động (lvIH) Hình 5.7 Mạng mô phỏng
Các tham số ciia đường íruyển có dãy
Chúng tôi dà sử dụng các giá trị sau cho các tham sô của đường truyên có dây: • 丁 rong trườn « hợp lĩìô phỏnạ m a n s L A N có đườnơ truyền không dây: đườns
truvền soim côim, 10Mbps, 10ms.
• Tron2 trườnu hợp mô phòng mạng W AN có đường truyền không dây: đường truvền sonẹ côrm. 10Mbps,100ms.
Các tham sô của đirờníỊ truỵên không (lây
• t \
Trone các mô phỏng, chúng tôi thiêt lập giá trị tôc độ truyen (hay dung lượng dirờna truyên) cùa duờng truycn khônẹ dây băng: 2Mbps. íỉiá trị này lirơna ứna với ^'huan cho niạnu cục bộ klìỏna day L A N 802.1 1: dộ trc cũa cỉirờnu truyền khôna áC\y
dược thiết lập bans 5ms: đặc tính lồi đường iruvền đưực trinh bày tại nhóm tiểu mục 5.4.2 dưới dây.
Cức thum số CÌUỈ kết nổi TCP
Tron2, các mô phỏng của chứng tôi, bên gửi của kết nổi TCP được thiết lập với các tham số như sau:
气
• Trons tnrừng hợp mô phỏnẹ mạng W AN với đườna truyên khôn2 dâv: Chúna
"ĩ r r %
lôi chọn kích tlurớc cửa sô (£Ìá trị tôi đa) xâp xỉ bãn« tích của dải thông với độ
〜 气
trc (b a n d w id th X dchìv) của đư ờng Iruỵên có dâv:
10M bps X 100ms = 1M b ^ 100 g ó i số liệ u (k íc h th ư ớ c 1000 byte).
• Trong trường hợp mô phòng mans LA N với đường truyền không dây: kích
•f \ 'r
thước cửa sô bãne 15 gói sô liệu (cách chọn tươne tự như trên).
• Với các tham sô khác, chúng tôi sử dụng các siá trị ngâm định, thí dụ đơn vị thời gian của đông hô phát lại (timer granularity) băn a 500ms.
Các íh(im sổ cìia Snoop agent
• Thời aian lìét giờ đổ phát lại cục bộ rto,được tính theo (5-4).
• Uớc hrợng thời lịian khứ hồi dược làm trơn srtt. được lính theo (5-5).
• Hệ số làm trơn của bộ lọc tính ước lượníĩ thời aian khứ hồi srtt,s = 0.125 = 1/8 = 2":\ dược chọn theo lập luận t ạ i 5.3.3.1 •
• Giới hạn số lần rút lui theo liàm mũ, SNOOP_iMAX_RXMIT=5, dược chọn theo lập luận tại 5.3.3.3.
• Đơn vị thời gian của đồng hồ phát lại, snoopTick chúng tôi sẽ thay đổi trong một miền rộng,[0.006s •• 0.1s] để tìm ra giá trị tốt nhất (xem 5.5.3).
5.4.2 Thiết lập giá trị các tham số ctia Ĩ11Ô hình lỗi đuọc cài đặt trong NS-2
Chúng tỏi sử dụng mô hinh lồi iMarkov hai trạng thái cải tiến, dược sử dụnơ rộno răi trong các nghiên cửu bằng mô phỏng, như đă được trình bày tại mục 5.2.2. Các sò liộu về dặc tinh lỗi dirờng truyền côrig bố trona [ I5| dược clìủns tôi sử dụno để ilìiêt lập uiá trị eho các tham sỏ cua mò lìinh lỏi:
Trạng thái B a d :入B = 2.6 packet/s, PBG=0.382,PBB=0.618,T B = O.Ols.
Trong một sô trường hợp cụ thê, chúne tôi thay đôi A.B hoặc T b đê nghiên cứu kỹ
Ịl ^ 9 •
ảnh hương của tỉ suât lôi gói sô liệu hoặc độ dài cửa trạng thái Bad lên hiệu năng của giao thức TCP,
(Chủ thích: mô hình ỉồi M arkov hai trạns thái được cải đặt trong bộ mô phong NS-2 sử dụna đơn vị thời eian là giây cho độ dài trạns thái đường truyền tốt/xấu).
%
5.5 Đánh giá hiệu năng của snoop TCP băng mô phỏng
5.5.1 Xác định thòi gian mô phỏng cần thiết
Thời gian mô phỏng càn thiết được nói ở đây là thời gian mô phỏng để các kết quả của việc chạy chương í rình mô phỏng hội tụ tới một giá trị dừng. Việc xác định thời gian mô phỏng cân thiêt là một vân đê quan trọng khi sử dụng bộ mô phỏng NS, nếu chúng ta chạy mô phỏng ít hơn thời gian này, kết quả thu được chưa đạt tới giá trị ổn định, có thể dẫn đến các kết luận sai lầm. Nếu chạy mô phỏng dài hơn thời çian này, sẽ không được lợi gì hon vê độ chính xác của kêt quả thu được, mà lại dân đến tăng chi phí cho giai đoạn xử lý kết quả và tiêu tốn nhiều tài nguyên của hệ thống. Cụ thể là, NS sinh ra kết quả là tệp vết, có kích thước tăng tuyến tính theo thời íian mô phỏng. Trong các mô phỏns của chúns tôi, nếu cho thời gian mô
、 广 , 广 ỵ
phỏns; băn a 400s, kích thước tệp vêt có thê lớn đên hàns trăm megabytes, đê xử lý một tệp lớn như vậy, một máy tính PC với bộ vi xử lý Pentium I I I,750Mhz, 512MB R A M ,có thể phải chạy trong nửa giờ.
, \ r \ f
Đê xác định thời gian mô phỏng cân thiêt,chúng tôi lân lượt tiên hành các mô phỏns với thời eian mô phỏng băns 20s,40s,…,400s. Mans mô phỏng được minh hoạ trên hình 5.7, các tham số tương ứng với trường hợp mạng W A N có đường; truyền khôns dây và sử dụng Snoop agent. Các giá trị cụ thể của các tham số đã được chõ tròng các mục 5.4.1 và 5.4.2.
Các kết quà mỏ phỏng dược liệt kê trẻn bảne 5.2 và dược biểu diễn dưởi dạne đồ thị trcn liình 5.8. Đại ỉưụ\vz thõng lượng chuấn hoá được sử dụnỉì ở đây là ti số của
dồ thị. có thể thấv rõ rànii ràn a thời cian mô phỏng cần thiết tối thiểu phài bàng 100s. Khi tănẹ thời gian mô phòng lẻn nữa. từ 140s đến 400s, kết quả sẽ dao động lên xuốne quanh siá trị trune binh bàng 0.684, độ lệch là 2%. Dựa vào kết quả này,