NS3最全配套环境设置

        下载安装ns3的小伙伴都发现了,其开发环境需要很多配套工具,有些必选有些可选,当然工具越多使用起来越方便,以下是小编整理的所有ns3所需工具的指令,亲测可用!


一、NS3系统必需工具

以下是版本 3.36 及更高版本的最低要求:

C++ 编译器(g++ 或 clang++)、Python 3、CMake 构建系统以及单独的 C++ 构建工具(例如 make、ninja-build 或 Xcode)是ns3编译软件的最低要求。

ns3系统安装有两种方式,一种需要 tar 和 Bunzip2 实用程序来解压源文件存档。第二种,如果您想使用 Git 来获取代码,而不是下载源存档,则需要 git,从 Git 上克隆下ns3数据库。详细安装教程请参照文章:NS3-3.40 最新安装教程-CSDN博客

安装g++ 、python3 、Cmake等工具指令如下:

$ apt install g++
$ apt install python3
$ apt install cmake
$ apt install ninja-build
$ apt install git

二、推荐安装工具

以下工具推荐大部分用户都要安装:

1. Ccache 编译器缓存优化工具(适用于 ns-3.37 及更高版本)

        Ccache 是一种编译器缓存优化工具,可以加快跨多个 ns-3 目录的构建速度,但代价是在缓存中使用最多 5 GB 的额外磁盘空间。强烈建议安装,构建库是很考验CPU的工作,有了缓存记录,能节约很多时间。

$ apt install ccache

2.  代码格式检查工具 (code linting)

自 ns-3.37 发布以来,强制 ns-3 采用 Clang-Format 和 Clang-Tidy 的编码风格。

用户可以直接从命令行或通过(utils/check-style-clang-format.py)检查程序调用这些工具。此外,clang-tidy 与 CMake 集成,支持在构建阶段进行代码扫描。

安装命令如下:

$ sudo apt install clang-format

编写模块时建议使用 clang-tidy, 以遵循代码约定并可以提供代码中可能出现的错误提示。

$ sudo apt install clang-format

3. 调试工具 (Debugging)

GDB 和 Valgrind 对于调试很有用,如果您正在进行新模型或场景的 C++ 开发,建议使用 GDB 和 Valgrind。以上两个工具都适用于Linux和BSD系统;对于 macOS,LLDB 与 GDB 类似,但 Valgrind 似乎不适用于 M1 机器。

$ sudo apt install gdb valgrind 

三、可选工具

提示:从 ns-3.30 版本(2019 年 8 月)开始,ns-3 默认使用 Python 3,但早期版本依赖于 Python 2 软件包,建议至少使用 Python 2 解释器。如果为早期版本安装以下先决条件,通常可以替换“python”,其中在下面找到“python3”(例如,安装“python-dev”而不是“python3-dev”)。

1. 读取 pcap 数据包跟踪

许多 ns-3 示例生成 pcap 文件,可以通过 Tcpdump 和 Wireshark 等 pcap 分析器查看。

$ sudo apt install tcpdump

2. 数据库支持

如果您正在使用统计框架或者正在运行 LTE 或 NR 模拟(使用 SQLite 数据库),建议使用 SQLite:

$ sudo apt install sqlite sqlite3 libsqlite3-dev

3. Python 绑定(ns-3.37 及更高版本)

ns-3 Python 支持现在使用 cppyy。版本 2.4.2 是最新支持的 cppyy 版本;目前不支持 3.0.0 版本。由于 cppyy 的上游限制,Python 绑定无法在采用 Apple 芯片(M1 和 M2 处理器)的 macOS 计算机上运行。

$ python3 -m pip install --user cppyy==2.4.2

4. PyViz 可视化工具

PyViz 可视化工具使用各种支持 GraphViz 的 Python 包。一般来说,要在 ns-3 中启用 Python 支持,需要 cppyy。

$ python3 -m pip install --user cppyy

$ sudo apt install gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3

5. 基于MPI的分布式仿真

如果您打算运行大型并行 ns-3 模拟,则需要开放 MPI 支持。

$ sudo apt install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev

6. NetAnim动画师

NetAnim animator需要Qt qt5开发工具; qt4 也可以工作,但我们已经迁移到 qt5。 qt6兼容性未测试。

$ sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools

7. Doxygen

仅当您打算为头文件编写新的 Doxygen 文档时才需要 Doxygen

$ sudo apt install doxygen graphviz imagemagick

$ sudo apt install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk

8. Sphinx 文档

ns-3 手册 (doc/manual)、教程 (doc/tutorial) 和其他内容都是用 Sphinx 的 reStructuredText 编写的,并且图形通常以 dia 为单位。要构建 PDF 版本,需要 texlive 包。

$ sudo apt install python3-sphinx dia

9. Eigen3 支持

在 LTE 和 NR 模拟中使用 3GPP 传播损耗模型时,Eigen3 用于支持更高效的计算。

$ sudo apt-get install libeigen3-dev

10. GNU 科学图书馆 (GSL)

GNU 科学库 (GSL) 仅用于更准确的 802.11b(传统)WiFi 错误模型(更现代的基于 OFDM 的 Wi-Fi 不需要)。

$ sudo apt install gsl-bin libgsl-dev libgslcblas0

11. 基于 XML 的配置存储版本

基于 XML 的配置存储功能需要 Libxml2

$ sudo apt install libxml2 libxml2-dev

12. 基于GTK的配置系统

GTK 开发库还与(可选)配置存储相关,用于图形桌面支持。

$ sudo apt install libgtk-3-dev

13. 试验虚拟机和 ns-3

Linux 系统可以使用 LXC 和 TUN/TAP 设备驱动程序来支持仿真。

$ sudo apt install vtun lxc uml-utilities

14. 支持openflow模块

OpenFlow 交换机支持需要 XML 和 Boost 开发库。

$ sudo apt install libxml2 libxml2-dev libboost-all-dev

15. 支持bake构建工具

$ apt install mercurial unzip

提示:当你安装完需要的包和库之后,需要重新构建编译才能完成设置。

$ ./ns3 configure
$ ./ns3 build

PS:有什么问题可以评论区告诉我,小编会不定时更新。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值