本人是在VMWare上安裝的ubuntu16.04版本,然后安裝NS2.35.
1.下載ns2的安裝包,這里我選擇的是ns-allinone-2.35.tar.gz壓縮格式的all in one安裝包,all in one 安裝包包含所有的組件,比較方便,另附下載地址:
http://www.isi.edu/nsnam/ns/ns-build.html
2.安裝前要先進行一些准備工作進行配置環境,輸入如下代碼:
$sudo apt-get install build-essential
$sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
$sudo apt-get install libxmu-dev libxmu-headers
3.ns2的解壓和安裝(也可以在ubuntu下聯網用命令下載安裝)
首先把ns-allinone-2.35.tar.gz復制到home/xxx的文件夾下。xxx代表是你自己設置的ns2文件夾。然后進入終端,依次輸入
tar -xzvf ns-allinone-2.35.tar.gz
cd ns-allinone-2.35
./install
不出意外的話,這一部分肯定是要出現各種各樣的問題的,比如我出現的問題是:
linkstate/ls.h:137:27: note: declarations in dependent base ‘std::map<int, LsIdSeq, std::less<int>, std::allocator<std::pair<const int, LsIdSeq>>>’ are not found by unqualified lookup
linkstate/ls.h:137:27: note: use ‘this->erase’ instead
make: *** [linkstate/ls.o] Error 1
Ns make failed!
編輯ns-2.35/linkstate/ls.h,即
gedit ns-2.35/linkstate/ls.h
將第137行的代碼由
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改為
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
也就是把erase用this->erase替換掉就好了。
再次執行./install就可以安裝成功了。
因為每個人的計算機不一樣所以出現的問題也可能不一樣所以建議大家出現問題去用google去查。
4.配置環境變量
如果安裝成功,終端會提示配置環境變量,包括PATH,LD_LIBRARY_PATH,TCL_LIBRARY三種環境變量。
重新打開一個終端,輸入:
sudo gedit .bashrc
在文件最后添加如下代碼:
export PATH=$PATH:/home/xxx/ns-allinone-2.35/bin:/home/xxx/ns-allinone-2.35/tcl8.5.10/unix:/home/xxx/ns-allinone-2.35/tk8.5.10/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/ns-allinone-2.35/otcl-1.14:/home/xxx/ns-allinone-2.35/lib
export TCL_LIBRARY=$TCL_LIBRARY:/home/xxx/ns-allinone-2.35/tcl8.5.10/library
 //注意兩個環境變量路徑之間要用冒號:隔開
然后運行:
source .bashrc
就完成了環境變量的配置。
5.安裝完成的驗證
重新打開一個終端,輸入:
ns
如果出現%就證明ns2已經安裝成功了。
如果沒有出現%,可以重新在終端輸入:
source .bashrc
 ns
這時候應該就完美的出現了%,證明ns2應經安裝好了。
6.實例example
在終端輸入:
cd ns-allinone-2.35/ns-2.35/tcl/ex
ns example.tcl
如果出現了數據,證明ns2運行正常。
再輸入
ns simple.tcl
如果出現nam的控制窗口和幫助屏,則表示nam安裝成功。可以在nam控制窗口進行動畫演示。自此,ns2.35完全安裝成功。
Nam 無法啟動
 進入nam目錄:cd ns-allinone-2.35/nam-1.15
 進入后sudo ./configure,然后sudo make
 最后sudo make install
 命令行輸入nam彈出nam console說明nam安裝成功。
 注意:如果通過“sudo apt-get install nam”安裝的nam,執行nam命令會報異常
 “段錯誤,核心文件已轉儲”
 遇到該問題的網友可以“sudo apt-get remove --purge nam”卸載nam及其配置后按Step6安裝。
將tcp協議分組和延時用gnuplot顯示出來,先安裝gnuplot :sudo apt-get install gnuplot -x11
然后gawk -f exmple.tcl out.tr > pc(先安裝gawk命令)
終端下:
gnuplot
plot 'pc' with lines顯示出界面。
