Ubuntu 安装 ns-3 教程

Ubuntu 安装 ns-3最全 教程
在这里插入图片描述

1. 环境更新


sudo apt update
sudo apt install git

在这里插入图片描述

2. Ns3 最低依赖要求

在这里插入图片描述

2.1 安装依赖

安装依赖网址:根据自己安装的版本安装对应依赖。

https://www.nsnam.org/wiki/Installation

Ubuntu/Debian/Mint

以下软件包列表在 Ubuntu 22.10 版本中应该是准确的;其他版本或其他基于 Debian 的系统可能略有不同。Ubuntu 16.04 LTS 版本可能是已知可与最新 ns-3 版本配合使用的最古老的版本。

软件包列表取决于您尝试构建的 ns-3 版本。

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

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

如果您只下载源存档,则不需要 Git。

Ubuntu 自带 “make” 构建工具,但如果缺少它(其他一些基于 Debian 的发行版上),可能需要安装 makeninja-build。Ninja 是 make 的替代品。

推荐用于 3.37 及更高版本:

Ccache 是一种编译器缓存优化,加快构建速度,但会额外使用多达 5 GB 的磁盘空间。


sudo apt install ccache

注意:对于 Ubuntu 20.04 及更早版本,apt 提供的 ccache 版本(3.7.7 或更早)可能无法提供性能优势,建议安装版本 4 或更高。对于 Ubuntu 22.04 及更高,可以直接使用 apt 安装。

版本 3.30-3.35 的最低建议要求:

sudo apt install g++ python3
3.29 及更早版本的最低建议要求:

sudo apt install g++ python2

注意:
从 ns-3.30 版本(2019 年 8 月)开始,ns-3 默认使用 Python 3,但早期版本依赖 Python 2 包,建议至少使用 Python 2 解释器。
2022 年 1 月(ns-3.36 及 ns-3-dev),最低 g++ 版本为 g+±8。
Ubuntu 18.04/16.04 默认 g++ 版本较老,可通过 StackOverflow 和 Launchpad 获取更高版本。


3. 可选/推荐组件依赖

3.1 Python 可视化工具和绑定(ns-3.37 及更高)

sudo apt install python3-pip
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

3.2 Python API 用户(3.30 ~ 3.36)


sudo apt install g++ python3 python3-dev pkg-config sqlite3 cmake

3.3 Python(开发)

需要 ns-3-allinone 仓库(Git 克隆),还需:

sudo apt install python3-setuptools git

3.4 Netanim 动画工具


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

Ubuntu 20.10 及更早版本:


sudo apt install qt5-default

3.5 支持 ns-3-pyviz 可视化工具(3.36 及更早版本)

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

3.28 及更早版本:

sudo apt install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython

3.6 基于 MPI 的分布式仿真

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

3.7 支持 bake 构建工具

sudo apt install mercurial unzip

3.8 调试 Debug

sudo apt install gdb valgrind

3.9 代码样式检查(自 ns-3.37 起)

sudo apt install clang-format

注意:需要 clang-format-14 到 clang-format-16 版本。

3.10 Doxygen 和内联文档

sudo apt install doxygen graphviz imagemagick
sudo apt install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk

3.11 ns-3 手册和教程 (Sphinx)

sudo apt install python3-sphinx dia

ns-3.15 需要 Sphinx >= 1.12,检查版本用 sphinx-build

3.12 GNU 科学图书馆 (GSL)

sudo apt install gsl-bin libgsl-dev libgslcblas0

3.13 读取 pcap 数据包

sudo apt install tcpdump

3.14 统计框架数据库支持

sudo apt install sqlite sqlite3 libsqlite3-dev

3.15 基于 XML 的配置存储

sudo apt install libxml2 libxml2-dev

3.16 支持生成修改后的 python 绑定(ns-3.36 及更早)

sudo apt install cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake python3-pip
python3 -m pip install --user cxxfilt

需要手动安装 CastXML 和 Pygccxml(建议源代码构建)。

3.17 基于 GTK 的配置系统

sudo apt install libgtk-3-dev

3.18 虚拟机和 ns-3

sudo apt install vtun lxc uml-utilities

3.19 openflow 模块和 Boost 开发库

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

4. 下载和编译 ns-3

cd ~
mkdir workspace
cd workspace
git clone https://gitlab.com/nsnam/ns-3-allinone.git

在这里插入图片描述

cd ns-3-allinone
ls

在这里插入图片描述

python3 download.py

在这里插入图片描述

下载指定版本**(例如 ns-3.44):


python3 download.py -n ns-3.44

5. 编译和测试

5.1 Debug 编译


./ns3 configure --build-profile=debug --enable-examples --enable-tests

在这里插入图片描述
%8B.assets%2Fimage-20250730164830248.png&pos_id=img-KPP7m60g-1753924561480)

5.2 编译


./ns3 build

在这里插入图片描述

5.3 测试用例执行


./test.py

在这里插入图片描述

5.4 显示编译版本


./ns3 show profile

在这里插入图片描述
%E5%AE%89%E8%A3%85%20ns-3%20%E6%95%99%E7%A8%8B.assets%2Fimage-20250730171923064.png&pos_id=img-fkmvXIGM-1753924561481)

5.5 执行程序


./ns3 run first

在这里插入图片描述

5.6 编写程序

scratch/ 文件夹下,只能有一个 .cc 文件。


6. NetAnim3.109 编译


cd ~/workspace/ns-3-allinone/netanim-3.109
qmake
make

编译完成后会出现一个 NetAnim 执行文件,然后:


./NetAnim

在这里插入图片描述

在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值