当前位置: 首页 > 工具软件 > NS3 > 使用案例 >

ns3安装教程

司徒宏远
2023-12-01

1、 用gedit生成一个setup文件,内容如下:

编写setup脚本
#!/bin/sh
sudo apt-get install gcc g++ python -y
sudo apt-get install gcc g++ python python-dev -y
sudo apt-get install mercurial -y
sudo apt-get install bzr -y
sudo apt-get install gdb valgrind -y
sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl -y
sudo apt-get install flex bison libfl-dev -y
sudo apt-get install g++-3.4 gcc-3.4 -y
sudo apt-get install tcpdump -y
sudo apt-get install aqlite aqlite3 libsqlite3-dev -y
sudo apt-get install libxml2 libxml2-dev -y
sudo apt-get install libgtk2.0-0 libgtk2.0-dev -y
sudo apt-get install vtun lxc -y
sudo apt-get install uncrustify -y
sudo apt-get install doxygen grphviz imagemagick -y
sudo apt-get install texlive texlive-extra-untils texlive-latex-extra -y
sudo apt-get install python-sphinx dia -y
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev -y
sudo apt-get install libboost-signals-dev libboost-filesystem-dev -y
sudo apt-get install openmpi* -y

  • 终端中编译    chmod +x setup    ->运行安装       ./setup

  • 下载NS3安装包并解压,官网上(www.nsnam.org)下载的3.13版本格式为ns-allinone-3.13.tar.bz2

    在终端运行以下命令进行解压缩:

    tar xjf ns-allinone-3.17.tar.bz2

    2.2命令终端进入解压缩文件夹 执行命令

    ./build.py

  • -----------------------------出现下面的问题:---------------------------------------

  • brite click openflow visualizer没有完成安装

(好像是必须为python2?)

  • (1)brite安装

    #: hg clone http://code.nsnam.org/jpelkey3/BRITE

    #: cd BRITE

    #: make

    # cd..

    #: hg clone http://code.nsnam.org/jpelkey3/ns-3-brite-modular

    #: cd ns-3-brite-modular

    #: ./waf configure --with-brite=BRITE的路径

    #: ./waf

    测试:

    #: ./waf --run 'brite-generic-example –verbose=1'

    (2)click模块

    click是一个构建可配置路由器的软件架构,通过使用称之为元素element(即包处理单元)的不同组合,click路由器能够执行特定功能,这种灵活性提供了测试和实验不同协议的优良平台。

    *下载click(http://read.cs.ucla.edu/click/download)

    *进入click目录配置编译click

    cd click

    ./configure --enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi

    ./make (没有必要使用make install,或者用make)

    *重新配置和构建ns3(进入ns3.17目录)

    ./waf configure --enable-examples --enable-tests --with-nsclick=click源码路径

    如果click安装在ns-3-allinone文件夹中,即ns-3文件夹的上层文件夹中,"--with-nsclick=click源码路径"不需要,ns3构建器能够自动找到click源码

    ./waf

    *测试click

    ./waf --run nsclick-simple-lan

    将得到两个.pcap跟踪结果文件:nsclick-simple-lan-0-0.pcap和nsclick-simple-lan-0-1.pcap

    (3)openflow

    openflow交换广泛用于科研中,通过openflow API可以对OpenFlow交换进行配置。openflow交换拥有针对服务质量的多协议标签交换(MPLS)扩展和支持service-level-agreement。通过使用openflow交换,ns3能够精确仿真多种不同的交换。

    *下载openflow

    hg clone http://code.nsnam.org/jpelkey3/openflow

    *配置和构建openflow(在openflow文件夹下运行)

    ./waf configure

    ./waf build

    此时生成libopenflow.a库文件

    *链接OpenFlow模块到ns3(在ns3的源码文件夹下运行,如ns-3.12.1)

    ./waf configure --enable-examples --enable-tests --with-openflow=下载的openflow源码路径(openflow)

    此时并没有用OpenFlow的自带模块

    ./waf build (构建ns3并激活ns3的openflow模块)

    *测试openflow

    ./waf --run openflow-switch

    ./waf --run "openflow-switch -v"(查看日志细节)

    *验证openflow模块

    ./test.py --suite=openflow

    注释说明:

    NS3本身自带的只是openflow的封装接口,这些接口要去调用openflow的库,就是后面下载的那一部分。在安装的过程中它会编译成相应的库连接到NS3中。在你没有安装openflow的时候在build/debug/src下是看不到的openflow模块的,只有完成以上操作是的时候,才能找到openflow的模块,进而可以执行openflow下相应的程序。

    ./waf --run openflow-switch openflow-switch是src下openflow模块下的代码编译的可执行文件。并不是下载的openlfow里面的。

    ------------------------------------------------------------------------------------------------------------------

 

 

 

 

 类似资料: