《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于免費軟件ns2的網絡仿真

基于免費軟件ns2的網絡仿真

2009-04-29
作者:劉 強

  摘? 要: 介紹網絡仿真的免費軟件ns2的概況,對利用ns2進行網絡拓撲的輸入、結構的定義、運行仿真、動態觀察仿真過程、仿真數據處理進行了分析,同時用一個例子對仿真過程進行了說明。

  關鍵詞: 網絡仿真? 免費軟件

?

  網絡仿真軟件是網絡性能理論分析、評估網絡設計方案以及網絡故障診斷的有力工具。在網絡系統方案設計階段,對于規模稍大的互連網絡目前還沒有哪個理論能夠對其進行較精確的分析,一般都是依靠仿真的方法對設計方案進行評估,這對于減少投資風險,降低網絡實現費用等都有著巨大的好處[1]。在網絡仿真軟件中,比較有名的有MIL3公司的OPNET軟件、Cadence公司的VCC軟件,這些軟件一般的價格都在20~30萬美元左右,每年還需要幾萬美元的服務費,對于研究單位、學校甚至大型的公司來講都是一筆巨大的投資。除了上面的商業軟件,在網絡仿真領域還有一些免費軟件,這里面比較有名的就是VINT的ns2軟件。

1 ns2網絡仿真軟件簡介

  Network Simulator 仿真軟件是位于美國加州的 Lawrence Berkeley國家實驗室于1989年開始開發的軟件,簡稱ns軟件。ns是一種可擴展、易配置和編程的事件驅動網絡仿真工具。ns 從S. Keshav's REAL 仿真器發展而來。目前ns 正在Virtual InterNetwork Testbed (VINT)項目的支持下由南加州大學、施樂公司、加州大學與Lawrence Berkeley國家實驗室協作發展ns軟件。目前最高版本為ns2。

  ns所用仿真語言是Tool Command Language(tcl)語言的一個擴展,tcl語言是一種簡單的腳本語言,它的解釋器可與任何C語言相鏈接,tcl最強大的功能是它的X工具包(tk),該工具包可以讓用戶開發具有圖形用戶界面的腳本,仿真通過tcl語言進行定義[2]。利用ns命令編寫腳本來定義網絡拓撲結構、配置網絡信息流量的產生和接收以及收集統計信息。軟件配有仿真過程動態觀察器,可以在仿真運行結束后,動態查看仿真的運行過程,觀察跟蹤數據。軟件還有圖形顯示器,顯示從仿真中得到的結果數據,直觀而清晰。

  目前ns2主要基于UNIX平臺,需要tcl-8.0.5、tk-8.0.5、otcl-1.0a4、tclcl-1.0b8和ns-2.1b6的支持。如果基于Windows98平臺,還需要Perl(Practical Extraction and Report Language)以及Cygwin(Ports of the pupular GNU development)支持,但在Windows98平臺下軟件可能會不穩定。

  ns2仿真軟件主要支持下面一些已完成測試的協議:HTTP、telnet業務流、ftp業務流、CBR業務流、On/Off業務流、UDP、TCP、RTP、SRM、算法路由、分級路由、廣播路由、多播路由、靜態路由、動態路由、CSMA/CD MAC層協議等[3]。

下面將結合基于Linux平臺上的ns2軟件,對5節點星型拓撲滿足UDP協議的網絡仿真進行說明。ns2所有相關文件可以在位于www.isi.edu/nsnam/ns的網址上找到。

2 網絡拓撲及結構的定義

  網絡拓撲采用5個節點的星型結構,具體結構如圖1所示。

?

  下面利用tcl語言對網絡拓撲結構進行定義如下:

  set n0 [$ns node]?

  set n1 [$ns node]?

  set n2 [$ns node]?

  set n3 [$ns node]?

  set n4 [$ns node]

  $ns duplex-link $n0 $n3 1Mb 100ms DropTail?

  $ns duplex-link $n1 $n3 1Mb 100ms DropTail?

  $ns duplex-link $n2 $n3 1Mb 100ms DropTail?

  $ns duplex-link $n3 $n4 1Mb 100ms DropTail?

  前4行設置了從n0到n4的4個網絡節點,后4行分別定義了從n0、n1、n2到n3以及n3到n4的網絡鏈路,鏈路設置均相同,都為1Mbit/s,延遲100ms,丟棄超出信道容量的數據。定義完基本的節點和鏈路后,對網絡的數據源和應用的協議進行定義,由于需要定義的節點較多,采用子程序的方法。網絡的信源采用On/Off指數分布隨機信源,協議采用UDP無連接協議,具體程序腳本如下:

