神器 ns 3 :https://www.nsnam.org/wiki/Installation
參考 文章 :::https://blog.csdn.net/wuzhiwuweisun/article/details/79483178
注意:下面所有操作步驟只針對Ubuntu,其他類型虛擬機請參考別的文章。
操作環境:VMware Workstation 10
安裝包百度雲鏈接:https://pan.baidu.com/s/1WoHQJRUg_bqAnKjriGSeQw 密碼:3i0d
虛擬機發行版:ubuntu-16.04.3-desktop-amd64(64位虛擬機)
百度雲鏈接:https://pan.baidu.com/s/1L9VvjorbS9ACc8O3Y_n1Xw 密碼:zz7u
NS安裝包:ns-allinone-3.27 PS: 可以通過ns官網下載最新版本:點擊打開鏈接;
百度雲鏈接:https://pan.baidu.com/s/1oEySDiC6eIOioKSl-dHxtA 密碼:jtwt
步驟:
1.在終端輸入命令安裝NS-3依賴的軟件包,具體命令如下:
sudo apt-get install gcc g++ python python-dev
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install gdb valgrind
sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl //這句在執行時出現錯誤,後邊會解釋
sudo apt-get install flex bison libfl-dev
sudo apt-get install g++-4.4 gcc-4.4 //這個可以不執行,第一句已經執行
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-pdf texlive-latex-extra texlive-generic-extra texlive-generic-recommended //這句在執行時出現錯誤,後邊會解釋
sudo apt-get install texinfo dia texlive texlive-pdf texlive-latex-extra texlive-extra-utils texlive-generic-recommended texi2html //這句在執行時出現錯誤,後邊會解釋
sudo apt-get install python-sphinx dia
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
sudo apt-get install qt4-qmake
sudo apt-get install qt4-dev-tools //這個是後邊NetAnim仿真界面需要依賴的軟件包
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev
現在說明安裝軟件包遇到的問題:
(1) 在執行第5句命令的時候出現以下錯誤提示:
這個時候我們只需要根據提示改正就好,第一步提示選中“libgsl-dev”而非“libgsl0-dev”,我們原命令的“libgsl0-dev”替換成“libgsl-dev”就可以。還有一個錯誤,libgsl0ldbl這個軟件包不存在,但是提示有東西可以替換,果斷安裝可以替換它的軟件包,問題解決。
(2) 在執行第15句和第16句的時候提示錯誤如下:
既然無法定位,我們不妨就不先安裝這個軟件包,當後邊的配置編譯出現錯誤的時候我們再去安裝即可。去掉這個軟件包我們發現命令可以順利執行了。
2.下載NS-3安裝包
方法一:最簡單的辦法,去NS官網通過瀏覽器下載後解壓就可以。
NS官網下載最新版本:點擊打開鏈接
ns-allinone-3.27安裝包百度雲鏈接:https://pan.baidu.com/s/1oEySDiC6eIOioKSl-dHxtA 密碼:jtwt
方法二:在終端輸入命令下載解壓
cd
mkdir tarballs
cd tarballs
wget http://www.nsnam.org/release/ns-allinone-3.27.tar.bz2
tar -xjvf ns-allinone-3.27.tar.bz2
3.編譯安裝
分兩種情況選擇如何編譯安裝:
首次進行編譯安裝的時候我們把下面的步驟1執行一遍。
不是首次進行配置編譯的時候執行步驟2。
步驟1:
在終端進入解壓縮文件夾ns-allinone-3.27(注意不是ns-3.27)
執行命令 sudo ./build.py
安裝正確後的截圖如下,注意圖中的未安裝成功的三個模塊 brite,click,openflow,我們先不用管。後面的話想要安裝這三個模塊,我們可以參考下面的文章解決:點擊打開鏈接
PS:使用命令sudo ./build.py編譯安裝ns-3安裝包一般是我們第一次安裝ns-3的時候使用的命令,這是allinone環境下的的build.py腳本,是一個Python腳本。一旦我們第一次編譯過後,我們之後就要使用waf編譯。
步驟2:配置編譯,這是兩個過程,我們先進行配置ns3過程,再進行編譯ns3過程。
使用waf編譯安裝(waf命令是交互式的,是基於python語言的開源編譯系統。一旦我們用sudo ./build.py命令編譯安裝過ns-3,再想重新配置和編譯就只能用waf命令。需要注意的是waf命令配置時是在目錄ns-3.27下)
cd ns-3.27
sudo ./waf clean //清除先前的配置編譯
sudo ./waf -d debug --enable-example --enable-tests configure //基於waf的配置調試方式
PS: 這裏的第三條命令裏的參數分爲配置調試,優化調試。命令形式是 ./waf -d <debug level> configure
<debug level>: 分爲debug,optimized兩個參數,debug是配置調試方式,optimized是優化調試方式。
執行sudo ./waf -d debug --enable-example --enable-tests configure命令具體作用是:配置ns-3,優化編譯自己添加的例子和測試(那些系統自帶默認的例子和測試是不編譯的),然後系統進行重新配置,編譯系統會檢查ns3依賴的軟件包是否成功安裝。執行過程部分截圖如下:
在配置信息的最後會列出一個當前ns-3系統特性的摘要,第一列是ns3裏的模塊名稱,第二列是系統是否支持這些模塊,如果系統不支持該模塊會在後邊的括號裏列出系統不支持的原因。因此,如果我們想安裝不成功的模塊,比如前邊的(brite,click,openflow)可以根據原因在配置的時候加入相應的選項或者下載模塊依賴的軟件包。系統特性摘要截圖:
可以很明顯的看到最後一句提示語:'configure' finished successfully (1m23.455s),說明我們完成了配置ns3的過程。下面我們要進行正式編譯ns3的過程。
執行命令 sudo ./waf ,執行後的截圖如下:
可以看到和執行的步驟一的現象基本一樣。
4.測試ns3編譯是否編譯正確。
測試方法很多,介紹兩種。
第一,利用test.py腳本進行測試,這是利用python語言編寫的。
cd ns-3.27
sudo ./test.py –c core
該腳本是waf並行執行,可以看到執行過程中出現一堆的PASS...(執行過程很長,幾十分鐘)最後一行顯示測試的結果,總共測試的數量和測試通過的腳本數量。執行過程截圖如下:
第二,利用編寫的腳本測試
sudo ./waf --run hello-simulator
編譯成功後就會會打印"hello simulator",表示NS3安裝成功了!
說明:如果沒有看到輸出“Hello Simulator”,說明你是在優化編譯模式下進行的編譯,在優化編譯模式下,默認將關閉控制檯輸出。可以通過以下改變第3步中的步驟二中的命令sudo ./waf -d optimized --enable-example --enable-tests configure 的參數optimized改爲debug後變爲sudo ./waf -d debug --enable-example --enable-tests configure 重新配置編譯就可以。
具體指令是:
cd ns-3.27
sudo ./waf clean //清除先前的配置編譯
sudo ./waf -d debug --enable-example --enable-tests configure //基於waf的配置調試方式
sudo ./waf
更多更全的參考文章如下:
1.http://blog.csdn.net/and_w/article/details/61619241 點擊打開鏈接
2.http://blog.csdn.net/yanerhao/article/details/52956063 點擊打開鏈接
3.http://blog.csdn.net/rayaohb/article/details/7374615 點擊打開鏈接
4.http://blog.csdn.net/zy416548283/article/details/38682469 點擊打開鏈接
---------------------
作者:wuzhiwuweisun
來源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/79483178
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!