基于NS2的UDP仿真報告_第1頁
基于NS2的UDP仿真報告_第2頁
基于NS2的UDP仿真報告_第3頁
基于NS2的UDP仿真報告_第4頁
基于NS2的UDP仿真報告_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于NS2的UDP協(xié)議仿真1. UDP協(xié)議的特點UDP 是 OSI 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。UDP 協(xié)議基本上是IP協(xié)議與上層協(xié)議的接口。UDP協(xié)議適用端口分別運行在同一臺設(shè)備上的多個應(yīng)用程序。UDP協(xié)議并不提供數(shù)據(jù)傳送的保證機制。如果在從發(fā)送方到接收方的傳遞過程中出現(xiàn)數(shù)據(jù)報的丟失,協(xié)議本身并不能做出任何檢測或提示。UDP協(xié)議稱為不可靠的傳輸協(xié)議。UDP報頭由4個域組成,其中每個域各占用2個字節(jié),具體如表1所示:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 20 21 22 23 24 25 2

2、6 27 28 29 30 31源端口目的端口段長校驗和表1 UDP報頭結(jié)構(gòu)UDP協(xié)議使用端口號為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。數(shù)據(jù)發(fā)送一方(可以是客戶端或服務(wù)器端)將UDP數(shù)據(jù)報通過源端口發(fā)送出去,而數(shù)據(jù)接收一方則通過目標(biāo)端口接收數(shù)據(jù)。 UDP協(xié)議使用報頭中的校驗值來保證數(shù)據(jù)的安全。校驗值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計算得出,在傳遞到接收方之后,還需要再重新計算。如果某個數(shù)據(jù)報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送和接收方的校驗計算值將不會相符,由此UDP協(xié)議可以檢測是否出錯。2. NS2軟件的安裝與配置2.1 ubuntu實驗環(huán)境 Ubuntu是Linux的一

3、個版本,是一款免費的操作系統(tǒng),Ubuntu 項目完全遵從開源軟件開發(fā)的原則;用戶可以通過網(wǎng)絡(luò)或其他途徑免費獲得,并可以任意修改其源代碼。這是其他的操作系統(tǒng)所做不到的。NS2在linux環(huán)境下運行比在windows下更穩(wěn)定,出現(xiàn)更少的錯誤,還可以更改linux內(nèi)核,使得仿真效果更好。2.2 軟件安裝NS2可以再Linux平臺下運行,因此一般需要安裝Linux操作系統(tǒng)。也可以采用Windows+虛擬機(VMware,Virtual PC)+NS組合的方式。若要在Ubuntu上運行NS2,下面的軟件是在安裝和使用NS2中需要用到的,必須先行安裝。 (1)編譯器gcc、make:sudo apt_ge

4、t install build-essential. (2) tk、tcl的庫文件:sudo apt-get install tcl8.4. (3)與nam相關(guān)的庫文件:sudo apt-get install libxmu-dev.NS2安裝步驟: (1)下載NS2安裝壓縮包ns2-allione-2.34.tar.gz,并放在安裝路徑的目錄文件夾下。 (2)進(jìn)入該目錄并解壓ns2-allione-2.34.tar.gz包到當(dāng)前目錄: tar-vxzf ns2-allione-2.34.tar.gz. (3) 進(jìn)入解壓后的文件夾,然后開始安裝NS:./install (4) 配置環(huán)境變量.

5、(5)測試:在終端輸入ns.如果輸出%,表明安裝成功。如圖2.1: 圖2.1 安裝成功2.2 相關(guān)配置 安裝成功后,還要設(shè)置環(huán)境變量:修改用戶目錄(包括個人用戶和root用戶,個人用戶目錄一般在/home 下面,root用戶目錄就是/root)下的.bashrc(該文件是隱藏文件),必須在該文件末尾追加以代碼:驗證時,可以運行軟件自帶的例子,或者如圖2.2所示:圖2.2 驗證代碼2.3 NS的仿真過程2.3.1 NS2模擬基本流程開始結(jié)束調(diào)試重新編譯NS編譯通過?分析問題結(jié)果滿意?修改源碼?修改源碼問題定義是否否是編寫Tcl腳本執(zhí)行模擬否 分析結(jié)果是圖2.3 NS2進(jìn)行網(wǎng)絡(luò)模擬的基本流程2.3

