一、环境准备
ns3是基于GNU/Linux平台使用C++开发的工具软件,在windows系统中安装使用ns3环境,可以使用虚拟机VMware并安装ubuntu系统来实现,现将本教程所用到的虚拟机和系统镜像放到网盘提供下载
名称 | 链接 | 提取码 |
---|---|---|
VMware Workstation 17 Pro | https://pan.baidu.com/s/1IEPZdvGGUYJ4-oHW5AHaKw | m3gm |
ubuntu-18.04.6-desktop-amd64 | https://pan.baidu.com/s/1UEueh6bXdQ9LXRTZdMEEBA | aopg |
虚拟机以及Ubuntu系统安装过程请参考以下文章:
还没写,可以先看别人的
进入系统后,先将系统的源改为清华源或者是阿里,方便后续下载各种依赖
Ubuntu系统菜单→软件和更新→下载自
二、安装依赖
在Ubuntu系统桌面右键,选择打开终端
1、更新源
sudo apt-get update
2、安装软件包
- 注意:下面的指令有两种方式来执行,软件包安装需要花大量的时间,你可以一条一条的在终端中执行,或者是将安装命令写入shell脚本,并加入自动确认参数(-y),然后执行脚本文件,不用一直守在那里
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 libgsl-dev libgsl23
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
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 libboost-signals-dev libboost-filesystem-dev
sudo apt-get install openmpi*
三、安装ns3
NS3可通过Tarballs和Bake两种方式进行安装,以下将以Tarballs为例:创建Tarballs目录、进入目录、下载压缩包、解压
有关ubuntu下常见软件安装方法可参考文章:https://blog.csdn.net/java211/article/details/3044103
在Ubuntu桌面右键打开终端,然后按顺序执行以下指令
1、创建Tarballs目录
mkdir tarballs
2、进入目录
cd tarballs
3、下载压缩包
wget http://www.nsnam.org/release/ns-allinone-3.28.tar.bz2
4、解压
tar xjf ns-allinone-3.28.tar.bz2
四、编译ns3
安装完成后,在系统的主文件夹里会有刚才创建的名为tarballs的文件夹,我们的ns3就是安装在这里面,进入到解压后的ns3主文件夹,我们来到这里是因为需要使用build.py来编译ns3
在空白处右键,打开终端,然后执行以下命令
./build.py
编译成功后会显示如下,这里耗费的时间会长一点,感觉时间长的话不用担心是不是出了问题
编译完成后我们再使用waf重新配置和编译ns3系统,虽然这不是必须的,但是一旦工程已经编译过,就不能再使用build.py脚本了,这时如果想改变原有ns3的配置就需要使用交互式waf命令进行重新配置和编译,步骤如下
1、进入到ns-3.28文件夹
cd ns-3.28
2、清除先前配置编译
./waf distclean
3、重新配置ns3,优化编译包括例子和测试(默认的例子和测试是不编译的),然后系统会重新配置,编译系统会检查ns3以来的软件包是否安装
./waf configure --build-profile=debug --enable-examples --enable-tests
4、以上仅是配置ns3,正式编译使用下面的命令
./waf build
至此,ns3编译完成,接下来进行测试
五、测试
还是在ns-3.28这个文件夹下打开终端(或者从终端使用cd指令直接进入)
执行如下指令
test.py是Python编写的测试脚本,下面的命令是测试ns3是否编译正确的典型方法
测试结果最后一行现实的是总共测试和通过测试的脚本数目
./test.py -c core
六、运行脚本测试
下面通过运行ns3提供的示例,再次验证ns3是否正常安装,首先执行如下命令
./waf --run hello-simulator
显示如下则测试通过
至此,ns3环境安装成功,后续会更新Netanim的简单使用