網(wǎng)絡(luò)仿真1:安裝ns2

ns2是常用的網(wǎng)絡(luò)仿真軟件,目前最常用的版本是ns-2.34(發(fā)布于2009年)和ns-2.35(發(fā)布于2011年)。ns2編譯安裝過程較為繁瑣,尤其是需要手工解決一些因編譯環(huán)境變化而帶來的語法錯(cuò)誤,對(duì)新手很不友好。本文描述了編譯運(yùn)行ns-2.34和ns-2.35的全過程,并提供了解決編譯錯(cuò)誤的補(bǔ)丁。

系統(tǒng)環(huán)境

虛擬機(jī)系統(tǒng): Ubuntu server 17.10.1(全新安裝)

宿主機(jī)系統(tǒng):Windows 10

虛擬機(jī)管理器:VMWare Workstation

雖然ns-2.35為ns2的最新版,但是由于包括pFabric、PIAS、qJump在內(nèi)的相當(dāng)一部分研究工作仍是基于ns-2.34開發(fā)的,所以本文重點(diǎn)介紹ns-2.34的安裝過程。

安裝依賴項(xiàng)

虛擬機(jī)系統(tǒng)為全新安裝的,所以編譯ns2所需要的依賴項(xiàng)較多,包括:

  • gcc
  • g++
  • make
  • libxt-dev
  • libx11-dev
  • libxmu-dev
sudo apt-get install -y gcc g++ make libxt-dev libx11-dev libxmu-dev

安裝ns-2.34

下載

下載ns2.34:

wget https://jaist.dl.sourceforge.net/project/nsnam/allinone/ns-allinone-2.34/ns-allinone-2.34.tar.gz

解壓縮:

tar -xvf ns-allinone-2.34.tar.gz
cd ns-allinone-2.34

補(bǔ)丁

ns-2.34發(fā)布于2009年6月,現(xiàn)在由于編譯器版本不兼容等原因,直接編譯的話會(huì)報(bào)一些編譯錯(cuò)誤,因此需要打補(bǔ)丁。

wget https://raw.githubusercontent.com/zylan29/ns-expr/master/ns-allinone-2.34-bugfix.patch
patch -p1 < ns-allinone-2.34-bugfix.patch

編譯

第一次編譯時(shí)使用install腳本編譯ns-2.34的全部組件。

./install

安裝ns-2.35

下載

下載ns2.35:

wget https://jaist.dl.sourceforge.net/project/nsnam/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz

解壓縮:

tar -xvf ns-allinone-2.35.tar.gz
cd ns-allinone-2.35

補(bǔ)丁

ns-2.35發(fā)布于2011年11月,在新版本的編譯環(huán)境下同樣需要打補(bǔ)丁才能成功編譯。

wget https://raw.githubusercontent.com/zylan29/ns-expr/master/ns-allinone-2.35-bugfix.patch
patch -p1 < ns-allinone-2.35-bugfix.patch

編譯

編譯ns-2.35的全部組件

./install

運(yùn)行

運(yùn)行簡(jiǎn)單的ns2網(wǎng)絡(luò)仿真腳本

wget http://nile.wpi.edu/NS/Example/ns-simple.tcl
/path-to-ns2/ns-2.34/ns ns-simple.tcl

參考

  1. ns2項(xiàng)目網(wǎng)址:https://www.isi.edu/nsnam/ns/
  2. ns2項(xiàng)目新網(wǎng)址: http://nsnam.sourceforge.net/wiki/index.php/Main_Page
  3. ns-2.34 bug fix patch: https://github.com/camsas/qjump-ns2/blob/master/ns-allinone-2.34.ubuntu.patch
  4. 解決ns-2.34的"error: narrowing conversion of ‘194’ from ‘int’ to ‘char’ inside { }"問題
    https://stackoverflow.com/questions/43601538/ns-2-installation-error-narrowing-conversion-of-252-from-int-to-char
  5. 解決ns-2.35 "ambiguous reference"問題:https://stackoverflow.com/questions/21129363/specifying-for-ambiguous-reference
  6. Simple Simulation Example: http://nile.wpi.edu/NS/simple_ns.html
  7. 推薦閱讀ns Tutorial:https://www.isi.edu/nsnam/ns/tutorial/nsindex.html
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容