NS3环境搭建常见问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaojiewang1990/article/details/54585329

ns3安装常见问题

./waf configure -d debug --enable-sudo --enable-examples --enable-tests
版本17以后yum都迁移到在dnf下,更新软件源需要更新源,
1. 安装插件
我们安装一个插件,让系统自动选择最快的软件源。
 
#yum install yum-fastestmirror
这个插件在以前用yum命令的时候是非常靠谱的,但是fedora22开始yum命令全部重定向为dnf命令了,所以要想在22和之后的版本中使用,
需要在dnf配置文件 /etc/dnf/dnf.conf 后面加一行 fastestmirror=true 。
2.手动添加源,可以查看网上教程。


使能相关的功能配置
./waf configure -d debug --enable-sudo --enable-examples --enable-tests

编译3.2.6时出现错误
Command ['/usr/bin/python', 'waf', 'build'] exited with code 1
解决办法:Simply move the "fd-netdevice" folder out of "ns-3-dev/src" folder. This will do.T.( 方法不可行)
解决办法:似乎是g++编译器自身的问题,解决办法是利用swap:  
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
编译完成后删除:  
sudo swapoff /swapfile
sudo rm /swapfile
(此方法成功解决)

但是在编译3.1.3时就可以使用了
但是也会出现click 与openflow编译不通过,解决办法如下:
./build.py --enable-examples --enable-tests后出现如下提示:(click和openflow模块未安装)

Modules built:
aodv                               applications        bridge                   
config-store                   core                      csma                     
csma-layout                   dsdv                     emu                      
.........
wimax                    

Modules not built:
click                     openflow

解决方法:(通常这两个模块是用不着的)
(1)click模块
click是一个构建可配置路由器的软件架构,通过使用元素element(即包处理单元)的不同组合,click路由器能够执行特定功能,这种灵活性提供了测试和实验不同协议的优良平台。
*下载click(http://read.cs.ucla.edu/click/download)这里装2.0版本在make时遇到问题,直接下载1.8.0版本就可以了,通过
#wget   http://read.cs.ucla.edu/click/click-2.0.1.tar.gz
*配置编译click
./configure --enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi
./make   (make1.8.0版本时出错,换了最新版本2.0.1就可以编译通过了)
*重新配置和构建ns3
./waf configure --enable-examples --enable-tests --with-nsclick=/root/tarballs/click/click-2.0.1(换成自己的路径)
如果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-dev)
./waf configure --enable-examples --enable-tests --with-openflow=openflow源码路径(换成自己的路径)
./waf build (构建ns3并激活ns3的openflow模块)
*验证openflow模块
./test.py --suite=openflow

所有的都打开的命令
./waf configure --enable-examples --enable-sudo --enable-mpi --enable-tests --with-openflow=/root/tarballs/openflow/openflow --with-nsclick=/root/tarballs/click-2.0.1

最后还要安装python-pygccxml,执行sudo apt-get install ..就可以。
ubuntu下进入root的图形界面命令:
sudo nautilus

猜你喜欢

转载自blog.csdn.net/xiaojiewang1990/article/details/54585329
今日推荐