(一)下载前的准备
下载安装ns3前,先检查自己服务器或虚拟机的环境是否适配于ns3。
通过下列命令即可查看相关工具的版本信息。
$ g++ --version
$ clang++ --version
$ python3 -V
$ cmake --version
(二)下载安装ns3
Ns-3仅以源代码的形式发布(存在一些二进制包,但它们不由开源项目维护)。获取源代码有两种主要方式:1)从主要的ns-3网站下载最新版本作为源代码存档,或2)从GitLab.com克隆Git存储库。下面将描述这两个选项。应该遵循其中一个下载选项(但不能同时遵循两个)。
注:理论上下面两种方法都能完成安装,但在实际操作过程中我无法通过git下载,但是通过下载压缩包再安装就很顺利完成了。所以读者在安装时,如果其中一种方法不能正确安装的话,先换另一种方法试试。
1.Downloading the Latest Release
a)下载最新版本 ns-3.38 | ns-3
b)将其解压到选择的工作目录中。
$ tar xjf ns-allinone-3.38.tar.bz2
c)切换到ns-3目录;如。
$ cd ns-allinone-3.38/ns-3.38
2.Cloning ns-3 from GitLab.com
也可以按照通常的方式执行Git克隆:
$ git clone https://gitlab.com/nsnam/ns-3-dev.git
如果您满足于使用开发树的顶端;你只需要切换到ns-3-dev;默认情况下,master分支被检出。
$ cd ns-3-dev
如果你想尝试最新的版本(撰写本文时是3.38版),可以检出对应git标签的分支:
$ git checkout -b ns-3.38-branch ns-3.38
3.Building and testing ns-3
下载发行版或克隆Git仓库获得源代码后,下一步是使用CMake构建系统配置构建。
下面的命令使用了CMake的Python包装器ns3,它简化了命令行语法,类似于Waf语法。有几个选项可以控制构建,但启用示例程序和测试,通常要先为默认的构建配置文件(启用断言(asserts enabled),并支持ns-3日志记录)。
$ ./ns3 configure --enable-examples --enable-tests
然后,使用ns3来构建ns-3:
$./ns3 build
完成后,可以运行单元测试检查构建情况:
$ ./test.py
所有测试要么通过要么跳过。
至此,你已经有了一个可以运行的ns-3模拟器,你可以开始运行程序(查看examples目录)。
运行第一个教程程序,其源代码位于examples/tutorial/first.cc,使用ns3来运行它(ns-3共享库会自动找到):
$ ./ns3 run first
要查看可能的命令行选项,可以指定-PrintHelp参数:
$ ./ns3 run 'first --PrintHelp'