Cấu trúc phần mềm của NS

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 58)

Người ta đa xây dựng NS theo tư tường tạo cho nó khả năng mở rộng được dễ

dàrm khi nsười nghiên cứu muốn bổ suns các chức năng mới, thử nghiệm các kịch bản khác nhau và nshiên cứu các eiao thức mới. Để đạt được mục tiêu trên, NS sử dụng một mô hình lập irinh phân tách làm hai phân; nsôn ngữ c+ + được sử đụng đê triền khai tlnrc hiện hạt nhan của bộ mô p h ỏ m sồm các chức năna căn bản nhất của mô phỏní2 cần chạy ở tốc dộ cao. Phàn ihír hai của NS sử dụim ngôn ngữ TcK thực hiện các nhiệm vụ định nshĩa, định cấu hình và điều khiển mô phòne. Cách tiếp cận lập trình lách biệt nà\' clcm lại lợi ích to lớn và lâu dài. nó tách aánh nặng của việc• r • •• • • w • W *

f ,

8

5

•y f ^

là đc làm các thí nahiçm nshiên cứu. dem đên cho người nghiên cứu băng mô

〜 〜 ,

plìỏna một môi trưởng dê sử dụng, dẻ đặt lại câu hình và lập trình dược.

Lập írìn h Itivớng đôi ìượnỊỊ

Việc phân chia NS làm hai phần được lập trình bàng các ngôn ngừ khác nhau cũn2 thường thay đổi trong quá trình nshiên cứu các giao thức. V i vậy, việc tái sử dụrm các mô-dun chươĩm trìnlì có V nshĩa hêt sức quan trọníi. điêu nảy dân đên sự lựa chọn lập trình hirớnii dối tượne;. Tuy nhiên, ban đầu khi nũười la thiết kế NS.

9

ngôn ngữ Tel khôns hô trọ' việc lập trình hướng đôi tượng, vì thê dự án V IN T đã chap nhận sử đụng các mở rộng hướng đôi tượng của ngôn ngữ Tel, được phát triên tại Viện Công nẹhệ Massachuset (M IT ),ngôn ngữ này được gọi là OTcl. Nsoài ra, V IN T CÜI1R chấp nhộn một sự mớ rộn5 đơn eiản của Tel, đó là các lớp (TclCL).

Nhờ đó có thê dê dàng tạo ra một đôi tượng được xây dựng băng cả hai ngôn ngữ

C++ và OTcl.

2.3.2.3 Lập írìn h mô phỏng hằng NS

Dưới đây chúng tôi liệt kê các thao tác cơ bản trong việc lập trình mô phỏng

y %

bănơ NS,môi thao tác nàv nói chuns, được biêu diên băne một dòrm lệnh trong

chương trinh mô phỏng, sử đụng ” n钇ôn ngữ” của NS. Các hướng dân chi tiêt hơn có thể tra cứu tron2 tài liệu ns-Manual [23].

Các thao tác đối với bộ lập lịch các sự kiện. Tạo ra mạne.

t

Chọn thuật toán định tuyên.

/

4. Tạo ra kêt nôi và lưu lượng.

~ 、

5. Đưa mô-đun sinh lôi vào đường truyên của mạns; mô phỏng.

6. Ghi lại vết của mỏ plìỏim (Tracing) để xử lý và phân tích sau.

C H Ư Ơ N G 3 Đ Á N H G IÁ H IÈ Ü N Ả N G M Ạ N G B Ằ N G M Ô H ÌN H H À N G Đ Ợ I (adsbygoogle = window.adsbygoogle || []).push({});

Chươns này sử dụrm khái niệm mạch ảo (VC - Virtual Circuit), một khái niệm tươns: đươnsỊ với khái niệm dịch vụ hướns kết nối. 丁rên cơ sờ đó. xây dựns mô hình hàim đợi cho mạch ảo và dưa bài toán đánh giá hiệu năng của các cơ chế kiểm soát lồi kiểu đầu cuối - đầu cuối và kiểu theo chặng, cũng như đánh giá hiệu năng

