Ubuntu20.04安装NS3的3.36版本(最新版本)

安装步骤目录

    • 1 配置虚拟机及Anaconda3
      • 1.1 VMware安装包&Ubuntu的光盘映像文件:
      • 1.2 VMware安装
      • 1.3 Ubuntu安装
      • 1.4 Anaconda3安装
    • 2 配置NS3环境
      • 2.1 安装ns3的依赖库
      • 2.2 安装ns3的基础模块(Ns3_3.36的安装)
      • 2.3 NetAnim安装与启动
    • 3 配置Eclipse
      • 3.1 安装JDK
      • 3.2 安装eclipse
    • 4 在Eclipse中编译ns3(3.36版本)
      • 4.1 创建ns3工程
        • 4.1.1 新建ns3空工程
        • 4.1.2 选择**C++ Managed Build**
        • 4.1.3 按照如下图创建empty工程“ns3_3.36”(名称按自己版本而定)
      • 4.2 设置eclipse中ns-3编译器
        • 4.2.1 Build Setting选项卡
        • 4.2.2 Behaviour选项卡
      • 4.3 设置eclipse执行程序使用外部工具
        • 4.3.1 选择**Run—>External Tools—>External tools Configurations**
        • 4.3.2 之后在Program中右键选择**New**,按下图配置信息,并单机 " **Run** "
      • 4.4 程序运行
        • 4.4.1 ns3_3.36运行程序 first.cc
    • 5 配置Clion编译ns3
    • 6 补充:NS3添加模块

1 配置虚拟机及Anaconda3

1.1 VMware安装包&Ubuntu的光盘映像文件:

下载链接: 下载Ubuntu光盘映像文件&VMware安装包的网盘链接.

1.2 VMware安装

安装链接: VMware安装的CSDN链接.

1.3 Ubuntu安装

安装链接: Ubuntu 安装的CSDN链接.

1.4 Anaconda3安装

安装链接: Anaconda3安装的CSDN链接

下载Anaconda的安装包(点击链接直接下载):Anaconda3.5.1

2 配置NS3环境

2.1 安装ns3的依赖库

(1)创建并激活虚拟环境ns3_1

conda create -n ns3_1 python=3.8.10  # 创建虚拟环境并指定python版本,其中ns3_1为虚拟环境名称。
conda activate ns3_1  # 激活并进入名为ns3_1的虚拟环境

(2)安装Python API 用户的最低要求(3.30 版及更高版本,以及 ns-3-dev):这是从已发布的压缩包中使用 Python 绑定所需的最小包集。C++用户的最低要求(3.36 版和开发):对于 ns-3-dev 和 ns-3.36(及更高版本)版本,还需要 CMake。

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

在这里插入图片描述

(3)安装NS3代码维护使用的源码版本控制管理系统

sudo apt-get install mercurial

在这里插入图片描述

(4)Netanim动画师需要qt5开发工具,对于 Ubuntu 20.10 及更早版本,单个 “qt5-default” 包就足够了。

sudo apt-get install qt5-default

在这里插入图片描述

(5)运行python绑定ns-3-dev需要bazaar这个组件。(支持bake构建工具)

sudo apt-get install autoconf cvs bzr unrar

在这里插入图片描述

(6)安装调试工具

sudo apt-get install gdb valgrind

在这里插入图片描述

(7)支持更多精确WIFI模块的GNU Scientific Library (GSL)

sudo apt-get install gsl-bin libgsl-dev libgslcblas0

在这里插入图片描述

(8)仿真必需的词法分析器和语法分析生成器,必装

sudo apt-get install flex bison libfl-dev

在这里插入图片描述

(9)一些Network Simulation Cradle (nsc) stacks需要gcc-3.4

sudo apt-get install g++-3.4 gcc-3.4

在这里插入图片描述

(10)读取pcap的packet traces,即包嗅探器

sudo apt-get install tcpdump

在这里插入图片描述

(11)支持统计特性的数据库软件

sudo apt-get install sqlite sqlite3 libsqlite3-dev

在这里插入图片描述

(12)xml的配置存储软件(requires libxml2 >= version 2.7)

sudo apt-get install libxml2 libxml2-dev

在这里插入图片描述

(13)基于GTK的配置系统

sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install libgtk-3-dev

在这里插入图片描述

在这里插入图片描述

(14)在虚拟机and ns-3上测试

sudo apt-get install vtun lxc uml-utilities

在这里插入图片描述

(15)支持utils/check-style.py 代码风格检查程序

