1. 程式人生 > 其它 >Linux:Ubuntu 20.04/虛擬機器:Virtual Box/Python下的網路模擬器NS-3下載、安裝、環境配置筆記之二:安裝NS-3並配置好NS-3的Python依賴

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下載、安裝、環境配置,感謝您的閱讀~