自組網(wǎng)路由協(xié)議仿真平臺說明文檔_第1頁
自組網(wǎng)路由協(xié)議仿真平臺說明文檔_第2頁
自組網(wǎng)路由協(xié)議仿真平臺說明文檔_第3頁
自組網(wǎng)路由協(xié)議仿真平臺說明文檔_第4頁
自組網(wǎng)路由協(xié)議仿真平臺說明文檔_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、文檔編碼 : CE7B7S4P1B4 HB2L3B8Q5Y3 ZH8C2O4O2O3自組網(wǎng)路由協(xié)議仿真平臺 說明文檔北京郵電高校電子工程學院寬帶無線技術(shù)爭論中心無線智能傳輸與網(wǎng)絡爭論室2022.02.09目錄1. 仿真平臺介紹 . 11 1.1 NS2簡介 . 1.2 NS2的安裝 . 1.3 NS網(wǎng)絡仿真 . 1.3.1OTcl 實現(xiàn)仿真的過程 . 44 1.3.2 添加新的網(wǎng)絡元素 . 55 1.3.3 拓撲場景生成工具 setdest. 55 1.3.4 數(shù)據(jù)流生成工具 cbrgen. 66 1.3.5 跟蹤文件格式 . 77 1.3.6 Awk文件格式 . 88 1.3.7 gnupl

2、ot 繪圖 . 99 2. 協(xié)議包的移植 . 1010 3. 參數(shù)配置 . 1111 3.1 TDMA 的配置 . 1212 3.2路由協(xié)議的配置 . 1313 3.3物理層模型的配置 . 1313 3.4流量模型配置 . 1414 3.5拓撲模型配置 . 1414 4. 仿真步驟 . 1414 4.1仿真前預備工作 . 1515 4.2編寫仿真腳本 . 1515 4.3編寫 Awk分析文件 . 1818 4.4運行仿真 . 1818 4.5觀測動畫演示 . 2022 4.6 分析仿真結(jié)果及制圖 . 2022 4.7不同場景仿真 . 2222 5. 文件內(nèi)容詳解 . 2222 5.1 olsr

3、_xiangmu.tcl文件分析 . 2222 2 / 30 5.2 throughput.awk 文件 . 2525 5.3 delay.awk及 delay_ave.awk文件 . 2626 3 / 30 1. 仿真平臺介紹目前,主要的網(wǎng)絡仿真軟件有OPNET、NS2、QualNet、GloMoSim 等,其中以OPNET 和NS2使用最為廣泛;由于 OPNET為商業(yè)軟件,授權(quán)費用昂貴,一般限于公司客 戶使用,而高校、個人用戶一般傾向選擇使用開源代碼網(wǎng)絡仿真軟件 NS2 進行網(wǎng)絡性能的仿真,不僅由于NS2是免費軟件,更由于它具有豐富的構(gòu)建庫,具有良好的可擴充性;在本實 驗中,項目組接受 L

4、inux 操作系統(tǒng)下的 NS2-2.35進行自組網(wǎng)路由協(xié)議的仿真;1.1 NS2 簡介NS2是network simulator(網(wǎng)絡模擬器)的簡寫,它是一個離散大事模擬器;源于 REAL network simulator的一個變種,受到 DARPA 的VINT 項目的支持,由美國加州 Berkeley大 學LBL ,Xerox PARC,UCB和USC/ISI共同開發(fā)的網(wǎng)絡仿真集成環(huán)境,具有開放性好、擴展性 強、適用于 Windows和Linux 系統(tǒng)平臺的特點,是一個杰出的爭論網(wǎng)絡拓撲結(jié)構(gòu)、分析網(wǎng)絡傳輸?shù)姆抡婀ぞ撸慌c其它的網(wǎng)絡仿真工具相比,NS對應用數(shù)據(jù)流的仿真才能尤為突出;模擬平臺接受