của cơ chế điều khiển lưu lư ợng bang cửa sổ tn rợ t về các bài toán hàng đ ợ i; các bải

toán này có thể giải dược néII áp dụng một số giả thiết thích hợp, lùm cho nó trở nên đơn giản. Mục 3.2 trình bày một kết quả nghiên cứu của chúng tôi, sử dụng lý thuyêt Hàng đợi đê tính toán định lượng hiệu năng hai cơ chê kiêm soát lôi đâu cuôi - đẩu cuối và kiểm soát lỗi theo chặne. Thông qua việc so sánh kết quả, chúng tôi đã

rút ra được một sô kêt luận hữu ích, trons đó có một sô kêt luận minh chứna cho tính hợp lý của ạiài pháp Snoop TCP.

3.1 M ô hình mạch ảo

't s

Mạch ao là khái niệm đê chỉ đường đi từ nguỏn tới đích trong mạnạ chuyên mạch gói, tươim tự khái niệm dườnii truvền vật lý (Physical circuits) trong các hệ thốne điện thoại. Mạch ảo đảm bảo việc chuyển các gói số liệu từ nguồn tới đích theo đúng thứ tự mà chúng đã được gửi đi từ nguồn. Như vậy, khái niệm mạch ảo tương

/ /

đirơniz với khái niệm dịclì vụ lurớng kêt nôi trons các mô G hình tham chiêu OSI và TCP/IP. Sử dụng khái niệm mạch ảo làm cho việc phân tích các siao thức hướnR kêt nôi trờ nên đơn giản hơn. Hỉnh 3 .la minh hoạ một mạch ảo, đó là một kêt nôi

kiểu đầu cuối - đầu cuối, bên gửi được ký hiệu là s và bên nhận được ký hiệu là D.

Kết nối nãv đi qua các nút niạne 1. 2. 4, 5.

Tronẹ một m ạ m tại cù 112 một thòi di ếm. có thế có nhiều mạch ảo khác nhaiu các mạch ảo có thể cùna đi qua một số nút mạng và đường truyền vật lý, chúng cùnẹ chia sẻ các tài imuven mạn2; tại các nủt và đường truyen. Tài nsuyen mạne nói ờ dây cỏ thề lủ dái thỏnạ của ciirờim truyền, bộ dệm và bộ xử lý tại các mít mạng v.v.

Ngiiôn

(a) Mach ảo từ S đến D đi qua các nút mang 1, 2, 4,

Chặng Chăng 2 Chăng M Nguồn s O - ^ < y 仄 2 o ị^M Đích D (b) M o lìinh hàng đợi của rnọt mạch ảo

Hình 3 .1 Lập mô hình hầnz đợi của một mạch ảo

Tuy nhiên, nếu chúng ta chỉ tập trung nghiên cứu một mạch ảo nào đó, thì chúng ta có thể lập mô hình cho mạch ảo đó như một dãy các hàng đợi nối tiếp nhau, gọi là mạng hàng đợi. trong dỏ. mồi hàng đợi tương írnẹ với một chặng của mạch ảo

y \

(Hình 3.1b). Sự chia sẻ tài ncuycn mans aiừa các mạch ảo sẽ được thê hiện bănu cách làm giảm dune krợníì hàrm đợi và tốc độ phục vụ của n^ười phục vụ. Trên hình vẽ, 入 biều diễn tốc độ dén mạch ảo truns bình cùa các eói số liệu, hay còn gọi là tải trung bình, biêu diên tôc độ phục vụ của nơười phục vụ tại hàna đợi thứ i.

t

Giả sử sự đên của các gói sô liệu theo phản bô Poisson, độ trê lan truyên nhỏ, bỏ qua được bên cạnh thời gian xêp hàng và thời gian truyêri; ngoài ra, tâng Liên kêt dữ liệu bên dưới cung cấp cho tầng trên một đường truyền không lỗi, sự phát lại các gói số liệu bị hỏng ở tầng Liên kết dừ liệu là khềng đáng kể, không ảnh hưởng đến thời eian trễ của vc. Níiay cả với một mô hình đã được đơn súản hoá như vậy, việc phân tích mô hình cũng cực kỳ khỏ, trừ một số trườnơ hợp cá biệt. Đê cho mô hình

