安裝和配置NS3環境

一、安裝虛擬機

根據下列博客安裝虛擬機和Linux環境
https://blog.csdn.net/weixin_43465312/article/details/100233930

推薦使用Ubuntu18.04版本,喜歡嘗試的可以使用最新的20.04版,但是會有很多包依賴的問題,需要多次指定包的舊版本號,才能解決依賴問題,比較繁瑣。

二、更新源

新安裝完成的虛擬機不要着急進行依賴安裝,推薦更換源爲國內的服務器,如下博客進行操作。
https://blog.csdn.net/daerzei/article/details/84873964

在桌面內進入終端,輸入: sudo apt-get update,驗證一下選擇的源是否ok。


三、安裝依賴庫

推薦使用下列命令安裝依賴庫,可以傻瓜無腦安裝,原實驗指導書中的命令有依賴衝突問題,喜歡折騰的可以用實驗指導書的命令,不過仍需要你們開動小腦瓜解決版本衝突問題。

以下命令來自ns3官方安裝流程 https://www.nsnam.org/wiki/Installation

sudo apt-get install gcc g++ python python3
sudo apt-get install gcc g++ python python3 python3-dev
sudo apt-get install python3-setuptools git mercurial
sudo apt-get install qt5-default mercurial
sudo apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
sudo apt-get install autoconf cvs bzr unrar
sudo apt-get install gdb valgrind
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
sudo apt-get install python3-sphinx dia
sudo apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc uml-utilities
sudo apt-get install libboost-signals-dev libboost-filesystem-dev

四、安裝ns3基礎模塊

推薦使用3.27版本,最新版是3.30.1版本,會有一些編譯問題。

打開桌面終端執行如下命令

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

然後進入文件夾,進行編譯流程,有1800+文件,這個過程會比較緩慢,推薦設置虛擬機不要息屏,會產生中斷,會有一些奇奇怪怪的問題。

cd ns-allinone-3.27
sudo ./build.py

編譯完成後會看見如下界面。
在這裏插入圖片描述

如果你執行下列命令,
cd ns-3.27
sudo ./waf --run hello-simulator

可以出現,下面界面,說明你安裝成功了。
在這裏插入圖片描述
如果是如下界面,說明還有一些小問題,需要執行下列命令。

在這裏插入圖片描述
然後執行下列命令,再次進行編譯,2500+文件。

cd ns-3.27
sudo ./waf clean
sudo ./waf -d debug --enable-example --enable-tests configure
sudo ./waf

再次執行上文的sudo ./waf --run hello-simulator ,應該就沒問題了。

五、編譯NetAnim可視化部分

返回目錄ns-allinone-3.27,進入目錄netanim-3.108,執行下列命令
sudo make clean
sudo qmake NetAnim.pro
sudo make

編譯結束後執行
sudo ls
有NetAnim的話,執行
sudo ./NetAnim
打開如下仿真界面,
在這裏插入圖片描述
安裝全部完成

附錄:你可以運行下tutorial文件夾下的官方小例子,流程如下。

這裏使用的NS3自帶例子,所以可以直接進入ns-3.xx/examples/tutorial目錄會發現first.cc腳本,要運行自己的腳本,你所需要做的僅僅是把你的腳本放到scratch目錄下,通過waf,這樣你的腳本就會被編譯。

cp examples/tutorial/first.cc scratch/myfirst.cc

現在使用waf命令來編譯自己的第一個實例腳本:

sudo ./waf

現在你能夠運行這個例子(注意如果你在scratch目錄編譯了你的程序,你必須在scratch目錄外運行它):
注意這裏是myfirst而不是myfirst.cc!

sudo ./waf --run scratch/myfirst

會出現如下的結果。
在這裏插入圖片描述

在此,特別感謝學長提供的安裝流程文檔!!!!!!