1. 程式人生 > 實用技巧 >NS3入門與安裝

NS3入門與安裝

NS3入門與安裝

2017-05-10 09:32:2811666收藏18 分類專欄:網路 版權

可以參考的資料

網路模擬軟體的比較
http://yangfei1.blog.51cto.com/1471532/295103

ns2,ns3 快速入門,有什麼網站資料?
https://www.zhihu.com/question/21124989
http://blog.csdn.net/barcodegun/article/details/6899106

NS3_Tutorial 中文版
第一、二章http://yangfei1.blog.51cto.com/1471532/368585
第三章http://yangfei1.blog.51cto.com/1471532/368586


第三章(續)http://yangfei1.blog.51cto.com/1471532/368587
第四章http://yangfei1.blog.51cto.com/1471532/368589
第五章http://yangfei1.blog.51cto.com/1471532/368594

NS3模擬Bitcoin
https://github.com/arthurgervais/Bitcoin-Simulator

NS3學習視訊 (英文)
https://www.youtube.com/watch?v=T8NwCPROYYA&list=PLRAV69dS1uWQEbcHnKbLldvzrjdOcOIdY

學習NS3的基礎

  • Linux基礎:可以在虛擬機器裡搭建Ubuntu
  • 程式設計基礎
  • 網路基礎

安裝NS3

1 安裝庫

  • 首先更新源,很重要,不進行這一步可能會導致後面沒辦法安裝所有的庫
sudo apt-get update
  • 1

然後開始安裝,大概1個G要下載不少時間

sudo apt-get install gcc g++ python python-dev mercurial bzr gdb valgrind gsl-bin libgsl0-dev libgsl0ldbl flex bison libfl-dev tcpdump sqlite sqlite3 libsqlite3-dev libxml2 libxml2-dev libgtk2.0-0 libgtk2.0-dev vtun lxc uncrustify doxygen graphviz imagemagick texlive texlive-extra-utils texlive-latex-extra texlive-generic-extra texlive-generic-recommended texi2html python-sphinx dia python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev python-pygccxml libboost-signals-dev libboost-filesystem-dev openmpi-bin openmpi-doc libopenmpi-dev
  • 1

對上面外掛的解釋

  • C++和python安裝,必裝
    sudo apt-get install gcc g++ python
    sudo apt-get install gcc g++ python python-dev
  • NS3程式碼維護使用的原始碼版本控制管理系統
    sudo apt-get install mercurial
  • 執行python繫結ns-3-dev需要bazaar這個元件
    sudo apt-get install bzr
  • 除錯工具
    sudo apt-get install gdb valgrind
  • 支援更多精確WIFI模組的GNU Scientific Library (GSL)
    sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl
  • 模擬必需的詞法分析器和語法分析生成器,必裝
    sudo apt-get install flex bison libfl-dev
  • 一些Network Simulation Cradle (nsc) stacks需要gcc-3.4
    sudo apt-get install g++-3.4 gcc-3.4
  • 讀取pcap的packet traces,即包嗅探器
    sudo apt-get install tcpdump
  • 支援統計特性的資料庫軟體
    sudo apt-get install sqlite sqlite3 libsqlite3-dev
  • xml的配置儲存軟體(requires libxml2 >= version 2.7)
    sudo apt-get install libxml2 libxml2-dev
  • 基於GTK的配置系統
    sudo apt-get install libgtk2.0-0 libgtk2.0-dev
  • 在虛擬機器and ns-3上測試
    sudo apt-get install vtun lxc
  • 支援utils/check-style.py 程式碼風格檢查程式
    sudo apt-get install uncrustify
  • 文件生成器,從原始碼中生成說明文件(很大,我沒有裝)
    sudo apt-get install doxygen graphviz imagemagick
    sudo apt-get install texlive texlive-extra-utils texlive-latex-extra
  • 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 python-sphinx dia
  • Note: Sphinx version >= 1.12 required for ns-3.15. To check your version, type “sphinx-build”. To fetch this package alone, outside of the Ubuntu package system, try “sudo easy_install -U Sphinx”.
  • Gustavo’s ns-3-pyviz的視覺化軟體(沒裝)
    sudo apt-get install python-pygraphviz python-kiwi python- - pygoocanvas libgoocanvas-dev
  • 支援openflow 模組(requires some boost libraries)
    sudo apt-get install libboost-signals-dev libboost-filesystem-dev
  • 支援基於 MPI的分散式模擬
    sudo apt-get install openmpi*

2 安裝NS3

使用tarball下載ns-3比使用Mercurail下載ns-3要簡單一些,因為需要下載的各個部分都已經預先被打包在一個壓縮包中了,一開始用xzvf解壓出錯,就用了xjf

mkdir tarballs
cd tarballs
wget http://www.nsnam.org/release/ns-allinone-3.17.tar.bz2
tar xjf ns-allinone-3.17.tar.bz2
  • 1
  • 2
  • 3
  • 4

3 編譯NS3

  • 用build.py編譯
cd ns-allinone-3.17
./build.py  (會很久)
cd ns-3.17
./waf distclean (清除整個build目錄)
./waf configure --enable-examples --enable-tests  (開啟例子及幫助)
./waf build   (會很久)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4 測試

./test.py
  • 1

或者通過執行“./test.py -c core”指令碼進行ns-3軟體包單元測試,

./test.py -c core
  • 1

如果看到最後面有類似這樣的資訊,說明ns-3軟體包正確編譯了。

47 of 47 tests passed (47 passed, 0 failed, 0 crashed, 0 valgrind errors)

5 執行程式

  • 如果要執行程式的話,必須在 /scratch 目錄中 (example ../scratch/test.cc)
./waf --run scratch/test
  • 1

6 安裝完成

安裝synaptic

  • Ubuntn下用來管理安裝軟體的軟體,Ubuntu已經預設安裝了
sudo apt-get install synaptic
  • 1
  • 安裝完成後,就可以通過下列命令來執行synaptic
sudo synaptic
  • 1
  • 操作
按“重新載入”(Reload)更新最新的軟體資料。
按“搜尋”(Search) 搜尋軟體。
選擇想安裝的套件,按滑鼠右鍵選擇“標記為安裝”(Mark for Installation)。
按“套用”(Apply)安裝/升級選擇好的套件。
安裝完成