6、.2 NS2仿真的步驟1. 配置網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),確定鏈路的基本特性,如延時、帶寬和選擇策略等。2.建立協(xié)議代理,包括端設(shè)備的協(xié)議綁定和通信業(yè)務(wù)量模型的建立。3.配置業(yè)務(wù)量模型參數(shù),確定網(wǎng)絡(luò)上的業(yè)務(wù)量分布。4.設(shè)置Trace對象,把仿真中發(fā)生的特定類型事件記錄在Trace文件中,通過Trace文件保存整個仿真過程。仿真完成后,用戶對Trace文件進(jìn)行分析研究。3. 實驗設(shè)計及實現(xiàn) 該實驗首先在場景1中無線網(wǎng)絡(luò)中UDP的傳輸吞吐量、丟包率和端到端時延的分析。關(guān)鍵代碼的實現(xiàn)Trace文件運行第二章中的隱藏節(jié)點的tcl腳本代碼后,自動生成跟蹤文件即.tr文件無線網(wǎng)絡(luò)的整個模擬過程有Trace文件記錄。無

7、線Trace支持使用cmu-trace對象,有3種類型:CMUTrace/Drop、CMUTrace/Recv、CMUTrace/Send。模擬無線網(wǎng)絡(luò)時,該三類對象用以記錄由代理、路由層、MAC層或接口隊列所產(chǎn)生的丟失、接收和發(fā)送分組的事件信息。NS2的發(fā)展對于無線Trace文件的格式做了一定的修改,但主要的信息沒有變化,具體的格式圖3.1:下圖3.1的代碼是trace文件建立,用于記錄吞吐量、丟包率和網(wǎng)絡(luò)延遲,后面用xgraph來輸出圖像:圖3.1 建立trace的代碼以下圖3.2代碼用于創(chuàng)建代理,特別是接收端設(shè)置LossMonitor來記錄丟失分組等數(shù)據(jù),用于后面對吞吐量,丟包率,延時的

8、計算:圖3.2 創(chuàng)建代理的代碼4. 程序運行首先打開終端,輸入sudo -i,回車,輸入密碼,進(jìn)入管理員權(quán)限如下圖4.1:圖4.1 進(jìn)入管理員權(quán)限然后輸入cd /home/administrator/桌面/ZGN,回車,進(jìn)入程序所在文件夾,如下圖4.2:圖4.2 進(jìn)入程序所在文件夾最后輸入ns ZGN.tcl,運行程序,如下圖4.3:圖4.3 運行程序 此時在文件夾內(nèi)已經(jīng)生成了相應(yīng)的trace和nam文件如下圖4.4:圖4.4 trace和nam文件此時程序已經(jīng)根據(jù)trace和nam文件,分別用xgraph和nam軟件生成了對比圖形和nam 圖形,下面將根據(jù)圖像作詳細(xì)分析。5. 無線環(huán)境下吞吐

9、量、延時和丟包測試1場景描述:該模型由8個無線節(jié)點組成,是前80秒的操作,在1秒,11秒,21秒,31秒0,2,4,6四個無線節(jié)點分別開始發(fā)包,隨著實驗的進(jìn)行,丟包,延時,吞吐量等問題相繼產(chǎn)生。如下圖5.1為實驗拓?fù)鋱D,無線PC_0,PC_2, PC_4, PC_6分別向 PC_1, PC_3, PC_5, PC_7發(fā)送數(shù)據(jù)包:圖5.1 吞吐量,延時和丟包測試拓?fù)鋱D 下圖5.2 在0秒的時候8個無線節(jié)點的nam 圖:圖5.2 無線節(jié)點的nam 圖下圖5.3,在1秒的時候節(jié)點0開始向節(jié)點1發(fā)送數(shù)據(jù)包,此時并未發(fā)現(xiàn)丟包象:圖5.3 0開始向節(jié)點1發(fā)送數(shù)據(jù)包圖5.4,在11秒的時候節(jié)點2開始向節(jié)點3

10、發(fā)送數(shù)據(jù)包: 圖5.4 2開始向節(jié)點3發(fā)送數(shù)據(jù)包 下圖5.5,21秒以后節(jié)點4開始向5發(fā)送數(shù)據(jù)包并且由于信道占用,使得丟包現(xiàn)象明顯。 圖5.5 4開始向5發(fā)送數(shù)據(jù)包下圖5.6,在31秒以后節(jié)點6開始向節(jié)點7發(fā)送數(shù)據(jù)包,并且由于此時有四條無線傳輸鏈路在傳輸信道占用嚴(yán)重,所以丟包現(xiàn)象更加嚴(yán)重,如下圖:.6 6開始向節(jié)點7發(fā)送數(shù)據(jù)包6. 性能參數(shù)分析模型6.1 傳輸延時 網(wǎng)絡(luò)的傳輸延時D定義為源節(jié)點發(fā)出的一個分組到目的節(jié)點接收到該分組之間的時間差,包括電(光)信號在物理介質(zhì)中的傳播延時和數(shù)據(jù)在網(wǎng)絡(luò)中的延時處理。結(jié)合NS的Trace文件,實習(xí)中以分組發(fā)送和到達(dá)之間的時間間隔來計算,計算公式如下: D(

11、i) = RT(i) ST(i)其中,D(i)表示第i個分組的傳播時延,RT(i)表示第i個分組的接收時間,ST(i)表示第i個分組的發(fā)送時間。在分析網(wǎng)絡(luò)的傳輸延時,一般計算平均傳輸時延。延時對比圖像6.1:圖6.1 延時對比圖像分析:由圖6.1隨著爭用通信信道的節(jié)點數(shù)增加,數(shù)據(jù)包的傳輸時延明顯增大,并且擁塞窗口大?。–W)調(diào)整所需時間更長。6.2 丟包率 丟包率定義了傳輸期間網(wǎng)絡(luò)丟失的分組的數(shù)量,通常是在特定時間段內(nèi)丟失的分組占傳輸?shù)臄?shù)據(jù)總量的比例。丟包率是反映網(wǎng)絡(luò)質(zhì)量的一個重要參數(shù)。在分析Trace文件時,以丟失分組的數(shù)量與發(fā)送分組的數(shù)量的比值來衡量丟包率的大小。 L=(NSPNRP)/N

12、SP其中:NSP表示節(jié)點發(fā)送的分組數(shù)目,NRP表示節(jié)點接收的分組數(shù)目。丟包率對比圖像6.2:圖6.2 丟包率對比圖像分析:從圖6.2中可以看出,每當(dāng)爭用通信信道的節(jié)點數(shù)增加,數(shù)據(jù)丟包率就相應(yīng)增大。因為1.0 , 11 時段內(nèi),只有一個節(jié)點使用通信新到時,數(shù)據(jù)丟包率為0, 而當(dāng)有更多的節(jié)點加入并共同爭用信道時,節(jié)點的通信性能開始變壞(即,開始丟包)。6.3 吞吐量 網(wǎng)絡(luò)吞吐量是網(wǎng)絡(luò)性能的一個重要參數(shù),指在不丟包的情況下單位時間內(nèi)節(jié)點可以接收的數(shù)據(jù)量,單位是字節(jié)每秒或比特每秒, 在分析Trace文件時,使用以下公式: TH(i) = (TB(i)TB(m)/(RT(i)RT(m)其中:TB(i)是

13、指到第i個分組被目的節(jié)點接收時已經(jīng)傳輸?shù)臄?shù)據(jù)總量,RT(i)是指第i個包的接收時間。im,表示計算從第m個分組到第i個分組的吞吐量。 對前80秒trace文件生成圖像的分析,如下圖分別是生成的xgraph圖像:吞吐量對比圖像6.3:圖6.3 吞吐量對比圖像分析:節(jié)點0在T =1秒開始傳送數(shù)據(jù),節(jié)點1在T=11秒開始傳送數(shù)據(jù)。1.0,11內(nèi),唯有節(jié)點1傳送數(shù)據(jù),它占用了所有的網(wǎng)絡(luò)帶寬,所以上圖該時段內(nèi),節(jié)點1的性能在整個模擬過程是最好的。節(jié)點2在T=11秒開始傳送數(shù)據(jù),開始與節(jié)點0爭用信道資源,不過在T=21.0秒前,還未超出信道的服務(wù)能力; 隨著更多節(jié)點的相繼加入,我們看到各節(jié)點的傳輸率一再下

14、降,并且由于爭用,各自均處于波動狀態(tài)。7. 小結(jié):隨著網(wǎng)絡(luò)系統(tǒng)復(fù)雜度的增大,傳統(tǒng)的分析法和實驗法越來越不適應(yīng)網(wǎng)絡(luò)系統(tǒng)的特點,仿真法成為網(wǎng)絡(luò)性能分析的主流方法。NS2作為一種離散事件網(wǎng)絡(luò)仿真平臺,可以運行在Linux或Windows 操作系統(tǒng)上。作為一種可擴展、易配置、可編程的事件驅(qū)動的網(wǎng)絡(luò)仿真軟件,NS2能夠近乎真實地在各個層次上模擬網(wǎng)絡(luò)運行,并支持多種協(xié)議。目前NS2已廣泛應(yīng)用于計算機網(wǎng)絡(luò)的研究與設(shè)計中。主要掌握了以下幾方面的內(nèi)容:1.掌握Linux及NS2的實驗平臺的搭建方法,并順利將其成功搭建完成。2.在實驗平臺上完成了對無線網(wǎng)絡(luò)延時,吞吐量,丟包的測試和UDP協(xié)議下路由協(xié)議的比較。并且

15、對這些實驗做了詳細(xì)的分析。附錄Tcl程序:#定義屬性值(無線網(wǎng)絡(luò)環(huán)境的固定模式)set val(chan) Channel/WirelessChannel ; #信道類型set val(prop) Propagation/TwoRayGround ; #無線傳輸類型set val(netif) Phy/WirelessPhy ; #網(wǎng)絡(luò)接口類型set val(mac) Mac/802_11 ; # MAC類型set val(ifq) Queue/DropTail/PriQueue ; #接口隊列類型set val(ll) LL ; #鏈路層類型set val(ant) Antenna/Omni

16、Antenna ; # 天線模式set val(ifqlen) 50 ; # 包的最大緩存數(shù)set val(nn) 8 ;# 移動節(jié)點個數(shù)set val(x) 1000 ; # 定義場景中X軸最大值set val(y) 1000 ; # 定義場景中Y軸最大值Mac/802_11 set RTSThreshold_ 3000Mac/802_11 set basicRate_ 1Mb Mac/802_11 set dataRate_ 2Mb# 吞吐量跟蹤文件建立(用于最后分析)set f0 open out02.tr wset f1 open out12.tr wset f2 open out22

17、.tr wset f3 open out32.tr w# 丟包率跟蹤文件建立(用于最后分析)set f4 open lost02.tr wset f5 open lost12.tr wset f6 open lost22.tr wset f7 open lost32.tr w# 傳輸延時跟蹤文件建立(用于最后分析)set f8 open delay02.tr wset f9 open delay12.tr wset f10 open delay22.tr wset f11 open delay32.tr w# 創(chuàng)建Loss Monitor Sink檢驗丟失分組set sink new Agen

18、t/LossMonitor$ns attach-agent $node_(0) $agent1; #發(fā)射代理與節(jié)點連接(以下幾個意義相同)$ns attach-agent $node_(1) $sink; # 接收代理與節(jié)點連接(以下幾個意義相同)$ns connect $agent1 $sink ; # 兩節(jié)點相連(以下幾個意義相同)set app1 new Application/Traffic/CBR; # 創(chuàng)建流量發(fā)射器(以下幾個意義相同)$app1 set packetSize_ 512 ; # 定義包大?。ㄒ韵聨讉€意義相同)$app1 set rate_ 600Kb ; # 定義發(fā)

19、射頻率(以下幾個意義相同)$app1 attach-agent $agent1; # 連接流量發(fā)射器和代理(以下幾個意義相同)set agent2 new Agent/UDP ;$agent2 set prio_ 1 set sink2 new Agent/LossMonitor $ns attach-agent $node_(2) $agent2$ns attach-agent $node_(3) $sink2 $ns connect $agent2 $sink2 set app2 new Application/Traffic/CBR$app2 set packetSize_ 512$ap

20、p2 set rate_ 600Kb $app2 attach-agent $agent2set agent3 new Agent/UDP $agent3 set fid_ 3$agent3 set prio_ 2 set sink3 new Agent/LossMonitor $ns attach-agent $node_(4) $agent3 $ns attach-agent $node_(5) $sink3 $ns connect $agent3 $sink3 set app3 new Application/Traffic/CBR$app3 set packetSize_ 512$app3 set ra

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論