5、 配置接口;C+語言編寫,并使用 OTcl語言編寫命令和NS2由兩種語言 OTcl、C+十編寫而成;供應了模擬網(wǎng)絡各層次所必需的基本元素,但各層次元素之間的聯(lián)系很松散,并沒有像實際網(wǎng)絡中這種緊密的聯(lián)系; NS2中全部的網(wǎng)絡元素都是抽象的,你找不到任何實際的網(wǎng)絡設備;NS2采用所謂 “大事”驅(qū)動,因而是一個離散大事模擬器;NS2的模擬分為兩部分:用 C+編寫特定網(wǎng)絡元素的實現(xiàn);用 OTcl編寫模擬所需的腳模擬本文件,在文件中使用這些網(wǎng)絡元素;二者之間的結(jié)合由 NS2負責完成, NS2規(guī)定一個固定的步驟,依據(jù)規(guī)定的步驟去做即可;NS2可以完成的功能包括:(1)構(gòu)建網(wǎng)絡拓撲; NS2中網(wǎng)絡拓撲是由

6、node和1ink構(gòu)成,其中 node大約可被看作是對實現(xiàn)網(wǎng)絡底三層設備的一個模擬,link 就可被視為是對物理傳輸鏈路的1 / 30 模擬;(2)實現(xiàn) RTP協(xié)議的 Agent;NS2中, Agent是對某一個網(wǎng)絡協(xié)議的模擬,NS2 預先實現(xiàn)了 UDP Agent和TCP Agent以及一些常用網(wǎng)絡應用協(xié)議的 Agent;(3)加載應用數(shù)據(jù)流由 Application/Traffic 來實現(xiàn); RTP Agent本身己實現(xiàn)了產(chǎn)生數(shù)據(jù)流的工作,無須加載 Application ;1.2 NS2 的安裝在Linux 操作系統(tǒng)中安裝 NS2-2.35的步驟如下:1、安裝必需的軟件包,在 Linux

7、 終端直接輸入以下命令: $ sudo apt-get install build-essential $ sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev $ sduo apt-get install libxmu-dev libxmu-headers 2、將安裝包 ns-allinone-2.35.tar.gz解壓縮,此處解壓縮到主文件下新建的 切換到此目錄下: $ cd ns 解壓: $ tar -vxzf ns-allinone-2.35.tar.gz 進入解壓的文件夾,開頭安裝: $ cd ns-allinone-2.35

8、$ ./install 獵取安裝包的網(wǎng)址:3、配置環(huán)境變量;打開環(huán)境變量配置文件: $sudo gedit /home/jenny/.bashrc ns文件夾下,步驟為:其中, jenny為linux操作系統(tǒng)的用戶名,視用戶而異;在末尾輸入:export PATH=$PATH:/home/jenny/ns/ns-allinone-2.35/bin:/home/jenny/ns/ns- allinone-2.35/tcl8.5.10/unix:/home/jenny/ns/ns-allinone-2.35/tk8.5.10/unix export LD_LIBRARY_PATH=$LD_LIBR

9、ARY_PATH:/home/jenny/ns/ns-allinone- 2.35/otcl-1.14:/home/jenny/ns/ns-allinone-2.35/lib 2 / 30 export TCL_LIBRARY=$TCL_LIBRARY/home/jenny/ns/ns-allinone-2.35/library 4、安裝完成,測試在root權(quán)限下在終端輸入 ns,顯現(xiàn) %,表示安裝成功;測試步驟為: $sudo su $ns 或 $ cd ns-2.35 ns-2.35在ns-allinone-2.35 目錄下 $ ./validate 1.3 NS 網(wǎng)絡仿真NS 仿真時需要

10、 C+編譯器和通用的操作系統(tǒng) 如各種 UNIX, Linux 或Windows 系列;進行仿真前,第一要分析涉及仿真的哪一個層次;NS 仿真分兩個層次:一個是基于 OTcl 編程的配置、構(gòu)造層次,利用 NS 已有的網(wǎng)絡仿真元素實現(xiàn)仿真,無需對 NS 本身進行任何修改,只要編寫 OTcl 仿真腳本,如圖中流程 2-4-6;另一個層次是基于 C+和 OTcl 編程的編譯、配置層次,假如 NS 中沒有所需的仿真元素, NS 供應了用戶自我升級或修改協(xié)議的技術(shù),分析要建立的新元素特點,利用 NS 的面對對象特性來構(gòu)造新的 NS;假如新方案和現(xiàn)有 NS 元素差別較大,就需要編寫新的C+程序;假如無需進行

