NS3入門與安裝
阿新 • • 發佈:2020-08-05
NS3入門與安裝
rical7302017-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)安裝/升級選擇好的套件。
安裝完成