NS3之路----NS3的安裝及第一個example例子


NS3的安裝以及第一個example

首先,本文中的相關知識均來自於https://www.nsnam.org/ns-3.24/documentation/tutorial,本文以tutorial為基礎,從個人角度講述,下面我們開始進行ns3的安裝(一切操作均在終端中進行,均以ns-3.23為例)。

1. 下載ns3(有多種方式,推薦第一種)

l  使用tarball(關於tarball是什么,自行查閱),首先需要建立一個ns3的下載目錄,假設為workspace。再使用wget命令下載,以ns-3.23為例,如下:

下載:wget http://www.nsnam.org/release/ns-allinone-3.23.tar.bz2

解壓:tar xjf ns-allinone-3.23.tar.bz2 

至此,我們下載了ns-3.23,解壓得到ns-allinone-3.23文件夾. 

PS:推薦使用tarball,使用bake的下載過程過於復雜。 

l  使用Bake下載ns3,命令如下:

hg clone http://www.nsnam.org/bake 

可以對比看到使用tarball和bake的區別在於一個使用wget,另一個使用hg。因為hg命令屬於Mercurial(在預安裝中所安裝的),因此看到如下命令算正確。

 .......

45 files updated, 0 files merged, o files removed, 0 files unresoulved. 

這個時候下載的只是一個叫做bake的python腳本,在其下有bake文件夾。里面有bake.py腳本。 

而這只是用來下載ns3的腳本。首先切換到bake文件夾,為其設置環境變量: 

export BAKE_HOME = 'pwd'

export PATH = $PATH:$BAKE_HOME:$BAKE_HOME/build/bin

export PYTHONPATH = $PYTHONPATH:$BAKE_HOME:$BAKE_HOME/build/bin

接着就需要對bake進行配置(下載ns3配置)。

 ./bake.py configure -e ns-3.23

如果上步通過,則檢查相關組件是否足夠進行下載工作,使用check來檢查,如果缺少組件,則需要先進行安裝。

./bake.py check 

如果檢查通過,則會出現下列信息,否則,需要安裝缺少的組件,相關安裝過程使用apt-get install。

....

>.... OK 

>..... OK

到這一步之后就可以開始進行ns3的下載了。

./bake.py download 

所以,其實使用bake的過程遠比tarball要麻煩,如果想盡早進入開發,推薦tarball,如果願意繼續在此摸索,可以將兩者都試試。 

2. 編譯NS3 

Ns3的編譯有三種方式,分別為:build.py;./bake.py build; ./waf build。針對這三種方式分別進行介紹。

l  Build.py

切換到ns-allinone-3.23目錄下,輸入命令

./build.py --enable-examples --enable-tests 

該編譯會編譯所有的模塊,另外命令中涉及到了examples和tests,那是因為examples和tests位於ns中,並且默認情況下是沒有被編譯的,因此在這里進行主動編譯。編譯過程中能看到很多信息如下:

關注這個就可以了:‘build’ finished successfully(...ms) 

這樣就編譯成功了,注意modules not build中的openflow和visualizer將在后面相關部分進行介紹。

l  ./bake.py build

在對應目錄下使用該命令編譯成功之后得到下列信息:

>> .... OK 

如果編譯不成功的話,則會有相關信息提示依賴丟失。

l  ./waf build

同樣在對應目錄下使用如下命令,clean用於清除原本編譯的二進制文件等,configure則進行相關組件的檢查和配置。

./waf clean

./waf --build-profile = optimized --enable-examples --enable-tests configure 

成功后會提示“Configure” finished successfully.

接下來便可以使用“./waf”命令直接進行編譯了,編譯成功后也會有信息提示:

關注'build' finished successfully (...ms) 

這時我們可以運行一個簡單的example來測試ns3是否安裝成功。

./waf --run hello-simulator 

如果成功輸出Hello Simulator,那么恭喜你,NS3安裝成功了。

但是如果build successfully但是卻沒有看到Hello Simulator的信息,那么那么可能與你設置的編譯模式有關(optimal/debug),可以嘗試着使用如下命令:

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

 ./waf

然后再運行之前的hello simulator的例子。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM