NS3入门与安装
Posted zywnnblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NS3入门与安装相关的知识,希望对你有一定的参考价值。
NS3入门与安装
可以参考的资料
网络仿真软件的比较
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)安装/升级选择好的套件。
安装完成
以上是关于NS3入门与安装的主要内容,如果未能解决你的问题,请参考以下文章