sudo apt-get install uncrustify

在这里插入图片描述

(16)文档生成器,从源代码中生成说明文档

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

在这里插入图片描述

在这里插入图片描述

(17)The ns-3 manual and tutorial are written in reStructuredText for Sphinx (doc/tutorial, doc/manual, doc/models), and figures typically in dia:

sudo apt-get install python3-sphinx dia 

在这里插入图片描述

(18)Gustavo’s ns-3-pyviz的可视化软件

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

在这里插入图片描述

(19)支持openflow 模块(requires some boost libraries)

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

在这里插入图片描述

(20)支持基于 MPI的分布式仿真

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

在这里插入图片描述

2.2 安装ns3的基础模块(Ns3_3.36的安装)

首先,ns3 在3.36版本取消了 waf.py 编译器,使用了 ns3.py 来替代,因此我们讲述不同版本的安装步骤。而且比3.33更早的版本也可以类比3.33版本的安装命令。

从官网下载选择ns3版本进行下载(可以选择3.33或3.36):官方下载地址

mkdir tarballs  # 在目录下创建新的文件夹tarballs
cd tarballs  # 进入tarballs
# 我们将下载的ns3压缩文件放到tarballs文件夹中,并解压缩
cd ns-allinone-3.36/ns-3.36  # 3.36版本
./ns3 configure --enable-examples --enable-tests  # 配置文件

Ubuntu20.04安装NS3的3.36版本(最新版本)_第1张图片

./ns3 build  # 编译ns3

Ubuntu20.04安装NS3的3.36版本(最新版本)_第2张图片

./test.py  # 测试

Ubuntu20.04安装NS3的3.36版本(最新版本)_第3张图片

现在就说明安装都成功了,并且所有的单元都是完整的!

./ns3 run first  # 运行第一个脚本
./ns3 run 'first --PrintHelp'
# 进入超级用户之后无法运行脚本(Refuse to run as root)

Ubuntu20.04安装NS3的3.36版本(最新版本)_第4张图片

2.3 NetAnim安装与启动

返回目录ns-allinone-3.33(或ns-allinone-3.36),进入目录netanim-3.108,执行下列命令编译安装

sudo make clean
sudo qmake NetAnim.pro  # NetAnim的编译安装
sudo make

cd ..
cd ./netanim-3.108
sudo ./NetAnim  # 启动NetAnim

打开如下仿真界面:

Ubuntu20.04安装NS3的3.36版本(最新版本)_第5张图片

如果拥有jetbrains账号,可以使用 Clion(类似于Pycharm) 替代Eclipse。

如选择使用Clion作为编译器编译ns3,则直接跳看第5部分

3 配置Eclipse

3.1 安装JDK

JDK的tar包下载传送门

下载之后,在当前目录解压(以jdk1.8.0_333为例)。

sudo mkdir /usr/lib/jvm  # 在/usr/lib/jvm目录下新建目录
sudo mv jdk1.8.0_333 /usr/lib/jvm  # 将解压的文件移动到我们的新建目录下
sudo gedit /etc/profile  # 打开profile文件,并执行如下操作

在profile文件的结尾加上最后四行(第28行的 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_333 是依据自己的目录下的JDk版本):
Ubuntu20.04安装NS3的3.36版本(最新版本)_第6张图片

source ~/.bashrc  # 让环境生效
echo $JAVA_HOME  # 判断JDK是否生效
java -version  # 查看java是否安装成功

Ubuntu20.04安装NS3的3.36版本(最新版本)_第7张图片

3.2 安装eclipse

下载eclipse安装包: Eclipse下载链接

版本选择:Eclipse IDE for C/C++ Developers,Linux x86_64(基于自身需求,C/C++适合这个)。下载不要直接点download,先选择换一个镜像(>> Select Another Mirror),选择中国内陆的任意一个地址去下载会快一些。

mkdir /opt  # 新建目录,并把我们下载的tar包解压出的eclipse文件夹放到新建目录
sudo gedit /usr/share/applications/eclipse.desktop  # 打开eclipse.desktop文件添加以下内容

打开eclipse.desktop文件添加以下内容:

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse
Exec=/opt/eclipse/eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;

root权限下输入以下指令赋予图标可执行权限:

sudo chmod u+x /usr/share/applications/eclipse.desktop

(1)在显示应用程序那里可以找到eclipse的图标,并可以打开:

(2)双击图标可以打开Eclipse界面:

Ubuntu20.04安装NS3的3.36版本(最新版本)_第8张图片