11、較大改動,也可以在NS現(xiàn)有相關(guān)元素的 C+代碼中進行修改來達到目的,例如在某個存在的元素中修改某個算法或增加實現(xiàn)某個功能的函數(shù)等;然后利用OTcl 和NS 的接口類實現(xiàn)NS 的更新,新NS 生成流程如圖中1-3-5,然后再進行2-4-6 流程完成仿真; NS 的仿真工作機制如圖 1所示;仿真運行后, NS會生成跟蹤( Trace)文件,文件格式為 .tr以及動畫演示(Nam)文件 ,文件格式為 .nam;Trace文件記錄了仿真過程中數(shù)據(jù)包在各層的狀態(tài),Nam文件用于動態(tài)呈現(xiàn)仿真過程;Awk 文件用于分析 Trace文件,從而獵取各種網(wǎng)絡性能指標; Gnuplot是制圖工具,用于對分析結(jié)果進行

12、繪圖,便于觀看與 比較;下面對仿真的過程、工具及文件內(nèi)容進行簡要介紹;3 / 30 NS用戶無有無仿真元素有1 2協(xié)議細節(jié)實現(xiàn) 編寫 OTCL腳本3生成新 NS運行 NS仿真456生成跟蹤文件 生成動畫演示文件( .tr)文件( .nam)編寫 awk文件進 Nam:動態(tài)觀看行分析 仿真過程生成分析結(jié)果 gnuplot :靜態(tài)觀文件 察分析仿真曲線圖 1NS的仿真工作機制1.3.1OTcl 實現(xiàn)仿真的過程OTcl腳本的文件格式為 .tcl,在此腳本中需要實現(xiàn)的功能如下: 1. 創(chuàng)立仿真器并配置或構(gòu)造仿真網(wǎng)絡拓撲包括鏈路和節(jié)點 ;仿真之前第一要構(gòu)造一個基本的網(wǎng)絡拓撲平臺;此時,可以確定鏈路的基本

13、特性,如推遲、帶寬 和丟失策略等;2. 建立協(xié)議代理,包括端設備的協(xié)議綁定和通信量模型的建立;3. 給節(jié)點進行特性化配置;依據(jù)仿真詳細要求對節(jié)點進行代理、路由協(xié)議等的初 始化;4. 編寫必要的 OTcl 過程或構(gòu)造可能需要的 OTcl 類;4 / 30 5. 進行仿真結(jié)果的追蹤; NS 通過建立追蹤文件來儲存仿真期間網(wǎng)絡性能的參數(shù)變化;6. 在建立了上述代碼后,設定通信量應用和時間相關(guān)過程的發(fā)送 /終止時間,然后運行仿真;1.3.2 添加新的網(wǎng)絡元素假如NS中沒有實現(xiàn)仿真所必需的網(wǎng)絡元素,就需要修改 NS底層的 C+程序,重新編譯加入網(wǎng)絡元素;這個網(wǎng)絡元素可以是一種新的協(xié)議,也可以試對某種算法

14、的改進;如是添加新的協(xié)議,可以將新協(xié)議以補丁包的形式移植到 NS中;假如仿真只要求對現(xiàn)有的協(xié)議進行簡潔修改即可完成,無需建立新的協(xié)議代理,就找到相應的待修改協(xié)議代碼進行預期的修改,然后直接編譯生成新的 NS;然而,當建立新協(xié)議時一般需要考慮以下問題:1. 第肯定義頭文件,包括數(shù)據(jù)結(jié)構(gòu)和準備新代理的繼承結(jié)構(gòu),并建立恰當?shù)念惗x;2. 定義 C+代碼和 OTcl 代碼之間的接口連接,即 OTcl 連接函數(shù);至少定義接收函數(shù) recv和 Tcl 命令觸發(fā)函數(shù)command以及必需的時鐘類;3. 新協(xié)議代碼完成后,要對各個相關(guān)程序進行必要的改動;例如,假如定義了一個新分組頭,要改動 NS 目錄下 pa

15、cket.h 文件的 enum packet-t 和class p_info 相應部分;改動 tcl/lib/ns-default.tcl 文件,定義 Tcl 對象的缺省值;改動tcl/lib/ns-packet.tcl 文件,在該文件中為新的分組增加一個入口;改動Makefile 文件,將 *.o 文件加入到該文件 NS 對象文件列表中;4. 在 NS 目錄下運行 Make Depend 和 Make,重新編譯 NS,生成新的 NS;NS 功能強大,能實現(xiàn)網(wǎng)絡各層的仿真;1.3.3 拓撲場景生成工具 setdest 拓撲場景生成工具 setdest用來隨機生成無線網(wǎng)所需的節(jié)點運動場景,也即一

16、5 / 30 定數(shù)量的節(jié)點在某一固定大小的矩形區(qū)域中隨機運動;生成 setdest命令的源代 碼命名為 scen_節(jié)點 _速度;使用方法如下:Setdest v2 n -s -m -M -t -p -p -x -y 其中,使用到的參數(shù)定義如下;-v:version_of_setdest指定 setdest的版本;-n:nodes指定了場景中總節(jié)點數(shù)目;-p:pause_time指定了節(jié)點在運動到一個目的點后停留的時間,假如設置為 0就節(jié) 點不停留;-s:speed_type為uniform/normal ;-m:min_speed指定節(jié)點移動的最小速率;-M:max_speed指定節(jié)點移動的最

17、大速率;-P:pause_type為constant/uniform;-t:simulation_time指定了模擬場景的連續(xù)時間,單位為 s. -x:max_X 指定了節(jié)點運動區(qū)域的長度,單位為 m;-y:max_Y指定了節(jié)點運動區(qū)域的寬度,單位為 m;1.3.4 數(shù)據(jù)流生成工具 cbrgen 數(shù)據(jù)流生成工具 cbrgen用來生成傳輸負載,可以產(chǎn)生 其使用方法如下:TCP流和CBR流;ns cbrgen.tcl -type cbr|tcp -nn nodes -seed seed -mc connections -rate rate 其中各個參數(shù)的含義如下:-type:選擇 tcp表示生成

18、TCP流,選擇 cbr表示生成 CBR流;-nn:nodes表示節(jié)點數(shù)目;-seed:seed表示隨機數(shù)種子;-mc:connections表示節(jié)點間的最大連接數(shù);-rate:rate表示每個連接間的數(shù)據(jù)流的速率;6 / 30 1.3.5 跟蹤文件格式 跟蹤( Trace)文件是在模擬過程中生成的記錄模擬每一個分組調(diào)度大事的文件,一次模擬生成的信息基本上全表達在Trace文件中; Trace文件包含了很多有用的可供分析的數(shù)據(jù),我們需要從中選擇出我們關(guān)注的數(shù)據(jù)進行分析;默認的 Trace格式包含了大部分的跟蹤信息,我們需要的信息可能基本上都已包含于其中,也包含了一些我們用不到的信息;假如在NS中

19、添加自己的協(xié)議時,一些新信息的獵取是現(xiàn)有的 Trace格式所不支持的,只是我們可以依據(jù)自己的需求自定義 Trace文件的格式,讓其按需求進行打印輸出;無線網(wǎng)絡的整個模式過程也有Trace文件記錄;無線 trace支持使用 cmu-trace對象,有 3種類型: CMUTrace/Drop、CMUTrace/Recv、CMUTrace/Send;模擬無線網(wǎng)絡時,該三類對象用以記錄由代理、路由層、產(chǎn)生的丟失、接收和發(fā)送分組的大事信息;MAC 層或接口隊列所NS的進展過程中對無線 Trace的格式做過修訂,修訂版的 Trace格式仍未全部 完成,目前的 NS兼容修訂之前的無線 Trace格式,我們稱

20、修訂之前的格式為無線 網(wǎng)絡的 Trace的舊格式;無線網(wǎng)絡的 Trace的舊格式如下:Event /Time/Node/Layer/Flags/Pkt id/Pkt type/Pkt size/MAC Layer Info/-/IP Info 動作 /時間 /節(jié)點 /層次 / /分組 UID/分組類型 /分組大小 /MAC 層信息 /-/IP層信息 (1)Event:大事的類型,有 4種類型 s、r、d和f,分別表示分組的發(fā)送、接收、丟失和轉(zhuǎn)發(fā)大事;(2)Time:大事發(fā)生的時間;(3)Node:大事發(fā)生的節(jié)點 id;(4)Layer:發(fā)生大事所在的層;(5)Flags:標志項;(6)Pkt

21、id:分組的 id;(7)Pkt type:分組的類型;(8)Pkt size:分組的大??;(9)MAC Layer Info :MAC 層的信息,包含 4項內(nèi)容:第 1項是發(fā)送節(jié)點在無線信道上發(fā)送該分組所期望的時間,其值用十六進制表示,單位為秒;第7 / 30 2項內(nèi)容是接受節(jié)點的 MAC地址;第 3項內(nèi)容是發(fā)送節(jié)點的 MAC 地址;第 4項內(nèi)容表示 MAC 層封裝的分 組類型;(10)-:分隔符;(11)IP Info :IP層的信息,包含 4項內(nèi)容:第 1項發(fā)送分組的源節(jié)點地址,格式為“節(jié)點號:端口號 ”;第 2項發(fā)送分組的目的節(jié)點地址,格式為“節(jié)點號:端口號 ”;第 3項是分組的 TT

22、L值;第 4項是源節(jié)點到目的節(jié)點的跳數(shù);1.3.6 Awk 文件格式Awk是一種編程語言,用于在linux/unix 下對文本和數(shù)據(jù)進行處理;數(shù)據(jù)可以來自標準輸入、一個或多個文件,或其它命令的輸出;它支持用戶自定義函數(shù)和動態(tài)正就表達式等先進功能,是linux/unix 下的一個強大編程工具;它在命令行中使用,但更多是作為腳原先使用;awk的處理文本和數(shù)據(jù)的方式是這樣的,它逐行掃描文件,從第一行到最終一行,查找匹配的特定模式的行,并在這些行上進行你想要的操作;假如沒有指定處理動作,就把匹配的行顯示到標準輸出 屏幕,假如沒有指定模式,就全部被操作所指定的行都被處理;Awk 腳本文件的一般格式為:B

