摘 要:網(wǎng)絡(luò)模擬是進(jìn)行網(wǎng)絡(luò)技術(shù)研究的一種基本手段。在新技術(shù)的研究過程中,由于各種原因,實(shí)際網(wǎng)絡(luò)系統(tǒng)的實(shí)現(xiàn)往往是代價(jià)較高或者是不現(xiàn)實(shí)的。在這種情況下,模擬就成了最佳可供選擇的測試、評估和驗(yàn)證的手段之一。NS正是這樣一種針對網(wǎng)絡(luò)技術(shù)的開源軟件模擬平臺。發(fā)展到現(xiàn)在,它所包含的模塊已經(jīng)非常豐富,幾乎涉及了網(wǎng)絡(luò)技術(shù)的所有方面。所以NS成為了目前學(xué)術(shù)界廣泛使用的一種網(wǎng)絡(luò)模擬軟件。
關(guān)鍵詞:網(wǎng)絡(luò)模擬;NS;Ad Hoc
中圖分類號:TP
文獻(xiàn)標(biāo)識碼:A
文章編號:1672-3198(2010)12-0298-01
1 緒論
NS-2 全稱是 Network Simulator Version 2[1]。它是面向?qū)ο蟮模x散事件驅(qū)動的網(wǎng)絡(luò)環(huán)境模擬器,主要用于解決網(wǎng)絡(luò)研究方面的問題。NS-2 提供在無線或有線網(wǎng)絡(luò)上,TCP、路由、多播等多種協(xié)議的模擬。NS 一直以來都在吸收全世界各地研究者的成果,包括 UCB、CMU 等大學(xué)和 SUN 等公司的無線網(wǎng)絡(luò)方面的代碼。
2 在Linux 環(huán)境下安裝NS-2
2.1 系統(tǒng)環(huán)境
NS-2不提供Windows下直接安裝的二進(jìn)制代碼,因此在Linux下安裝。
2.2 安裝步驟
(1)下載NS2源程序,NS-2 目前最新版本是2.34(current release 2.34 ,released Jun 17 2009 )。
(2)安裝Ubuntu下一些必須的支持軟件包,否則在安裝NS2時(shí)系統(tǒng)會報(bào)錯. apt-get 是ubuntu 推薦的軟件包管理程序,如果你得系統(tǒng)不是Ubuntu,請采用相應(yīng)得方式安裝這些軟件包。
(3)安裝NS2。
NS安裝后的可執(zhí)行程序,依然位于編譯時(shí)得文件夾,而不是Linux默認(rèn)的/bin或/usr/bin,所以找個合適得地方放置源文件,建議放在/home/
安裝過程很簡單,進(jìn)入解壓后的ns-allinone-2.33目錄下,運(yùn)行./install即可。這時(shí),安裝程序會先進(jìn)行系統(tǒng)兼容性檢測,若報(bào)錯,就是說明有部分軟件包還未安裝,請返回2.2.2。通過檢測后,系統(tǒng)將開始編譯并配置NS2及其輔助工具,耗時(shí)較長。
(4)環(huán)境變量的配置。
安裝完成之后,并不能直接在shell下運(yùn)行ns。這是因?yàn)閚s安裝程序并不在Lunix程序得默認(rèn)位置,你必須更改PATH變量。代碼如下:
export PATH=“$PATH:/home/shao/ns-allinone-2.34/bin:/
/home/shao/ns-allinone-2.34/tcl8.4.18/unix:/home/shao/ns-allinone-2.33/tk8.4.18/unix”
export LD_LIBRARY_PATH=“/home/shao/ns-allinone-2.34/otcl-1.13:/
/home/shao/ns-allinone-2.34/lib”
export TCL_LIBRARY=“/home/steven/ns-allinone-2.34/tcl8.4.18/library”
將這些代碼可以放在.bashrc文件的末尾即可。設(shè)置結(jié)束后按Ctrl + Alt + Backspace注銷并重新登陸,使環(huán)境變量生效。
(5)驗(yàn)證安裝。
在終端下輸入 ns,如果得到%,說明 ns2 安裝成功。
3 場景設(shè)計(jì)
利用NS2中已有的協(xié)議,編寫一個簡單的tcl腳本。該腳本完成對由50個移動節(jié)點(diǎn)組成的Ad hoc網(wǎng)絡(luò)[2],隨機(jī)移動和通信的模擬,并產(chǎn)生相應(yīng)的nam文件用于nam演示。
3.1 設(shè)計(jì)過程
(1)cbrgen用來生成傳輸負(fù)載,可以產(chǎn)生TCP流或者CBR流。進(jìn)入cbrgen.tcl所在文件目錄,cbrgen.tcl 在ns-2.34/indep-utils/目錄下,使用命令 ns cbrgen.tcl。該命令創(chuàng)建了一個具有50個移動節(jié)點(diǎn)、20對通信連接、每秒鐘發(fā)送10個分組的以CBR為業(yè)務(wù)源的通信場景文件scence_cbr。
(2)用setdest來隨機(jī)生成無線網(wǎng)所需的節(jié)點(diǎn)運(yùn)動場景。使用命令
./setdest -v 1 -n 50 -p 1.0 -M 20.0 -t 100 -x 1000 -y 1000 > scence_dest
該命令創(chuàng)建一個具有50個節(jié)點(diǎn)、節(jié)點(diǎn)在每個地點(diǎn)停留1秒、最大移動速度20m/s,仿真時(shí)間300秒,長1000米,寬1000米的移動場景文件scence_dest。
3.2 編寫腳本文件并運(yùn)行腳本adhoc.tcl
腳本文件同一目錄下會出現(xiàn)adhoc.tr和adhoc.nam兩個文件。仿真數(shù)據(jù)結(jié)果保存在aodv.tr中,使用文本編輯器可以打開aodv.tr文件。
4 結(jié)語
網(wǎng)絡(luò)模擬有著周期小、成本低等特點(diǎn),而且可以使研究者更容易利用他人的研究成果,可以使研究者更專注于自己所研究的部分而不必為系統(tǒng)的其他部分耗費(fèi)過多得精力。NS正是這樣一種針對網(wǎng)絡(luò)技術(shù)得開源得軟件模擬平臺,使用它可以很容易地進(jìn)行網(wǎng)絡(luò)技術(shù)得開發(fā)。
參考文獻(xiàn)
[1]Rixhard M.Fujimoto,Kalyan S.Perumalla and George F.Riley. Network Simulation, MorganClaypool,2007.
[2]Jerry Banks. Handbook of simulation, EngineeringManagement, 1998.