Featured image of post 网络仿真器NS3的安装

网络仿真器NS3的安装

官网共提供三种方法进行安装,大部分教程用的方法是手动安装,即使用mercurial或者tarball。另一种方法是采用bake,bake是ns3自带的管理工具,能够完成依赖包检查、allinone包下载与编译的一些列操作,本笔记以bake方式进行ns3的安装

演示系统版本

演示系统的版本为:Ubuntu 20.04.4

1
2
3
uname -a
cat /proc/version
cat /etc/issue

下载bake工具

https://gitlab.com/nsnam/bake/-/blob/master/doc/documentation.txt

下载bake工具

1
2
sudo apt install git
git clone https://gitlab.com/nsnam/bake

配置环境变量

1
2
3
export BAKE_HOME=`pwd`/bake
export PATH=$PATH:$BAKE_HOME
export PYTHONPATH=$PYTHONPATH:$BAKE_HOME

执行基础依赖检查

1
2
cd bake/
./bake.py check

安装缺少的组件FNU C++、Make与CMake

1
2
sudo apt install g++
sudo apt install cmake

再次检查依赖,全部通过

1
./bake.py check

添加NS3模块与依赖检查

https://blog.csdn.net/smiling_sweety/article/details/115025518

https://blog.csdn.net/yylib/article/details/43585839

配置bake设置添加ns3模块,并检查该模块的依赖需求

1
2
./bake.py configure -e ns-3.35
./bake.py show

观察到此处缺少pygraphviz、python3-dev、qt、setuptools,根据工具提示信息进行安装

1
2
3
4
sudo apt-get install python3-pygraphviz
sudo apt-get install python3-dev
sudo apt-get install qt5-dev-tools libqt5-dev
sudo apt-get install python3-setuptools

注意在安装QT组件时,出现无法定位软件包的问题

因此将QT组件相关的安装命令更换为qt5-default

1
sudo apt-get install qt5-default

安装完成后,再次检查依赖均已安装

1
2
./bake.py show
./bake.py check

执行下载、编译、安装

方式一:继续使用bake

可使用该命令进行模块的下载、构建及安装

1
./bake.py deploy

但由于该操作十分耗时,因此可以采用两步完成:下载、构建安装

1
./bake.py download

下载过程会非常缓慢

下载完成后执行构建安装

1
./bake.py build

方式二:使用build脚本

http://skypacer210.github.io/2014/12/26/building-ns-3-on-ubuntu/

https://blog.csdn.net/qq_19408097/article/details/104625197

ns3使用Waf工具进行源代码的编译(Waf是一个基于Python语言的开源编译系统),但Waf只能编译ns3主项目。对于首次安装,可采用ns3-allinone目录下的build.py脚本,该脚本可一次性编译ns3和其它辅助项目

从该网站下载NS3源码压缩包,解压文件夹后,包含build.py脚本

https://www.nsnam.org/releases/ns-3-35/

使用命令进行一次性编译,使用–enable-examples参数表示编译的同时,编译ns-3自带的网络模拟示例脚本

1
sudo ./build.py --enable-examples

编译完成,其中modules built列出了已经编译的模块;modules not built部分是未编译的模块,这些模块需要第三方库的支持,可以在后续按需添加再编译

运行测试

ns3自带单元检测功能,可对程序的编译安装进行检验

1
sudo ./test.py 

运行ns3脚本需要Waf工具,需要注意的是:由于Waf工具仅支持在ns-3.35目录下执行,因此需要进入到ns-3.35目录下进行运行

1
2
cd ns-3.35/
sudo ./waf --run hello-simulator

关于可视化功能的拓展

https://blog.csdn.net/qq_19408097/article/details/104625197



使用 Hugo 构建
主题 StackJimmy 设计