23、EGIN pattern1 action1 pattern2 action2 END 這也說明白 AWK 的編程模型:程序開頭處理BEGIN流程(一般是設置分隔符、定義變量以及輸出信息行等),然后進入主循環(huán),讀入數(shù)據(jù)每一行,本行 數(shù)據(jù)設為 $0, 行數(shù)為 NR某一文件的行數(shù)為 FNR,同時依據(jù) FS變量將 $0切分為 NF 個字段,分別用 $1,$2, ,$NF標識;程序?qū)γ恳恍杏?pattern進行匹配,如匹配上就運行 action;在全部行處理完后,程序?qū)⑻幚?輸出綜合結(jié)果等);END流程(一般是進行后期處理與其他語言不同的是, Awk 的變量不需要聲明,也不需要初始化,直接使8 / 30

24、 用;每一個變量同時有一個字符值和數(shù)值,或字符串處理,這是 Awk 極其特別之處;1.3.7 gnuplot 繪圖Awk 依據(jù)上下文環(huán)境準備作為數(shù)值gnuplot是一款命令驅(qū)動的交互式繪圖軟件,一個強有力的科學繪圖工具;其功能是把數(shù)據(jù)資料和數(shù)學函數(shù)轉(zhuǎn)換成直觀的二維或三維圖形,易于進行數(shù)據(jù) 分析,因此適合于科學爭論過程中的數(shù)據(jù)曲線繪制和理論模型對比的曲線化、圖形化工作;在linux 終端運行 gnuplot命令啟動 gnuplot繪圖環(huán)境,輸入 quit或q或exit退出;進入 gnuplot繪圖環(huán)境以后有兩種工作方式:一是交互式,直接在繪圖環(huán)境編寫 繪圖命令;二是批處理方式,將繪圖命令寫入一個

25、文件中,使用 load命令載入 文件;簡潔的命令就可以完成的繪圖任務或者不常使用的繪圖代碼可以接受交 互式繪圖;復雜的繪圖任務通常需要經(jīng)常重復使用的繪圖代碼,可接受批處理方式完成繪圖;在gnuplot中二維圖形接受 plot命令繪制,此外仍有一個 replot命令,用來重 復最近一次使用到的 plot命令;Plot命令常用格式:plot range | “ ” using : title style , title style 語法格式中,由逗號分開的是繪制在一張圖形上的多個函數(shù)或數(shù)據(jù)曲線;由plot指令的基本語法,其參數(shù)設定可以大致分為以下 4類;(1)ranges:設定本次繪制圖形所顯示的

26、區(qū)域;在設定繪圖環(huán)境屬性時有相像功能的xrange、yrange、zrange、rrange、trange、urange、vrange等參數(shù)可以設定,不過設定這些屬性后會影響以后全部的繪圖狀 態(tài);設定 ranges的語法為:= : : 參數(shù) dummy_var為變量名,默認設定為 X,Y ,可由 “set dummy varname”更換; min和max是設定的顯示范疇,均為常數(shù)表示式;(2)Function or datafile:設定繪制的函數(shù)或者數(shù)據(jù)資料的檔案;函數(shù)為一數(shù)學表達式,可以使gnuplot供應的基本數(shù)學函數(shù)或由基本數(shù)學函9 / 30 數(shù)復合的函數(shù)式,也可以是自定義的函數(shù);假

27、如使用數(shù)據(jù)文件繪制數(shù)據(jù)曲線,需要 using指明所用文件的哪兩列;(3)title:設定標題的內(nèi)容;title選項用于設定標題的內(nèi)容,標題名稱是字符串需要用雙引號括起來,設 定標題的格式如:title “ ”(4)style:設定顯示圖形的顏色、圖案等;Style選項可以設定繪圖時所用的顏色和圖案;,分別如下:lines將相鄰的點用線條連接;points將每一點以一符號描畫;linespoints 組合lines和points的功能;Impulses 過每一點畫一垂線至橫軸;dots將每一點繪制成一細點;steps 以垂線和水平線連接兩點,形成梯形;errorbarsGnuplot供應了 9種

28、繪圖的圖案對每一坐標值( x,y)畫一條由( x,ylow)至( x,yhigh)的線段并在線段兩 端作標記;boxes 以每一坐標值為一邊的中點畫一方框,方框另一邊與 x軸重合;boxerrorbars 組合了 boxes和errorbars的功能;with選項的格式如下:with linestyle | ls | linetype | lt | linewidth| lw | pointtype | pt | lpointsize | ps 2. 協(xié)議包的移植NS2中自身攜帶了一些路由協(xié)議,如DSDV、DSR和AODV 等;但并未配置本次試驗所需的 OLSR路由協(xié)議;因此,我們需要將 OL

29、SR協(xié)議以補丁包的形式10 / 30 移植到 NS2-2.35中; UM-OLSR是OLSR協(xié)議在 NS2中的一種實現(xiàn),它匹配 OLSR協(xié)議的標準文檔( IETF RFC 3626),支持 OLSR協(xié)議的核心功能;其移植方式如下:(1)下載 UM-OLSR 補丁包 下載地址為:下載補丁包為: um-olsr-1.0.tgz (2)解壓縮補丁包 解壓命令為:$tar -zxvf um-olsr-1.0.tgz 解壓后的文件夾為: um-olsr-1.0 (3)移植補丁包 將um-olsr-1.0文件夾中 的um-olsr文件夾拷貝到 ns-allinone-2.35/ns-2.35目錄下;進入此

30、目錄: $cd ns-allinone-2.35/ns-2.35 創(chuàng)建一個鏈接: $ln -s ./um-olsr ./olsr 打補?。?$patch -p1 olsr_throughput 其中, olsr.tr為仿真生成的跟蹤文件,4.4運行仿真olsr_throughput為分析結(jié)果輸出文件;仿真的運行及結(jié)果的分析可以一次一條命令逐步進行,也可以將一系列命 令匯總為一個 shell腳本; Shell腳本具有一次性完成目標,簡化用戶操作的特點;故項目組接受 shell腳本的方式,將仿真命令匯總為18 / 30 awk.sh腳本文件,其內(nèi)容如下圖所示; awk.sh可以接受以下兩種方式執(zhí)行

31、:方法一、轉(zhuǎn)變 awk.sh文件的執(zhí)行權(quán)限,使其成為可執(zhí)行文件;$chmod +x awk.sh 然后執(zhí)行:$./awk.sh 方法二、直接執(zhí)行:$bash awk.sh 圖 8 awk.sh文件截圖 上圖中的第 3,4行的代碼是對 olsr和dsdv路由協(xié)議進行仿真;第 6-23行為awk命令的匯總,當只用到其中部分命令時,將其他命令注釋即可;其 中,第 7-14行的代碼是對仿真后產(chǎn)生的olsr路由協(xié)議的 trace文件進行分析,第 16-23行代碼是對 dsdv路由協(xié)議的 trace文件進行分析;分別從其吞吐量,時延,丟包率,平均吞吐量、平均時延、路由開銷、路由收 斂時間、接收數(shù)據(jù)總量進行

32、分析;19 / 30 4.5觀測動畫演示運行仿真后生成跟蹤文件(.tr文件)及動畫演示文件( .nam文件),可以通過 nam文件動態(tài)演示仿真過程,以便直觀明白仿真進程;運行 nam文件的命令 為:$nam olsr.nam 動畫演示界面如下圖所示,右上角的仿真時間及演示的速度,拖動 step的 進度條可以加快或減慢演示過程,下邊為仿真時間進度條,可以通過拖動它觀察任意時間的仿真;圖 9 nam動畫演示場景 4.6 分析仿真結(jié)果及制圖執(zhí)行 awk.sh文件后,對生成的結(jié)果輸出文件進行分析,提取有效數(shù)據(jù)并制 圖;以 OLSR及DSDV 路由協(xié)議吞吐量隨時間變化的結(jié)果輸出文件 olsr_thoru

33、ghput與dsdv_throughput為例;使用 gnuplot制圖有兩種方式,一是交互式,直接在繪 圖環(huán)境編寫繪圖命令;二是批處理方式,將繪圖命令寫入一個文件中,使用 loa20 / 30 d命令載入文件;下面分別演示這兩種方式;. 直接在繪圖環(huán)境編寫繪圖命令 如下圖所示,在終端輸入 gnuplot命令進入繪圖環(huán)境,分別設置 X軸與 Y軸的 名稱、繪圖的名稱、 X軸的顯示間隔,最終將 olsr_throughput與dsdv_throughput文件中的數(shù)據(jù)繪制為兩條不同的曲線;Plot命令的詳細格式見 1.3.7節(jié);圖 10 gnuplot 繪圖命令 . 批處理方式將繪圖命令寫入 plot文件:圖 11 plot 文件截圖 在繪圖環(huán)境中載入:21 / 30 圖 12 gnuplot 載入文件命令 4.7 不同場景仿真通過 setdest及cbrgen生成不同的場景,重復 2-5步驟,對不同的場景進行反復測試,分析仿真結(jié)果,獵取仿真結(jié)論;5. 文件內(nèi)容詳解5.1 olsr_xiangmu.tcl 文件分析NS中主要是使用 OTCL 腳原先描述模擬環(huán)境中網(wǎng)絡的環(huán)境和參數(shù)設置;下 面介紹 OTCL腳本的部分核心程序;上述代碼主要是對無線節(jié)點參數(shù)的設置,設置物理信道類型為無

溫馨提示

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

評論

0/150

提交評論