0 說明
NS3是一款網絡模擬器,目前我們使用Ubuntu16來跑。因爲Ubuntu18採用了新的桌面環境,NS3對其支持將在以後的版本中更新。
Aqua Sim NG(ASNG)是康涅狄格大學開發的基於NS3的水下網絡模擬器,官方在NS3 2.4或2.6版本編譯。我們這裏使用NS3 2.6版本。查API的時候也要找對應版本的文檔。
1 安裝庫
這裏利用Ubuntu的apt直接安裝。
sudo apt-get update
sudo apt-get install gcc g++ python python-dev mercurial bzr gdb valgrind gsl-bin libgsl0-dev flex bison libfl-dev tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev libgtk2.0-0 libgtk2.0-dev vtun lxc uncrustify doxygen graphviz imagemagick texlive texlive-extra-utils texlive-latex-extra texlive-generic-extra texlive-generic-recommended texi2html python-sphinx dia python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev python-pygccxml libboost-signals-dev libboost-filesystem-dev openmpi-bin openmpi-doc libopenmpi-dev libgsl2
這裏如果遇到軟件包不再支持的問題,先去百度谷歌一下,沒有直接去ubuntu軟件中心查看相關軟件包的情況,可能是改名字了。
2 安裝NS3
到官網http://www.nsnam.org/下載2.6版本NS3代碼包,解壓到你想放的文件夾。我們直接放桌面。
下載解壓後在終端進入NS3文件夾,編譯。
cd ns-allinone-3.26
./build.py (會很久)
經過一段時間的等待,NS3環境算是初步搭建好,但是還不能用,還需要編譯各個模塊。而ASNG也算是一個模塊,我們就直接在下一步中編譯所以模塊。
3 編譯
下載ASNG到NS3的src中。
$ cd ns-allinone-3.26/ns-3.26/src/
$ git clone http://github.com/rmartin5/aqua-sim-ng
下載好之後就可以編譯模塊了。回到ns-3.26/下
./waf --enable-examples --enable-tests configure (-d optimized 優化編譯,這個可選,可能會出一些問題,把warning當做error)
./waf build (會很久)
4 運行
編譯好了我們可以運行例子試一試,格式如下:
./waf --run filename
我們寫的代碼一般放到scratch下,其中filename可以加上目錄名字,也可以不加。我們可以隨便寫個不存在的名字,ns3會把支持的所有文件名給你列出來~
./waf --run test.py --vis
--vis 圖形化顯示
注意,我們寫的文件雖然是c++,但是後綴要是.cc,不是.cpp !!!!
ok,現在就全部安裝好了。
5 個人習慣
簡單記錄一下我的個人習慣。
虛擬機:vituralbox
編輯器:sublime
終端:terminator (保存好配置文件)
alias ns=./waf --run