Linux:Ubuntu 20.04/虚拟机:Virtual Box/Python下的网络模拟器NS-3下载、安装、环境配置笔记之二:安装NS-3并配置好NS-3的Python依赖

------------恢复内容开始------------

本文是网络模拟器NS-3下载、安装、环境配置笔记的第二篇,上一篇的链接在此:网络模拟器NS-3下载、安装、环境配置笔记的第一篇

本章内容:

1.在ubuntu操作系统中安装并配置好NS-3运行环境。

2.调用NS-3的C++库并运行Python程序来模拟通信系统。

一、在ubuntu操作系统中安装并配置好NS-3运行环境。

1.在Virtual Box(下文简称VB)启动Ubuntu系统

在这个过程中,还是要注意右键点击“使用管理员身份”打开VB。打开Ubuntu之后进入终端(Terminal),开始我们的NS-3安装之旅。值得注意的是,我们可以在Ubuntu桌面上右键点击“显示设置”来改变屏幕分辨率来让自己看得舒服一些。

 

 

 2.下载g++,python,git,pip

在命令行分别输入下面三行命令并分别按下回车键。注意,是输入一条命令后按回车键一次,重复三次,不是输完三条按一次回车键。

sudo apt install g++ 
sudo apt install python3.8
sudo apt install git
sudo apt install pip

 

 

 类似这样在命令输入命令后按回车键,重复三次。g++是c++的编译器,python是python解释器以及相关组件,而git是久负盛名的代码版本控制系统,我们将要使用git工具从gitlab上下载NS-3的代码库。pip是用来下载python工具的,这些工具将被用于构建C++库→Python库等功能。

3.从gitlab下载NS-3的代码库

输入下列命令并按下回车键。该命令将使用git从gitlab克隆NS-3的代码库到本文件夹中。本小节的内容参考了NS-3的官方教程:官方教程链接,请注意,$符号不用输入。

$ git clone https://gitlab.com/nsnam/ns-3-dev.git

输入下列命令并按下回车键。该命令将打开新创建的“ns-3-dev”文件夹

$ cd ns-3-dev

将git的point指向3.35分支:

$ git checkout -b ns-3.35-branch ns-3.35

4.Build(构建)ns-3库并进行测试

进入ns-3-dev文件夹,注意,以下几个小节的操作都在ns-3-dev文件夹中进行。执行(暂且把输入命令并按回车叫做执行吧)以下命令。waf是一个Build工具,同时也是一个依赖包管理工具。

$ ./waf configure --enable-examples --enable-tests

 

 

 出现上面这句表示成功。

然后,在文件夹中,使用waf工具Build我们的NS-3代码库。

./waf build

Build过程包含编译(compile)和链接(link)过程,我们可以将其想象为有一个翻译官(编译器),将我们下载到的NS-3代码翻译成机器能读懂的0和1的语言(机器语言),并将不同的章节(代码段)按照它们之间的调用关系装订(link)成一本书(完整的机器语言程序)。第一次build会耗费相当长的时间,如果你有一台linux实体机而不是虚拟机的话,这个过程或许会快些。

执行一个test.py程序去检查你是否成功build了NS-3代码库。

$ ./test.py

 

 

 当检查的内容要不就是绿色的PASS

 

$ ./waf --run first

  

 

 

 这个程序模拟的是两个Node(节点)之间的通信过程。

6.我们还可以看看帮助文档

$ ./waf --run 'first --PrintHelp'

  

二、配置Python依赖

在本节中,笔者参考了官方的python依赖安装文档,官网文档链接

1.用pip下载若干个工具包

执行以下命令。

pip install PyBindGen
pip install pygccxml

以上两个工具包将帮助我们将NS-3的C++程序转换为Python的module。

2.开启Python依赖许可

执行以下命令。

$ ./ns3 configure --enable-python-bindings

3.测试python程序。

执行以下命令,该命令将运行一个以NS-3的C++程序为Python库的Python程序。

./waf --pyrun examples/tutorial/first.py

 

 

 第一次进行NS-3 Python库的准备要经过编译环节,之后再运行同一个Python程序的话不会再经过这一旷日持久的过程了。

 

 看到这个结果表示我们已经成功地用Python程序运行NS-3了!这个python程序,实际上就是之前运行过的first.cc的Python版本。

至此,我们完成了Linux:Ubuntu 20.04/虚拟机:Virtual Box/Python下的网络模拟器NS-3下载、安装、环境配置,感谢您的阅读~

 

posted @ 2022-03-29 23:40  Casseluse  阅读(1001)  评论(0编辑  收藏  举报