proc attach-expoo-traffic { node sink size burst idle rate }

? {

?????? #Get an instance of the simulator

?????? set ns [Simulator instance]

?????? #Create a UDP agent and attach it to the node

?????? set source [new Agent/CBR/UDP]

?????? $ns attach-agent $node $source

?????? #Create an Expoo traffic agent and set its?configuration parameters

?????? set traffic [new Traffic/Expoo]

?????? $traffic set packet-size $size

?????? $traffic set burst-time $burst

?????? $traffic set idle-time $idle

?????? $traffic set rate $rate

?????? #Attach the traffic agent to the traffic source

?????? $source attach-traffic $traffic

?????? #Connect the source and the sink

?????? $ns connect $source $sink

?????? return $source

 }

  子程序首先設置ns作為仿真器,然后創建一個UDP協議并把這個協議附加到節點上,之后創建一個開關時間滿足指數分布的On/Off隨機信源,設置信源的包大小、開關時間、峰值速率參數,并將信源綁定到UDP協議上,最后指出信息流的源地址和目的地址。

  仿真模型定義完成后,在腳本程序中設置仿真的開始時間和結束時間,以及通過編寫腳本將仿真中需要記錄的數據寫入文本文件。這樣,仿真模型的整個腳本就完成了,下面我們就可以運行仿真,以及觀察仿真的結果。

3 運行仿真并動態觀察仿真過程

  ns2軟件的仿真運行比較簡單,采用后臺方式,只需要在命令行中輸入如下命令即可:

  ns? 腳本程序名.tcl

  仿真運行結束后,我們可以利用仿真動態觀察器nam軟件查看仿真過程,運行如下命令:

  nam out.nam

  觀察器啟動后,我們可以看到一個圖形界面如圖2所示。通過觀察器按鈕,我們可以正向播放、反向播放、快速前進、快速后退、停止仿真動畫的播放。我們也可以給網絡上傳輸的包加上標記,動態觀察包的傳遞過程。在觀察器的右上角設置有步長設置滑塊,用來設置仿真演示的速度。利用該工具大大方便了對網路運行情況的理解與觀察。

?

4 仿真數據處理

  利用仿真過程中記錄的數據和xgraph軟件,我們可以對這些數據進行圖形化的分析。在此例中我們可以顯示節點n0、n1、n2分別到n4的信息流量圖,峰值速率分別為我們所設定的值。我們也可以利用仿真形成的數據文件,根據需要對其進行進一步的處理。

  從上面的整個仿真過程來看,ns2免費網絡系統仿真軟件具有功能完整,使用較方便,支持較多網絡協議的特點,但利用腳本來構建網絡模型稍顯煩瑣。

?

參考文獻

1 逯昭義,王思明. 計算機通信網信息量理論. 電子工業出版社.1997

2 John K. Ousterhout.Tcl and Tk Toolkit. Addison Wesley. 1994

3 Lee Breslau, Deborah Estrin etc. Advances in Network?Simulation.IEEE Computer 2000(5)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: www.一级片.com| 亚洲一区二区中文字幕 | 亚洲欧美视频在线 | 欧美激情成人网 | 欧美激情视频一区二区免费 | 久久在线视频 | 福利一区三区 | 男女很舒服爽视频免费 | 国产亚洲一级精品久久 | 久久91精品国产91久久跳舞 | 她也啪在线视频精品网站 | 日韩色道 | 亚洲男人的天堂成人 | 国产精品亚洲综合久久 | 欧美成人免费全网站大片 | 萌白酱白丝护士服喷水铁牛tv | 成人午夜在线视频 | 在线观看一二三区 | 女bbbbxxxx毛片视频0 | 国产三级日本三级日产三级66 | 中文国产成人精品久久无广告 | 欧美一级特黄aa大片在线观看免费 | 成人免费观看网欧美片 | 午夜三级毛片 | 国产一区二区精品在线观看 | 伊人国产在线视频 | 欧美jizzhd欧美精品 | 亚洲国产精品第一区二区 | 欧美成人性生活视频 | 国产精品色内内在线播放 | av片免费大全在线观看不卡 | 精品久久久久久综合日本 | 国产青草| 特黄特黄aaaa级毛片免费看 | 国产日产欧产精品精品推荐在线 | 国产在线一区二区三区欧美 | yy6080福利午夜免费观看 | 欧美一级日韩一级亚洲一级 | 欧美成人免费一区在线播放 | 国产在线高清不卡免费播放 | 亚洲成人高清在线观看 |