基于NS2的無線網絡仿真研究.doc_第1頁
基于NS2的無線網絡仿真研究.doc_第2頁
基于NS2的無線網絡仿真研究.doc_第3頁
基于NS2的無線網絡仿真研究.doc_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

總第 225期2008年第 7期計算機與數(shù)字工程C om p u te r & D ig ita l Eng inee ringV o l. 36 N o. 7573基于 N S 2的無線網絡仿真研究鐘輝王鵬(沈陽建筑大學信息與控制工程學院 沈陽110168)摘 要 在仿真壞境下對網絡協(xié)議進行性能評價 , 必須對仿真結果進行有效分析和處理 。通過介紹免費網絡仿真軟件 N S 2的基本體系結構 , 分析 N S 2的工作原理和仿真機制 , 并針對移動無線網絡鏈路的特殊性 , 著重討論 N S 2在無線網絡 仿真中的運用 , 分析與此相關的類 , 介紹仿真結果的輸出格式 , 在此基礎上對仿真結果做出定性分析并且分析整個網絡的 性能 。關鍵詞N S 2 線網絡 網絡仿真中圖分類號TP393S tudy of W ire less N e tw o rk S im u la tion B ased on N S2Zhong H u i W ang Peng( Info rm a tion and C on tro l Eng inee ring Facu lty, S henyang J ianzhu U n ive rs ity, S henyang 110168 )A b s t ra c t In o rde r to eva lua te the p e rfo rm ance of ne tw o rk p ro toco ls in s im u la ting env ironm en t, m us t ana lyze and p rocess ca refu lly the s im u la ting resu lts. The p ap e r in troduces the h ie ra rch ica l a rch itec tu re, ana lyzes the w o rk ing p rinc ip le and s im u la tion m echan ism of N S 2, in the ligh t of sp ec if ic cha rac te ris tics of w ire less ne tw o rk, d iscusses its app lica tion in the p rocess of m ob ile ne tw o rk s im u la tion, ana lyzes the co rre la tion c lass, in troduces the ou tp u t fo rm of s im u la tion resu lt, p roduces ana lys is of s im u la tion resu lt and en tire w ire less func tion.Ke y w o rd s N S 2, w ire less ne tw o rk, ne tw o rk s im u la tionC la s s N um b e r TP393擬器 , 主要用于解決網絡研究方面的問題 。N S 2使用 O Tc l和 C +兩種程序語言 。選擇這兩種語言 有兩方面原因 , 一方面具體協(xié)議的模擬和實現(xiàn) , 需 要一種能夠高效處理字節(jié) 、報頭等信息的程序設計語言 。這種情況下 C +是非常合適的 ; 另一方面 網絡中的研究工作都是圍繞著網絡組件和具體參 數(shù)的改變而進行的 , 需要在短時間內模擬出網絡環(huán)1 引言移動通訊 、無線網絡等技術的深入發(fā)展使其在 軍事戰(zhàn)場 、災難救助 、臨時通信等場合等方面得到廣 泛的應用 ,網絡協(xié)議的設計成為其研究的重點 。在 研究和設計網絡協(xié)議時通常需要利用仿真軟件對其性能 進 行 測 試 和 評 價 。N S 2 ( N e tw o rk S im u la to r, ve rs ion 2)是一款免費的 、開放源代碼的網絡仿真軟 件 ,最初由 U C B e rke ley 開發(fā)而成 。N S 2 最初為了 研究大規(guī)模網絡以及當前和未來的網絡協(xié)議交互行 為而開發(fā)的 ,它為有線和無線網絡上的 TC P、路由和多播等協(xié)議的仿真提供了強有力的支持 ?;谝陨?優(yōu)點 , N S 2成為眾多網絡仿真軟件的首選 。境 。在這樣的 情 況下 腳本 語 言就 有了 很 的優(yōu) 勢 。O Tc l面向對 象 的 腳 本 語 言 可 以 充 分 滿 足 以 上 要求 。N S 2體系結構如圖 1 所示 。2. 2Tc l和 O Tc lTc l ( Too l C om m and L anguage )是解釋執(zhí)行的腳 本語 言 。它 的 實 現(xiàn) 依 賴 于N S 2 體系結構2Tc l內部 的 C 函數(shù) 庫 , 添加圖 1 N S 2體系結構2. 1 N S 2 簡介N S 2是面向對象的 、離散式驅動的網絡環(huán)境模新的 C 函數(shù)就可以擴充 Tc l的命令和功能 , 是擴展3 收稿日期 : 2008年 3月 13日 ,修回日期 : 2008年 4月 21日作者簡介 :鐘輝 ,男 ,碩士 ,副教授 ,研究方向 :無線網路 、數(shù)字圖書館等 。王鵬 ,男 ,碩士研究生 ,研究方向 :無線網絡 。性非常強的腳本程序設 計語 言 。 Tc l 解 釋器 把用戶輸入的命令和程序語句進行初步分析 , 然后調用 C 函數(shù)庫的響應函數(shù)執(zhí)行 , Tc l是無強制類型轉換 的腳本語言 , 一切變量 , 不論整型 , 浮點等都以字符 串的形式 存 儲 。O Tc l是 Tc l的面 向 對象 的擴 展 , 在 O Tc l中加入了類和對象的概念 , 對象是類的實 例 , 它有自己的屬性和自己的內部操作 。對象具有 繼承 、封裝 、多態(tài)和動態(tài)綁定的性質 。面向對象機 制的加入使得原始的 Tc l變得更強大 。雖然和 C+中對象和類以及其他面向對象程序設計語言中 的概念相同 , 但是具體實現(xiàn)和語法存在很大差別 。2. 3 tc lc ltc lc l是在 O Tc l基礎上的封裝 。 tc lc l實際上搭 建了 N S 2的框架 , N S 2 的類庫都是建立在 tc lc l基 礎上 的 。 tc lc l 中 包 含 了 六 個 類 : Tc l, Tc lO b jec t, Tc lC lass, Tc lC om m and, Em beddedTc l, Ins tV a r。其中 Tc l類可以看成是一個 Tc l的 C +接口類 , 它提 供 C +訪問 Tc l庫的接口 。 Tc lO b jec t是 Tc l / C +兩個面向對象語言的類庫的基類 , 在最新的 tc lc l 中 , 采用了 Sp litO b jec t的術語 。 T c lC lass 注冊編譯 分級 , 保持了編譯分級的層次結構 , 同時給 O Tc l對象提供了創(chuàng)建 C +對象的方法 。 Tc lC om m and 用 于定義簡單的全局解釋命令 , Em beddedTc l是定制 的 Tc l命令 。 Ins tV a r類包含了從 Tc l訪問 C +類 成員變量的方法 。2. 4 網絡組件網絡組件分為簡單網絡組件和復合網絡組件 。 N sO b jec t是所有基本網絡組件的父類 , 而他本身的 父類是 Tc lO b jec t類 。這個類的對象的基本功能是 處理數(shù)據(jù)包 ( Packe t) 。所有的基本網絡組件可以 劃分為兩類 , 分類器 ( C lass if ie r)和連接類 ( C onnec2to r) 。他們都是 N sO b jec t的直接子類 , 也是所有基 本網絡組件的父類 。分類器 ( C lass if ie r) 的派生類 組件對象包括地址分類器 ( A dd rC lass if ie r) 和多播 分類器 (M as tC lass if ie r) 等 。連接器 ( C onnec to r) 的 派生類組件對象包括隊列 (Q ueue ) , 延遲 ( D e lay ) ,各種代理 (A gen t)和追蹤對象類 ( T race ) 。2. 5 事件調度器N S 2是離散事件驅動的網絡仿真器 。它使用 事件調度器對所有組件希望完成的工作和計劃該 工作發(fā)生的事件進行列表和維護如圖 2 所示 , 事件調度器是一個具有優(yōu)先級的隊列 , 它按照事件發(fā)生 的事件對其中的工作安排 , 并循環(huán)這樣的順序執(zhí)行 工作 , 而各個組件之間的通信是依靠傳遞數(shù)據(jù)包的 方式來實現(xiàn)的 。圖 2 事件調度器3 無線網絡仿真過程分析3. 1 無線網絡模型無線網絡模型本質上是由移動節(jié)點 (M ob ile2N ode )做為核心 , 并附加各種支持特性而構成 , 以實現(xiàn)對多跳 ad - hoc 網 絡 和 無 線 局 域 網 的 模 擬 。M ob ileN ode是由 N ode 類派生出來的 , 因此一個基本的 N ode 對象附加上無線和移動節(jié)點的功能就 構成了 M ob ileN ode。其移動特征包括 : 節(jié)點移動 ,周期性位置更新 , 維護拓撲邊緣等 , 是在 C + m o2 b ilenode cc. h 中實現(xiàn)的 。而設定 M ob ileN ode 的 各個網絡構件包括鏈路層 ( LL ) 、連接到 LL 上的 A R P 模 塊 、接 口 隊 列 ( IFq ) 、M A C , C hanne l 是 在tc l 實現(xiàn) 的 。無 線網 絡 模型O Tc l ns - m ob ilenode.如圖 3所示 。圖 3 無線模型示意圖1 ) add ress c lass if ie r: 按 照分 組 的 目 的 地 址 進 行匹配 , 對分組的 目 的地 址做 位 運算 來產 生 一個 s lo t num be r。2) p o rt c lass if ie r:按照分組的目的端口進行匹配 , 將分組傳遞給相應的 A gen t對象 。 dm ux _是節(jié)第 36卷 ( 2008 )第 7期計算機與數(shù)字工程59點的 Po rtC lass if ie r對象 。3 ) L ink L aye r: 對于所有發(fā)出的分組 , 路由 A 2 gen t會把分組傳遞給 LL , LL 把分組傳遞給接口隊 列 ( IFQ ) 。對于所有接收到的分組 , M A C 層將分組傳遞給 LL , LL 再 將 分 組 傳 遞 給 node _ en try _。 移動節(jié)點的 LL 還連接了一個 A R P 模塊 , 用來把IP地址解析成物理 (M A C )地址 。4 ) A R P: 如果 A R P 已經知道目標節(jié)點的 M A C 地址 , 直接寫入分組的 M A C 頭中 ; 否則 , 存放到分 組緩沖區(qū) , 并廣播 A R P請求 。5 ) In te rfaceQ ueue: 由 P riQ ueue 類 實 現(xiàn) 。是 一個優(yōu)先級隊列 , 優(yōu)先處理路由協(xié)議分組 , 并可以對 分組進行過慮 。6 ) M A C 層 : 實現(xiàn)了 IEEE802. 11 的 D C F M A C協(xié)議 。7 ) N e tw o rk In te rface: 網絡接口是移 動節(jié) 點訪 問信道的接口 , 通過碰撞和無線傳輸模塊來接收其他節(jié)點發(fā)送到信道上的分組 。將波長 、傳輸功率等信息寫入分組頭 。8 ) A n tenna:使用單一增益的全向天線 。9 ) R ad io P rop aga tion M ode l: 用來 計 算每 個分 組在到達接收節(jié)點時的信號強度 , 小于閾值時標記為 e rro r并被 M A C 層丟棄 。包含 3 種模型 : F ree -sp ace、Tw o - ray g round ref lec tion 和 S hadow ing。10 ) C hanne l:無線信道的功能是將分組復制給 所有連接到本信道上的移動節(jié)點 。3. 2 無線仿真實現(xiàn)( y )1000se t top o new Top og rap hy top o load_f la tg rid va l ( x ) va l ( y)se t god c rea te - god va l ( nn) 3 )設置節(jié)點屬性 , 將最初 的 設定 的模 擬 屬性賦給節(jié)點 。代碼如下 :ns node - conf ig - adhocR ou ting- llTyp e va l ( ll) - m acTyp e va l ( m ac ) va l ( rp ) - ifqTyp e va l( ifq)- ifqL en va l ( ifq len) - an tTyp e va l ( an t) - p rop Typ e va l ( p rop ) - p hyTyp e va l ( ne tif) - channe l new va l ( chan) - top o Ins tance top o - agen tT race ON - rou te rT race ON - m acT race O FF - m ovem en tT race O FF4 )設定節(jié)點的初始位置以及節(jié)點的隨即運動 功能 。代碼如下 :fo r se t i 0 i va l ( nn ) inc r i se t node ( i) ns node node ( i) random - m o tion 1node ( i) se t X _ exp r i 3 100. 0 node ( i) se t Y _ exp r 500. 0 + ( ( ( i 393)% 21) - 10 ) 3 10. 0 node ( i) se t Z _ 0. 0ns in itia l_node _p os node ( i) 20 node ( i) se t ragen t_ se t - conf ig “ nodeC onf ig ; log - f ile - nam e d irN am e /假設在一個區(qū)域為1100m 1000m 范圍內有十個移動的節(jié)點 , 分別為 node _ ( 0 ) - - - - node _( 9 ) , 節(jié)點之間建立的是 UD P 連接 , 并在其上建立cb r數(shù)據(jù)流 。仿真實現(xiàn)步驟如下 :1 )設定模型的一些必要 屬性 , 如 移 動節(jié) 點的C hanne l類型 、M A C 層協(xié)議 、隊列類型及場景大小 、 節(jié)點數(shù)目 。主要代碼如下 :oo ls r - node - i. log”5 )建立節(jié)點之間的 U D P 連接 , 并在其上建立cb r數(shù)據(jù)流 。代碼如下 :se t sende r new A gen t /UD P ns a ttach - agen t node ( 0) sende r se t cb r new A pp lica tion / T raff ic / CB R cb r se t p acke tS ize _ 128cb r se t in te rva l_ 0. 1cb r a ttach - agen t sende r se t rece ive r new A gen t /N u ll ns a ttach - agen t node ( exp r va l ( nn ) - 1 )rece ive rns connec t sende r rece ive rns a t 0. 0“ cb r s ta rt”6 )建立 f in ishS im u la tion 過程用來關閉 trace 文 件 , 并且調用 nam 。代碼如下 : p roc f in ishS im u la tion se t va l ( chan )se t va l ( p rop )se t va l ( ne tif)C hanne l /W ire lessC hanne lP rop aga tion / Tw oR ayG roundPhy /W ire lessPhyse t va l (m ac) M ac / 802 _11se t va l ( ifq ) Q ueue /D rop Ta il / P riQ ueue se t va l ( ll) LLse t va l ( an t) A n tenna /Om n iA n tenna se t va l ( ifq len ) 50se t va l ( nn) 102 )創(chuàng)建一個 Top og rap hy 對象 , 保證所有節(jié)點 都在拓撲邊界范圍內運動 。代碼如下 :se t va l ( x) exp r va l ( nn) 3 100. 0 + 100. 0 se t va l理我們可以對整個網絡做出性能分析 , 計算出整個網絡的數(shù)據(jù)傳輸延遲 , 丟包率 , 延時抖動 , 和吞吐 量 。下面分析整個網絡的吞吐量 , 網絡的吞吐量是 網絡性能的一個重要參數(shù) , 是指在不丟包的情況下 單位時間內通過數(shù)據(jù)包的數(shù)量 。通過編寫完成的th roughp u. aw k 文件對 un icas t. tr文件處理得到需 要的數(shù)據(jù) 。得到的數(shù)據(jù)再通過 gnup lo t繪圖工具繪 出整個網絡的吞吐量 (如圖 5所示 ) 。g loba l ns node va l d irN am e# L og the f ina l s ta te of a ll the nodesfo r se t i 0 i va l ( nn ) inc r i node ( i) se t ragen t_ s ta te“ d irN am e / oo ls r- node - i. f ina l - s ta te ”ns ha lt3. 3 實驗結果及nam 動畫演示在模擬 結 束 后 會 產 生 un icas t.tr 文 件 和 un i2cas t. nam 文件 , un icas t. tr是跟蹤文件里面記 錄著每一個數(shù)據(jù)報的發(fā)送 、到達 、丟棄等所有的信息 。 下面以一部分跟蹤文件為例介紹一下 trace 文件的格式以及代表的含義 。s - t 0. 000000000 - H s 0 - H d - 2 - N i 0 -N x 0. 00 - N y 400. 00 - N z 0.000000 - N l A G T - N w - - - M s 0 - M t 0 - Is 0. 0 - Id 9. 000 - N e - 1.- M a 0 - M d 0- It cb r - Il 128- If 0 - Ii 0 - Iv 32 - Pn cb r - P i 0 - Pf 0 - Po 0 第一個域描述了在節(jié)點處發(fā)生的事件的類型 , 可能的類型有 s (發(fā)送數(shù)據(jù)包 ) 、r (接受數(shù)據(jù)包 ) 、d (丟棄數(shù)據(jù)包 ) 、f (轉發(fā)數(shù)據(jù)包 ) 。第二個域代表事 件發(fā)生的時間 。第三域和第四個域分別代表發(fā)送 節(jié)點以及目的節(jié)點 。第五個域到第十一個域是節(jié) 點的標簽屬性 , 分別 代 表節(jié) 點的 ID 號 , 節(jié)點 的坐 標 , 節(jié)點的能量 , 跟蹤哪一層和丟包的原因 。第十 二個 域 到 第 十 五 個 域 是 M A C 層 的 分 組 說 明 , - M a 代表持續(xù)時間 , - M d 代表目的節(jié)點的地址 , -M s代表源節(jié)點的地址 , - M t代表以太網的類型 。 第十六個域到第二十二個域是 IP 層的分組信息 ,- Is代表源地址 , - Id 代表目的地址 , - It代表信 息包類 型 , - Il 代 表 信 息 包 大 小 , - If 代 表 溢 出圖 5 吞吐量圖4 結語網絡仿真是分析 、研究 、設計和改善網絡性能 必不可少的工具 , 它能幫助人們更確切更詳細地分 析網絡模型的性能 。文章主要介紹了 N S 2 的體系 結構和無線網絡模型 , 并且利用 N S 2 仿真器對 10 節(jié)點結構的網絡進行了網絡仿真 , 得到網絡參數(shù)的 動態(tài)顯示結果

溫馨提示

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

評論

0/150

提交評論