ns-3是一款离散事件驱动的网络仿真器,主要应用于研究和教育领域,旨在满足学术和教学的需求。ns-3项目是一个完全开源的开发工程,于2006年启动。第一个版本发布于2008年6月,目前最新的版本为ns-3.43。ns-3的适用平台包括:Linux、Mac OS、Cygwin(Windows下的仿Linux环境)。
演示系统版本
演示系统的版本为:Ubuntu 20.04.6
1
2
3
|
uname -a
cat /proc/version
cat /etc/issue
|
依赖检查
从ns-3获取ns-allinone-3.42
1
2
|
wget https://www.nsnam.org/releases/ns-allinone-3.42.tar.bz2
tar xfj ns-allinone-3.42.tar.bz2
|
借助bake工具进行依赖性检查
1
2
|
cd ns-allinone-3.42/bake/
./bake.py check
|

根据bake工具提示安装缺少的组件:GNU C++、Make与CMake,依赖软件安装完成后再次使用bake进行检查
1
2
|
sudo apt install g++ cmake
./bake.py check
|

配置bake工具添加ns-3.42模块,并进一步检查该模块的依赖需求
1
2
|
./bake.py configure -e ns-3.42
./bake.py show
|

根据bake工具的提示依次补充依赖组件的安装,并在完成后再次检查
1
2
3
4
|
sudo apt-get install python3-dev
sudo apt-get install python3-pygraphviz
sudo apt-get install python3-pip
python3 -m pip install --user cppyy -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
|

编译ns-3
进入ns-allinone-3.42/ns-3.42
目录开始编译ns-3
1
2
3
|
cd ../ns-3.42/
./ns3 configure --enable-examples
./ns3 build
|
测试安装
ns3自带单元检测功能,可对全部示例程序进行检验
1
|
./ns3 run hello-simulator
|
创建新模块
1
2
3
|
./utils/create-module.py src/custom-network
./ns3 configure --enable-examples
./ns3 build
|