ns-3安装步骤及使用说明
1.安装步骤
1.1 准备工作
1)平台选择
ns-3是基于GNU/Linux平台使用的C++语言开发的工具软件,对于和Linux不兼容的Windows系统解决方案之一是安装虚拟机VMware,并在VMware上安装了Ubuntu 14.04.1。
2)依赖软件包
在终端执行以下命令
1.sudo apt-get install gcc g++ python python-dev //C++和python安装,必装
2.sudo apt-get install mercurial //NS3代码维护使用的源码版本控制管理系统
3.sudo apt-get install bzr //运行python绑定ns-3-dev需要bazaar这个组件
4.sudo apt-get install libgtk2.0-0 libgtk2.0-dev //基于GTK的配置系统
5. sudo apt-get install gdb valgrind //调试工具
6.sudo apt-get install doxygen graphviz imagemagick //文档生成器
7. sudo apt-get install texlive texlive-latex-extra //文档生成器,从源代码中生成 说明文档
8.sudo apt-get install texinfo dia texlive-extra-utils texi2html //ns-3手册和tutorial编写查看工具
9. sudo apt-get install flex bison //仿真必需的词法分析器和语法分析生成器,必装
10.sudo apt-get install libgoocanvas-dev //部分移动场景仿真的可视化测试需要 这个组件
11. sudo apt-get install tcpdump //读取pcap的packet traces,即包嗅探器
12.sudo apt-get install sqlite sqlite3 libsqlite3-dev //支持统计特性的数据库软件
13.sudo apt-get install libxml2 //xml的配置存储软件
14.sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas //Gustavo's ns-3-pyviz的可视化软件
15.sudo apt-get install qt4-qmake
16.sudo apt-get install qt4-dev-tools
1.2下载ns-3
直接下载tar压缩包,可以到ns-3官网http://www.nsnam.org/releases/下载最新版本,或者依次使用如下命令
mkdir tarballs //创建名字为tarballs的文件夹
cd tarballs //进入tarballs
wget http://www.nsnam.org/releases/ns- allinone- 3.25.tar.bz2 //连网下载最新的NS-3版本
tar jxvf ns-allinone-3.25.tar.bz2 //解压
cd ns-allinone-3.25 //进入ns-allinone-3.25 目录
cd ns-3.25 //进入ns-3.25 目录
1.3使用waf编译安装
配置ns-3使用如下命令
./waf -d debug --enable-examples --enable-tests configure
正式编译使用如下命令
./waf
1.4测试
使用test.py测试
sudo .test.py -c core
运行脚本测试
sudo ./waf --run scratch-simulator
2.ns-3仿真可视化工具
2.1 PyViz
2.1.1 在线安装一些该模块依赖的Python软件包,命令如下所示:
Sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 python-gnomedesktop python-rsvg2.1.2 安装‘交互式Python’,以便在后面的可视化界面(the visualizer GUI:)中使用控制按钮,命令如下:sudo apt-get install ipython
2.1.3 用如下命令可以测试是否安装成功:
cp -r examples/tutorial/third.cc scratch
(我的ns-3有问题,所以所有程序得先复制到scratch目录下运行)
sudo ./waf --run scratch/third --vis
2.2 NetAnim
2.2.1 Ns-3.25版本默认已经包含NetAnim的3.107版本,而且NetAnim是基于Qt4的,所以要先安装Qt4,命令如下:
apt-get install qt4-dev-tools
2.2.2 使用方法
第一步:生成XML记录文件,命令如下:
cp -r src/netanim/examples/wireless-animation.cc scratch
sudo ./waf --run scratch/wireless-animation
第二步:运行NetAnim,命令依次如下:
返回目录ns-allinone-3.25
进入目录netanim-3.103: lxl@ubuntu:~/tarballs/ns-allinone-3.25$ cd netanim-3.107/
运行NetAnim:
lxl@ubuntu:~/tarballs/ns-allinone-3.25/netanim-3.107$ sudo ./NetAnim
2.3 绘图工具Gnuplot
2.3.1 安装Gnuplot
在终端输入如下命令安装:
Sudo apt-get install Gunplot
2.3.2 使用Gnuplot
cp -r examples/tutorial/fifth.cc scratch
$sudo ./waf --run scratch/fifth >fifth.dat 2>&1
将会在安装目录下,生成 fifth.dat文件
解释:
> 表示输出重定向。
>fifth.dat 把执行的结果存入到文件。一般情况下,输出重定向到当前屏幕,>fifth.dat表示输出重定向到该文件。
2>&1 在shell中,文件描述符通常是:STDIN,STDOUT,STDERR,即:0,1,2,
&表示在后台执行, 2>&1 表示,把错误信息stderr也放到stdout中输出.
进入gnuplot:
$gnuplot
gnuplot>set terminal png size 640,480
gnuplot>set output "fifth.png"
gnuplot>plot "fifth.dat" using 1:2 title "Congestion Window" with linespoints
gnuplot>exit
在安装目录下,将会生成一个 fifth.png的图像。