694 字( 2 分钟阅读 )

NS3是一个网络模拟器,最新版本3.36.1,发布于2022.05.24,官方链接:

系统需求

  • Linux
  • macOS
  • WSL

开发语言

  • C++(推荐)
  • Python

准备依赖

Linux

  • g++ >= 8
  • Python >= 3.6
  • CMake >= 3.10
  • 建议安装任意版本Git

以Ubuntu为例:

sudo apt install g++ python3 cmake git

macOS

使用系统自带的Xcode Command Line Tools即可

安装

为了方便配置,建议下载源代码后,编译安装

下载源代码

可以直接使用Git:

git clone https://gitlab.com/nsnam/ns-3-dev.git
cd ns-3-dev
git checkout tags/ns-3.36.1 -b ns-3.36.1

也可以选择从官网下载压缩包:

wget http://www.nsnam.org/release/ns-allinone-3.36.1.tar.bz2
tar xjf ns-allinone-3.36.1.tar.bz2
cd ns-allinone-3.36.1/ns-3.36.1

编译

chmod +x ./ns3
./ns3 configure --enable-examples --enable-tests --enable-asserts --enable-sudo 
./ns3 build
  • 如果需要启用MPI,请在configure的参数中加入--enable-mpi

单元测试

python test.py

结果:

728 of 728 tests passed (728 passed, 0 skipped, 0 failed, 0 crashed, 0 valgrind errors)

Vscode配置

如果不需要代码提示的话,可以跳过此步直接使用文本编辑器编写代码。也可以使用Xcode、CLion等IDE。

安装VSCode

请在VSCode官网下载后一键安装。

配置VSCode

打开VSCode后,建议按照以下步骤操作:

  • 选项卡中文件-打开文件夹…,选择NS3目录中的scratch文件夹
  • 左侧菜单中扩展,搜索C,安装C/C++ Extension Pack或者C/C++
  • 点击C/C++扩展右下角的设置-扩展设置,搜索C_Cpp.default.includePath,点击添加项
  • 输入NS3目录中build/include目录的完整路径,例如~/ns-3.36.1/build/include

这样就可以在VSCode中获得代码高亮与代码提示了。

运行

样例

示例代码位于examples文件夹中,例如运行C++编写的examples/tutorial/first.cc

./ns3 run first

结果:

At time +2s client sent 1024 bytes to 10.1.1.2 port 9
At time +2.00369s server received 1024 bytes from 10.1.1.1 port 49153
At time +2.00369s server sent 1024 bytes to 10.1.1.1 port 49153
At time +2.00737s client received 1024 bytes from 10.1.1.2 port 9

开发

自己的代码位于scratch文件夹,例如运行scratch/scratch-simulator.cc

./ns3 run scratch-simulator

留下评论