ns-3是一款网络仿真工具,可以支持OpenFlow,有打算尝试下在ns-3下进行OpenFlow的一些仿真,先来说一下ns-3的安装吧。
我这里是基于Linux OS和GCC安装的,如果使用其他系统的话可以参考:
http://www.nsnam.org/wiki/index.php/Installation
我所使用的系统式Ubuntu 14.04 Kylin.
- 安装相关依赖软件包
> sudo apt-get install gcc g++ python
> 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++-3.4 gcc-3.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-extra-utils texlive-latex-extra
> sudo apt-get install python-sphinx dia
> sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
> sudo apt-get install libboost-signals-dev libboost-filesystem-dev
> sudo apt-get install openmpi*
安装软件包需要花费不少时间,有几个文件还挺大,需要花不少时间去下载。并且我这里遇到的一个情况是如果不安装这些依赖包的话,在安装ns-3的时候visualizer这个模块不能被安装,安装这些依赖软件后就可以正常安装visualizer了。
- 下载ns-3
ns-3支持两种下载方式:
(1)使用Mercurial:
> cd
> mkdir repos
> cd repos
> hg clone http://code.nsnam.org/ns-3-allinone
(2)直接下载tar压缩包:
> cd
> mkdir tarballs
> cd tarballs
> wget http://www.nsnam.org/release/ns-allinone-3.21.tar.bz2
> tar -zxvf ns-allinone-3.20.tar.bz2
其实这个不用这么麻烦,直接上ns-3的官网http://www.nsnam.org/releases/通过浏览器直接下载再解压就是了,我当然是用这个方法了,简单方便嘛。 - 编译安装
这里又有两种安装方式了:
(1)使用build.py安装
> cd ~/ns-allinone-3.21 #切换到ns-allinone-3.21目录下
> sudo ./build.py --enable-examples --enable-tests
等待一段时间之后可以看到安装成功的信息。
(2)使用waf编译
> cd ns-3.21/ #注意是在ns-3.21目录下而不是在ns-allinone-3.21目录下
> sudo distclean
> sudo configure (OR ./waf configure --enable-examples --enable-tests)
> sudo ./waf build
这些都是配置ns-3的,如果要执行编译的话,需要使用如下命令:
> sudo ./waf
到这里安装结束了,接下来可以测试一下安装是否成功。 - 测试安装
(1)使用test.py测试:
> sudo ./test.py
或者是使用命令
> sudo ./test.py –c core
来执行测试。
(2)使用脚本进行测试:
> sudo ./waf --run scrcatch-simulator
到这里就算是安装成功了,只是还有几个模块还没有安装上,需要再独立进行安装。