彆 ' ,

có thê 2Ìài được, naười ta dà sử dụn« một giả thiêt. được oọi là aiả thiêt dộc lập, lìhầm dơn eiãn hoá mỏ hiiìli: liỏi so liệu khi đi từ níu mạnổ. này sang nút mans khác

鵡 •

dọc theo vc\ clìieu dài cũa nỏ sẽ bị thav đôi một cách nsãu nhiẻn và dộc lập, theo phan bô hàm mù. Vì thời sian phục vụ môi gỏi sô liệu tỉ lệ thuận với chiêu dài cùa nỏ. cho nên thời eian phục ụ 丨 <10i số liệu cùn2 có phàn bố theo hàm mù. Hệ quã ticp

theo là các oỏ\ sô liệu đi ra khỏi hàns đợi theo phân bô Poisson và dên hàns đợi tiêp

theo tro n s m ạníỉ hànu dựi CÜI1 2 theo phân bố Poisson. Đ iề u này đảm bảo dặc tính

M /M /l của tất cả các hàng đợi trong mạng hàng đợi, dẫn đến mạng hàng đợi trên hình 3.1b trở nên có dạng tích (product form) và cỏ thể giải được [38】,[41]. Già thiết độc lập này được Kleinrock đưa ra năm 1972, nó đưa đến lời giải tốt đẹp cho bài toán, điêu nảy dă dược kiêm nghiệm băng các kêt quả mô phỏnu [39].

3.2 Hiệu năng ciía các cơ chẽ kiêm soát lôi (adsbygoogle = window.adsbygoogle || []).push({});

Nói chung, trong các mạng chuyển mạch gỏi,người ta sử dụng hai cơ chế kiêm soát lỗi (rong quá trình trao đổi số liệu giữa các thiết bị cuối trên mạng [7 ],[44],

a/ Cơ chê kiêm soát lôi theo chặng (link-by-link): việc kiêm soát lôi được thực hiện chủ yêu bởi các giao thức tâng Liên kêt dừ liệu, trong đó hai nút mạng ở hai đâu đường truyên phát hiện và khăc phục việc gói sô liệu bị mât hoặc hỏng trên

% t f p f

đường truyên nôi hai nút đỏ. Tuy nhiên, theo cơ chê này, việc khăc phục và kiêm soát lồi eiừa hai thực thể cuối do các aiao thức đầu cuối - đầu cuối đảm nhiệm vần cần phải có để khắc phục một số trường hợp lồi đặc biệt, chẳng hạn một nút mạna

nào đó trên kêt nôi bị hỏng.

b/ Cơ chế kiểm soát lỗi dầu cuối - đầu cuối (end-to-end): việc kiểm soát lỗi chỉ

\ \ t \ f

dựa trên cơ sở một giao thức dâu cuôi - đâu cuôi, trong đó hai nút ở hai đâu của kỗt nối phát hiện và khẳc phục việc gói số liệu bị mất hoặc hòng trên các đường truyền

t % 9 \ t

nôi hai nút đó. Các chức năng truyên thông của giao thức tâng Liên kêt cỉừ liệu có thể được loại bỏ gần hết, chỉ giữ lại chức năng phát hiện lỗi chứ không cần giữ lại

chức nărm klìá c phục lồi.

M ô hình mang

1 ■» %

Mô hinh mans dược dùníi đe so sánh việc kiêm soát lỏi theo chặn2 và đâu cuôi - đầu cuổi dirợc trình bàv trên lì ình 3.2a. trên hình có hai mạch ảo là Ãvc và Xmỉ (im - inte rfe ren ce ). M ạc lì ào 入 vc bao gom M đ irờ n e truvèn. bẳt dầu từ nút nm iồn (1 ) và

kết thúc tại nút dích (M _ l ). lưu lượng đi vào mạch ảo này là Avc- Mạch ào hìn{ chia

%

lưu lượng này (入inl) băns cách siảm dung lượng cảc dường truyên mà 入vc đi qua

\

một iượns thích hợp. Đê mô hinh được đơn eiản, chúns ta giả sử răng dung lượng các dirờnơ truvền mà 入vc được sử dụng là như nhau và bằno ^10; nsoài ra, độ trễ lan truyen cũng băng nhau và bans Ị i pr0p. Mô hinh của chúng ta cho mạch ảo 入VC c 6 M chặns vì thê được thê hiện trên hình 3.2b, với 卜Itrans biêu diên cho năng lực phục vụ hiệu dụng của các đường truyền đối với mạch ảo 入vc.

3.2.1 Kiểm soát lỗi đầu cuối - đầu cuối (end-to-end)

*> -»■

Trong mục này chúng ta sẽ phát triên một mô hình Giải tích đê nghiên cứu hiệu

/ ? \ / ■> f

nỉmn của cơ chê kiêm soát lồi đâu cuôi - đâu cuôi. Mô hình của chúng ta xét một

cách cụ the ảnh hưởna của độ trê lan truyên,duns lượn2 bộ nhớ đệm hữu hạn, lôi

^ r r / , 〜

của kênh' truyên và việc sử dụng cơ chê hêt giờ trong cơ chê kiêm soát lôi.

f 7 射. \ r ^

C ơ che kiem soát lô i đau CUOI - đau CUOỈ (adsbygoogle = window.adsbygoogle || []).push({});

N \ f t

Khi nút nguôn của mạch ảo truyên một gói sô liệu, nó giừ bản sao của gói sô liệu đó trong bộ nhớ đệm cho đến khi nhận được biên nhận từ nút đích. Nút đích chỉ

r / 1

sinh ra biên nhận khi gói sô liệu mà nỏ nhận được là đúng. Nêu nút nguôn không nhận được biên nhận trong khoảng thời gian hết aiờ định trước, thỉ nó sẽ coi gói số liệu là bị mất hoặc hỏng và sẽ truyền lại bản sao của gói số liệu đó. Chúng ta giả thiết ràng hết RÌỜ chỉ xảv ra khi gói số liệu thực sự bị mất hoặc bị hỏng. Chức năna của nút truno gian theo cơ chê này là rât đơn siản: kiêm tra các gói sô liệu đên xem có lỗi luiy k h ò m nếu lỗi thi loại bỏ. nếu khôrm lồi t h ì xếp vào hàn9: đợi để truyền đi liếp. Các eói sồ liệu đến dù khỏnư cỏ lồi. nhưng nẽu tắt cã các bộ đệm đà clầv thì

Hình 3.2 Mô hình mạch ảo

M ô hình cơ sỏ' cho việc kiểm soát lỗi đầu cuối - đầu cuối

Hình 3.3 Mô hình hàng đợi M /M /l/K cho một nút mạng

M ô hình hảng đợi cho một nút mạng được thể hiện trên hình 3.3. Đó là một hàng

•V 、 ,

đợi kiêu M /M /l, với kích thước hàng đợi hữu hạn, băng K. Đê cho đơn ẹiản, chúng ta aiả thiết rằng, tất cả các nút dọc theo mạch ảo là giống nhau, có cùng tốc độ truyền gói số liệu, độ trễ lan truyền và kích thước bộ đệm. Độ trễ lan truyền 1/ịXproọ

của đườno truyền được mô hình hoá bởi một hàng đợi cỏ vô hạn người phục vụ (bởi

r f r / N

VÌ trong thực tê,nêu một gỏi sô liệu đã được phục vụ thì tât nhiên sẽ lan truyên trên đường truyền với thời gian 1/f.iprop), mỗi người phục vụ có tốc độ phục vụ bằng ^Iprop. K hi gỏi số liệu đến nút i nào đó, một trong ba sự kiện sau có thể xảy ra:

Gói số liệu có lồi với xác suất p, nó sẽ bị loại bỏ.

Gói số liệu không có lỗi nhưng không còn bộ đệm rỗi, nó cũng sẽ bị loại bỏ. — Gói số liệu được nhận đúng và được cấp bộ đệm.

Giả thiết rằng mỗi gói số liệu đến nứt i một cách độc lập sẽ bị chặn lại vì tất cả bộ đệm đầy, với xác suất ỉà qi,q, có thể khác nhau đối với mỗi nút của mạch ảo. Chúng ta ký hiệu: fi = C]i + p - qip !à xác suât mà một sói sô liệu bị loại bỏ bời nút i.

NíỊirời ta đã có lời giái cho hàrm đợi M /M /I/K như sau [7], [44]:

- E [L ]j] là số gói số liệu trung bình ở nút trung sian i,cũns chính là chiều dài IruniỊ bình của hàng đợi M /M /l/K , tính dược như sau:

r \

- I ỉ [ w u j là thời gian truna binh mà một 2 0i sỏ liệu đứng xêp hàng dợi truyên cộrìíi với thời sian truyên: sử cỉụna côn2 thức Little chúna ta sẽ cỏ:

E IW,•丨卜 Ei[L丨 具(1-í;) (3-2)

一 H[WịJ là độ trê trunơ bình (xêp hàns. + truyẽn + lan truvên) mà một ró i sô liệu phải chịu khi đi qua dườne truyền i.

rt>p (3-3)

Xác suất bộ đệm tại nút i dầy, vì vậy các 2Ói số liệu từ nút i-1 đén bị chặn

■ :ÃTi 1 一 Pu

(3-4)

Các phương trình (3-3) và (3-4) cho ta độ trễ trung bình và xác suất xảy ra sir chặn tại nút i. M ồi phương trình này là một hàm của các giá trị còn chưa được xác

/

định {Xị} ; các ẹiá trị này sẽ nhận được tronơ mục sau, tron2 đó chúng ta kêt hợp các mô hình mức Liên kết dừ liệu lại thành mộì mô hinh mức mạch ảo.

MÔ hình mức mạch ảo cho việc kiêm soát lô i đau C ỉ i ô i - đâu C í i ô i (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.4 Mô hình mức mạch ảo của sư kiêm soát lôi đâu cuôi - đâu euôi Mô hình mạch ảo thế hiện cơ ché kiêm soát lồi đầu cuối • đầu cuối bẩna sự liên

kêt M mô hình cơ sờ dược mô tả trẻn hình 3.4. Đê thực sự tính được các xác suât chặn và độ trê trurm bình theo các dườnổ truyên. chúnơ ta vân phải xác định {Xị}. Khỏ khãn ờ day là và q, là phụ thuộc hàm cùa nhau. Hơn nữa \ \ * Ằj Ằ\(\ do

xác suất chặn với các níu là kliác nhau và thực tế ỉà một sói sổ liệu SC bị loại bỏ tại níu dáu tiên phát hiện ra nỏ bị lôi. Cách ticp cận cùa chúna ta là trước hot tim tôc dộ

# # , 、 % 擎 擊

dụrm các giá trị này đề tỉm các giá trị tươrm ứnơ cho đường truyền M -lv à sau đó tiêp tục giải quyêt mô hình mức mạch ảo từ phía cuôi ngược lên phía đâu của nó.

Rõ ràng là tốc độ truyền gói số liệu ra đư ờng truyền M tại đ iể m Om trên hình 3.4

được cho bởi 入V.C./ ( 1-p). Do tính bảo toàn thông lượng, tốc độ đi vào đườna truyền M tại điểm I M cũng phải bẳne siá trị này và vì thế:

ẦÁ/ = --- (3-5)

( 1 - /;)2(卜 〜 )

Thay biểu thức này cho X\\ vào (3-4) sẽ cho ta một phươns trình duy nhất với

một biến qM, như vậy chúng ta có thể tính được qM. Khi đã biết giá trị của C]M, (3-5)

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 58)