4 在Eclipse中编译ns3(3.36版本)

4.1 创建ns3工程

4.1.1 新建ns3空工程

File —> new —> C/C++ project
Ubuntu20.04安装NS3的3.36版本(最新版本)_第9张图片

4.1.2 选择C++ Managed Build

Ubuntu20.04安装NS3的3.36版本(最新版本)_第10张图片

4.1.3 按照如下图创建empty工程“ns3_3.36”(名称按自己版本而定)

参考书上是使用在默认位置,勾选 “ Use default location ” ,创建的C++工程,然后移动我们安装好的NS3,会出现 CMake Error 问题(尽量不要移动或改变配置好的NS3的目录)。

所以:我们取消 “ Use default location ” 的勾选,选择如图 /home/wqf/tarballs/ns-allinone-3.36 目录下的ns-3.36作为 project 创建位置,此时 project name 根据喜好设置(如图是:ns3_3.36)。

Ubuntu20.04安装NS3的3.36版本(最新版本)_第11张图片

4.2 设置eclipse中ns-3编译器

在 Project Explorer 中选中ns3上单击右键,选择properties,得到的界面如下,按照界面上所示配置如下:

4.2.1 Build Setting选项卡

# 所用到的命令
# 如果是3.36版本,则输入如下
${workspace_loc:/ns3_3.36/ns3}
${workspace_loc:/ns3_3.36/build}

以3.36为例如图:

Ubuntu20.04安装NS3的3.36版本(最新版本)_第12张图片

4.2.2 Behaviour选项卡

Ubuntu20.04安装NS3的3.36版本(最新版本)_第13张图片

配置完毕点击点击Apply and Close,则开始编译。

4.3 设置eclipse执行程序使用外部工具

4.3.1 选择Run—>External Tools—>External tools Configurations

Ubuntu20.04安装NS3的3.36版本(最新版本)_第14张图片

4.3.2 之后在Program中右键选择New,按下图配置信息,并单机 " Run "

Ubuntu20.04安装NS3的3.36版本(最新版本)_第15张图片

# 3.36版本所用到的命令(方便复制)
${workspace_loc:/ns3_3.36/ns3}
${workspace_loc:/ns3_3.36}
run "${string_prompt}"

Ubuntu20.04安装NS3的3.36版本(最新版本)_第16张图片

4.4 程序运行

先选择Run—>External Tools—>ns3-waf,即我们刚刚设置的eclipse外部工具。

Ubuntu20.04安装NS3的3.36版本(最新版本)_第17张图片

然后就会出现一个 “ Variable Input ” 的输入框。

4.4.1 ns3_3.36运行程序 first.cc

本节(1)和(2)是并行的。

在3.36版本中,无需再将所要运行的程序放到scratch文件夹中,直接可以搜索到要运行的文件名称所在位置的文件。

因此我们在**“ Variable Input ”** 的输入框中输入first(省略后缀.cc)选择" OK ",则完成仿真。

Ubuntu20.04安装NS3的3.36版本(最新版本)_第18张图片
Ubuntu20.04安装NS3的3.36版本(最新版本)_第19张图片

至此,我们成功配置了在eclipse中编译ns-3,于是可以告别Linux里不太熟悉的开发环境,享有eclipse一切方便工具!

5 配置Clion编译ns3

在官网下载安装好Clion之后,在左上角打开project,找到目录 /home/wqf/tarballs/ns-allinone-3.36 下的ns-3.36并打开。

按照界面上所示配置如下:

Ubuntu20.04安装NS3的3.36版本(最新版本)_第20张图片
Ubuntu20.04安装NS3的3.36版本(最新版本)_第21张图片
Ubuntu20.04安装NS3的3.36版本(最新版本)_第22张图片

至此,Clion配置完毕。

Ubuntu20.04安装NS3的3.36版本(最新版本)_第23张图片
然后选择好程序之后就可以直接运行,较推荐使用终端命令行。

6 补充:NS3添加模块

在上述都安装完成之后,我们如果写了一个新的模块。

(1)首先复制粘贴在 ./ns3_3.36/src 目录下。

(2)通过命令 ./ns3 configure --enable-examples --enable-tests 再次配置一下,待完成后,即可再次运行 ./ns3_3.36/src/modulename/examples 下的程序。

(3)可以直接在上方工具栏选择我们的外部工具进行运行,位置如图。(Eclipse

在这里插入图片描述

你可能感兴趣的:(TSN,&,Ns3,ubuntu,linux,运维)