首先准备两三个小时以上的时间

安装Ubuntu

  • NS3教程(下载、安装、测试)_python
  • NS3教程(下载、安装、测试)_linux_02
  • NS3教程(下载、安装、测试)_xml_03​键盘大小写失灵​NS3教程(下载、安装、测试)_sphinx_04

安装所需依赖

  • 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)【网上大部分这里都是错误的,最新版的是没有libgsl0ldbl的,取而代之的有:libgsl23 libgslcblas0:i386 libgsl23:i386 libgslcblas0。我们选择libgslcblas0安装即可】
    sudo apt-get install gsl-bin libgsl-dev libgslcblas0
  • 仿真必需的词法分析器和语法分析生成器,必装
    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*

下载NS3


安装NS3

  • NS3教程(下载、安装、测试)_python_14​cd tarballs/​
  • NS3教程(下载、安装、测试)_python_15

  • NS3教程(下载、安装、测试)_NS3_16​tar xjf ns-allinone-3.30.1.tar.bz2​
  • NS3教程(下载、安装、测试)_xml_17

  • NS3教程(下载、安装、测试)_linux_18​ls​NS3教程(下载、安装、测试)_xml_19
  • NS3教程(下载、安装、测试)_python_20

  • ​cd ns-allinone-3.30.1/​NS3教程(下载、安装、测试)_sphinx_21
./build.py  (会很久)

NS3教程(下载、安装、测试)_python_22
NS3教程(下载、安装、测试)_python_23

  • NS3教程(下载、安装、测试)_xml_24
  • NS3教程(下载、安装、测试)_python_25

  • NS3教程(下载、安装、测试)_sphinx_26
  • NS3教程(下载、安装、测试)_NS3_27
cd ns-3.30.1/ 

./waf distclean (清除整个build目录)
./waf configure --enable-examples --enable-tests (开启例子及帮助)# 这一行命令是为了配置NS3。命令中的点号代表当前目录,当前命令下的waf文件,waf文件是一个python。是NS3自带的。通过上面的命令,使用当面目录下的waf文件配置NS3,并使得编译版本为debug模式,同时使得实例代码和测试代码可用。
./waf (会很久、更久、超级久) # 久哭了QAQ
  • NS3教程(下载、安装、测试)_sphinx_28
  • NS3教程(下载、安装、测试)_python_29​./test.py​NS3教程(下载、安装、测试)_NS3_30
    NS3教程(下载、安装、测试)_xml_31
  • NS3教程(下载、安装、测试)_python_32

  • NS3教程(下载、安装、测试)_NS3_33
  • NS3教程(下载、安装、测试)_sphinx_34
    NS3教程(下载、安装、测试)_xml_35
    NS3教程(下载、安装、测试)_sphinx_36

运行脚本

  • NS3教程(下载、安装、测试)_linux_37
    NS3教程(下载、安装、测试)_xml_38
  • NS3教程(下载、安装、测试)_python_39–runWafNS3教程(下载、安装、测试)_xml_40
./waf --run hello-simulator

NS3教程(下载、安装、测试)_python_41

NS3教程(下载、安装、测试)_linux_42

  • 如果看不到输出怎么办?
  • NS3教程(下载、安装、测试)_linux_43
    NS3教程(下载、安装、测试)_linux_44​​​optimized​​​NS3教程(下载、安装、测试)_sphinx_45
  • NS3教程(下载、安装、测试)_sphinx_46
  • NS3教程(下载、安装、测试)_NS3_47
=debug --enable-examples --enable-tests
  • NS3教程(下载、安装、测试)_xml_48
  • NS3教程(下载、安装、测试)_linux_49​​​sudo ./waf -d optimized --enable-example --enable-tests configure​​​NS3教程(下载、安装、测试)_linux_50​​​optimized​​​NS3教程(下载、安装、测试)_xml_51​​​debug​​​NS3教程(下载、安装、测试)_python_52​​​sudo ./waf -d debug --enable-example --enable-tests configure​​​NS3教程(下载、安装、测试)_NS3_53
  • NS3教程(下载、安装、测试)_xml_54
cd
  • NS3教程(下载、安装、测试)_xml_55