ns3 安装

最近在做ns3方面的仿真:

一般的安装方法如下所示,安装过程一定要很耐心,尤其是安装ns3之前的大量软件的安装非常重要。恭祝好运,欢迎留言!

 

1、在安装ns-3之前需要配置ubuntu环境,我在未安装诸多软件(如python、 高版本gcc前,安装ns-3报错)。具体需要安装的软件,在http://www.nsnam.org/wiki/index.php/installation中已经写明,其中最重要的还是第一项python的安装,耗时最长的是doxygen的安装,关于这个软件,在平台搭建完整后生成工程文档时学习。具体如下:

sudo apt-get install gcc g++ python python-dev
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install gdb valgrind 
sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl
sudo apt-get install flex bison
sudo apt-get install g++-4.4 gcc-4.4     //可以不执行,因首条命令已安装
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-pdf texlive-latex-extra texlive-generic-extra texlive-generic-recommended
sudo apt-get install texinfo dia texlive texlive-pdf texlive-latex-extra texlive-extra-utils texlive-generic-recommended texi2html                    //可以不执行
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev


2. 安装NS3
NS3的安装可完全参考NS3的Tutorial.(下载NS3安装包官网上(www.nsnam.org)下载的3.15版本格式为ns-allinone-3.15.tar.bz2)
1)下载NS3安装包后进行解压:

方法1:在终端中

tar xjf ns-allinone-3.15.tar.gz

方法2:直接右单击“提取到此处”

2)构建(Build)

进入ns-allinone-3.15目录,即你解压出的文件

我的是   cd 软件/ns-allinone-3.15

然后       ./build.py

最后显示  'build' finished successfully  便是成功了

PS:我的Ubuntu12.10版的这一步就失败,是出现Python方面的错误,以后再细讲。

3)构建NS3
关于这一步,我的过程真的是有些混乱。先看玩,你再试:进入ns-3.15没什么问题,cd ns-3.15 
./waf -d debug --enable-examples --enable-tests configure #这一步是配置
./waf #这一步是使用waf构建ns3 

4)测试NS3,在ns-3.15目录下;
./test.py -c core
如果出现"92 of 92 tests passed (92 passed, 0 failed, 0 crashed, 0 valgrind errors)"说明安装成功,这个信息非常重要,数字可能不同。
./waf --run hello-simulator
出现"Hello Simulator"信息,恭喜你现在正式成为ns3的用户。
(若没有出现"Hello Simulator",请确定waf构建是否使用-d debug)

有时候也可以使用  。.waf  check来检查。时间大约需要20min。

一些问题总结:

1.modules not built

  一般情况下会有没有built的模块,这是很正常的,一般默认情况下会有brite,click,openflow三个模块没有built。这是很正常的。

Modules not built:
click                               openflow


解决方法:(通常这两个模块是用不着的)

(1)click模块
click是一个构建可配置路由器的软件架构,通过使用称之为元素element(即包处理单元)的不同组合,click路由器能够执行特定功能,这种灵活性提供了测试和实验不同协议的优良平台。
*下载click(http://read.cs.ucla.edu/click/download)
*配置编译click
./configure --enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi
./make (没有必要使用make install)
*重新配置和构建ns3
./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


(2)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

 

2.程序运行的时候没有输出 hello simulator

  有时候会有这样的问题。我遇到这样的问题后,按照需要的又编译了一遍,仔细检查需要提前安装的软件以及版本。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值