目录
0.开发环境
1.安装依赖环境
遇到的问题
2.下载NS3源码
3.配置&安装
4.测试
4.1 ns3功能测试
4.2 程序测试
4.3可视化工具Pyviz测试
5.NetAnim(可视化工具)
5.1安装
5.2 NetAnim运行
5.3xml文件生成
可参照官网指导手册,这是最权威的:
其中阅读Ubuntu部分的教程即可
总结了部分安装命令,可直接保存为shell文件运行
#!/bin/bash
sudo apt-get install gcc g++ python python3
sudo apt-get install gcc g++ python python3 python3-dev
sudo apt-get install mercurial python3-setuptools git
sudo apt-get install qt5-default
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython
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 texlive-lang-portuguese dvipng latexmk
sudo apt-get install python3-sphinx dia
sudo apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
sudo apt-get install flex bison libfl-dev
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-dev llvm-dev automake
sudo apt-get install python-pip
python3 -m pip install --user cxxfilt
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
#下面这些不是必须的,还是建议装上
sudo pip install pygccxml
sudo apt-get install castxml
sudo apt-get install libgcrypt11-dev libgcrypt20-doc
sudo apt-get install gtk+-3.0
pip:
pip3和pip两个,都是版本问题,利用相关命令来升级。具体用的哪个命令,我也记不清了,就是百度,升级pip版本就对了。
sudo pip3 install --user --upgrade pip
sudo python -m pip install --upgrade pip
sudo pip3 install --upgrade pip
这里推荐两篇博客:按照操作,pip升级到20.0.2版本.
第二天,写博客时输入pip3 --version 和pip --version验证版本信息,又正常了!!!
castxml:
需要2.0以上版本,但是apt-get只能安装1.0版本的。就是自己下载安装,也需要别的依赖环境,太麻烦了。百度一下这个也不太重要,就没管了。
下载源码包:
wget https://www.nsnam.org/releases/ns-allinone-3.30.1.tar.bz2
解压命令:
tar -xjf ns-allinone-3.30.1.tar.bz2
进入ns-allinone-3.30.1/ ns-3.30.1/文件夹下,开始配置安装
#此命令不可复制粘贴,看你的pybindgen文件夹的位置在哪
sudo ./waf configure --build-profile=debug --enable-example --exable-tests --with-pybindgen=/home/ubuntu/tarballs/ns-allinone-3.30-1/pybindgen-0.20.0 --enable-sudo
pwd命令:
配置完成后系统提示如下 :configure finished successfully。这样应该才是正常的。
接下来执行命令sudo ./waf (耗时较长,差不多40分钟)。
sudo ./waf
可以看见哪些被安装的模块,哪些没有被安装的。visualize即可视化工具。
至此NS3安装完成。
仍然是在ns-3.30.1目录下,执行如下命令:
sudo ./test.py -c core
结果如下图:
运行如下命令:
sudo ./waf --run hello-simulator
结果如下图:有hello-simulator输出。
运行如下命令:--vis表明启用可视化工具
sudo ./waf --run first --vis
结果如下图:(点击simulate可以运行)
sudo ./waf --pyrun src/flow-monitor/examples/wifi-olsr-flowmon.py --vis
如src/netanim/examples/star-animation.cc脚本,要出现GUI界面,需对文件所在路径下的wscript脚本进行修改。添加'visualizer'
执行命令(文件名不要带上.cc):出现GUI界面如下
sudo ./waf --run src/netanim/examples/star-animation --vis
进入ns-allinone-3.30.1/netanim-3.108/文件夹,执行如下命令:
sudo make clean
sudo qmake NetAnim.pro
sudo make
执行命令,启动NetAnim
./NetAnim
NetAnim软件界面:
NetAnim仿真GUI界面就是解析仿真程序生成的xml文件
如之前的star-animation。打开 star-animation.cc文件,阅读代码。
如果程序里没有生成xml文件的代码,需要自己添加。
如example/tutoroal/first.cc文件
如:运行first.cc可看见有first.xml文件生成
利用NetAnim打开生成的xml文件,如下图所示: