Ubuntu16.04下ns3安装

2023-05-16

说明
类似ns3之类的开源软件,安装教程最好是看官网上的安装教程最快。这里只是做个记录。ns3的安装方式有几种不同的方式。这里只是其中一种,具体说明可以参考NS3教程(https://www.nsnam.org/docs/release/3.29/tutorial/html/index.html)。但是教程里只是最基础的安装,如果要将所有库都安装,还需要其他步骤。

重要说明:博主在VM虚拟机上的Ubuntu装了ns3,没成功!!!尽量不要用虚拟机!!!

环境说明

本次安装的系统为Ubuntu 16.04
ns3的版本为NS3.28

安装步骤

1. 安装依赖库

本部分具体说明在(https://www.nsnam.org/wiki/Installation)
打开终端,在终端输入以下命令安装依赖库

sudo  apt-get install -y gcc g++ python
sudo  apt-get install -y gcc g++ python python-dev
sudo  apt-get install -y mercurial python-setuptools git
sudo  apt-get install -y qt5-default
sudo  apt-get install -y python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython
sudo  apt-get install -y gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3  
sudo apt-get install -y openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
sudo  apt-get install -y autoconf cvs bzr unrar
sudo apt-get install -y gdb valgrind 
sudo apt-get install -y uncrustify
sudo  apt-get install -y doxygen graphviz imagemagick
sudo  apt-get install -y texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng latexmk
sudo  apt-get install -y python-sphinx dia 
sudo  apt-get install -y gsl-bin libgsl2 libgsl-dev
sudo  apt-get install -y flex bison libfl-dev
sudo apt-get install -y tcpdump
sudo apt-get install -y sqlite sqlite3 libsqlite3-dev
sudo apt-get install -y libxml2 libxml2-dev
sudo apt-get install -y cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake
sudo apt-get install -y python-pip
pip install cxxfilt
sudo  apt-get install -y libgtk2.0-0 libgtk2.0-dev
sudo  apt-get install -y vtun lxc
sudo apt-get install -y libboost-signals-dev libboost-filesystem-dev

可以将这些命令写成shell文件,执行后一路yes到底。

2.下载NS3源码

源码下载方式有很多,这里直接从官网(https://www.nsnam.org/releases/ns-3-29/index.html)上下载源码。具体说明在(https://www.nsnam.org/docs/release/3.29/tutorial/html/getting-started.html)。

3.编译NS3源码

将下载的源码解压,解压完的文件应为ns-allinone-3.29
打开终端,进入ns-allinone-3.29/ns3.29目录下。
执行以下命令

./waf configure --build-profile=debug  --enable-examples --enable-tests

执行成功后应显示:
在这里插入图片描述
注意
如果仅仅为了使用ns3的基本功能,这个时候就可以进行下一步,如果要安装完全,还需要安装一些依赖库。
**安装依赖库 **

sudo pip install pygccxml
sudo apt-get install castxml
sudo apt-get install libgcrypt11-dev libgcrypt20-doc
sudo apt-get install gtk+-3.0

执行以下命令

./waf

执行成功后应显示:

Waf: Leaving directory `/path/to/workspace/ns-allinone-3.28/ns-3.28/build'
'build' finished successfully (6m25.032s)

Modules built:
antenna                   aodv                      applications
bridge                    buildings                 config-store
core                      csma                      csma-layout
dsdv                      dsr                       energy
fd-net-device             flow-monitor              internet
internet-apps             lr-wpan                   lte
mesh                      mobility                  mpi
netanim (no Python)       network                   nix-vector-routing
olsr                      point-to-point     	    point-to-point-layout    
propagation               sixlowpan                 spectrum                  
stats                     tap-bridge                test (no Python)          
topology-read             traffic-control           uan                    
virtual-net-device        wave                      wifi                      
wimax

Modules not built (see ns-3 tutorial for explanation):
brite                     click                    openflow

完成安装

NS3测试

  1. 在终端中进入ns-allinone-3.29/ns-3.29目录下
    执行以下命令

    ./test.py -c core
    

    完成后应为:

    253 of 256 tests passed (253 passed, 3 failed, 0 crashed, 0 valgrind errors)
    

    注:不同版本数字可能有所不同,不过差异不大

  2. 运行程序
    在终端中进入ns-allinone-3.29/ns-3.29目录下

    ./waf  --run hello-simulator
    

    结果应显示

    Waf: Leaving directory `/home/yan/NS3/ns-allinone-3.25/ns-3.25/build'  
    Build commands will be stored in build/compile_commands.json  
    'build' finished successfully (2m32.830s)  
    Hello Simulator  
    

    如果没有看到输出“Hello Simulator”,说明你是在优化编译模式下进行的编译,在优化编译模式下,默认将关闭控制台输出。可以通过以下命令:

    ./waf clean
    ./waf configure --build-profile=debug --enable-examples --enable-tests
    ./waf
    

补充

NetAnim

官网wiki上NetAnim安装教程

!!!我安装的时候3.29版本这个有问题,所以返回到3.28版本
如果想看到仿真界面,可以进行如下步骤:

cd ns-allinone-3.28/netanim-3.108
make clean
qmake NetAnim.pro
make

之后就可以打开NetAnim

./NetAnim

可视化工具pyviz

官网wiki上pyviz安装教程(https://www.nsnam.org/wiki/PyViz)

1.在线安装一些该模块依赖的Python软件包

sudo apt-get install python-dev python-pygraphviz python-kiwipython-pygoocanvas  python-gnome2 python-rsvg python-gnomedesktop​

注:在我的源中python-gnomedesktop包含在python-rsvg​中,所以出现找不到python-gnomedesktop的时候可以尝试去掉这个包。本次安装就是去掉了python-gnomedesktop这个包安装的。
2.安装‘交互式Python’,以便在后面的可视化界面(the visualizerGUI:)中使用控制按钮,命令如下:

sudo apt-get install ipython​

3.此步骤可选。你可以测试一下,如果在你的Ubuntu的/NS3_install/ns-allinone-3.28/ns-3.28目录下使用如下命令进行测试:

./waf

如果出现下图所示:
​​​​​​在这里插入图片描述
即如果visualizer模块已被编译,那么该步骤可省略。

如果visualizer模块没有编译,需在(http://code.nsnam.org/gjc/ns-3.9-pyviz/​)下载pyviz软件包,解压后放在/NS3_install/ns-allinone-3.28/ns-3.28/目录下,再需重新编译如下命令:

./waf clean
./waf configure --build-profile=debug  --enable-examples --enable-tests
./waf

4、用如下命令可以测试是否安装成功:

./waf --pyrun src/flow-monitor/examples/wifi-olsr-flowmon.py --vis​

brite安装

  1. 安装过程
    cd ns-3.28
    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
    
  2. 测试
    ./waf –run "brite-generic-example –verbose=1"
    

click模块

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

  1. 安装过程
    下载click(http://read.cs.ucla.edu/click/download)
    cd click
    ./configure --enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi
    ./make //没有必要使用make install,或者用make
    ./waf configure --enable-examples --enable-tests --with-nsclick=click源码路径
    ./waf
    
    注意:如果click安装在ns-3-allinone文件夹中,即ns-3文件夹的上层文件夹中,"–with-nsclick=click源码路径"不需要,ns3构建器能够自动找到click源码
  2. 测试
    ./waf --run nsclick-simple-lan
    
    将得到两个.pcap跟踪结果文件:nsclick-simple-lan-0-0.pcap和nsclick-simple-lan-0-1.pcap

openflow

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

  1. 安装过程
    //下载openflow
    hg clone http://code.nsnam.org/jpelkey3/openflow
    //配置和构建openflow(在openflow文件夹下运行)
    cd openflow
    ./waf configure
    ./waf build //此时生成libopenflow.a库文件
    //*链接OpenFlow模块到ns3(在ns3的源码文件夹下运行,如ns-3.28)
    cd ns-3.28
    ./waf configure --enable-examples --enable-tests --with-openflow=下载的openflow源码路径(openflow)
    ./waf build //构建ns3并激活ns3的openflow模块
    
  2. 测试
    ./waf --run openflow-switch
    ./waf --run "openflow-switch -v" //查看日志细节
    //*验证openflow模块
    ./test.py --suite=openflow
    
  3. 注释说明
    NS3本身自带的只是openflow的封装接口,这些接口要去调用openflow的库,就是后面下载的那一部分。在安装的过程中它会编译成相应的库连接到NS3中。在你没有安装openflow的时候在build/debug/src下是看不到的openflow模块的,只有完成以上操作是的时候,才能找到openflow的模块,进而可以执行openflow下相应的程序。
    ./waf --run openflow-switch
    
    openflow-switch是src下openflow模块下的代码编译的可执行文件。并不是下载的openlfow里面的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu16.04下ns3安装 的相关文章

随机推荐

  • Centos 7 安装图形界面以及vnc服务安装与连接

    最近有需求要把centos7系统转为图形界面 xff0c 供开发使用 xff0c 做个笔记同时分享给大家 话不多说 xff0c 进入正题 一 centos7 图形界面的安装 检查可用group 环境 检查Available Groups 中
  • 去掉Settings中display中的休眠选项

    mScreenTimeoutPreference 61 ListPreference findPreference KEY SCREEN TIMEOUT 43 if mScreenTimeoutPreference 61 null true
  • 什么是数据包,数据包是用来干什么的?

    转自 xff1a http www weidianyuedu com content 2711824216204 html 数据包是TCP IP协议通信传输中的数据单位 数据包包含发送者和接收者的地址信息 这些数据包然后沿着不同的路径在一个
  • 作为一个4年程序员至少需要掌握的专业技能

    一名3年工作经验的程序员应该具备的技能 xff0c 在机缘巧合之中 xff0c 看了这篇博客 感觉自己真的是很差 xff0c 一直想着会写if else 就已经是一名程序员了 xff0c 在工作之余也很少学习 于是 xff0c 自己的cod
  • win10 Tesseract-ORC安装教程以及使用案例(pdf拆分)

    简介 OCR Optical Character Recognition xff1a 光学字符识别 xff0c 是指电子设备 xff08 例如扫描仪或数码相机 xff09 检查纸上打印的字符 xff0c 通过检测暗 亮的模式确定其形状 xf
  • Centos7安装jdk8

    Centos7安装jdk8 第一种方式 一 使用yum命令本地下载openjdk 1 查看当前是否安装了JDK 查看当前是否安装了JDK xff0c rpm qa grep i jdk 2 如果安装了就直接卸载 rpm ev 参数说明 q在
  • 网络爬虫——淘宝网页面分析思路

    一 获取服装标题信息 先复制这个标题 xff1a 加肥加大码内搭打底衫T上衣服秋衣潮男装卫衣 在源代码中找到 xff08 如下 xff09 xff1a 注意不能只找一个 xff01 span class token double quote
  • ue4 常见问题解答

    1 如何让客户端自动连接服务器 span style color 0000aa MyGame span span style color 000066 span span style color 000066 exe span span s
  • windows中Ubuntu子系统的连接

    引言 连接Ubuntu子系统 xff0c 除了在上一篇Xshell的下载与安装中已经提到的使用类似于Xshell的SSH远程终端工具外 xff0c 还可以使用Notepad 43 43 xff0c 前者可以执行任何shell命令 xff0c
  • 深度学习目标检测2013-2018单双阶段主流模型概览及详解

    背景 xff1a 深度学习引入目标检测领域以来 xff0c 给目标检测领域带来了很多突破性的进展 xff0c 文章 Deep Learning for Generic Object Detection A Survey 由香港中文大 国防科
  • NMS

    NMS 非极大值抑制 def NMS dects threshold dects x1 y1 x2 y2 score x1 61 dects 0 y1 61 dects 1 x2 61 dects 2 y2 61 dects 3 score
  • Linux内核学习笔记(三)Block I/O层

    你也可以通过我的独立博客 www huliujia com 获取本篇文章 块设备 xff08 Block Device xff09 简介 块设备是一种以块 xff08 block xff09 为单位可以进行随机存取的硬件设备 常见的块设备有
  • OpenCV小例程——火焰检测(完整代码)

    火焰检测小程序 前几天 xff0c 偶然看到了An Early Fire Detection Method Based on Image Processing The Author is Thou Ho Chao Ho Chen Ping
  • “认知反映测试”——衡量一个人是“在短暂的思考后迅速解决问题”还是“通过一段长反射弧深思熟虑后再做决定”

    认知反映测试 衡量一个人是 在短暂的思考后迅速解决问题 还是 通过一段长反射弧深思熟虑后再做决定 有三个问题 xff1a 1 一副球拍和球成本1 10美元 球拍比球成本高1 00美元 问球多少美元 xff1f 2 如果五台机器生产五个零件需
  • 机器人路径规划_人工势场法

    机器人路径规划 人工势场法 原理 人工势场法是由Khatib提出的一种虚拟力法 原理是 xff1a 将机器人在环境中的运动视为一种机器人在虚拟的人工受力场的运动 障碍物对机器人产生斥力 xff0c 目标点对机器人产生引力 xff0c 引力和
  • python中调用 imread 报错: ImportError: cannot import name imread

    现象 xff1a from scipy misc import imread imresize 报错 提示错误 ImportError cannot import name imread 但是import scipy的时候 显示正确 解决方
  • 改变python的默认路径为当前的工作路径

    改变python的默认路径为当前的工作路径 通过os模块来进行python中路径的更改 默认路径为 xff1a span class hljs prompt gt gt gt span span class hljs keyword imp
  • 机器学习——KNN

    机器学习算法 KNN KNN算法和KD Tree 思维导图
  • 面试中问到动态库和静态库相关知识

    1 动态库相比较于静态库的优缺点 xff1f 动态库优点 xff1a 节省内存和代码重用 xff0c 当应用程序使用动态链接库时 xff0c 多个应用程序可以共享磁盘上的DLL xff08 windows xff09 和so linux 副
  • Ubuntu16.04下ns3安装

    说明 类似ns3之类的开源软件 xff0c 安装教程最好是看官网上的安装教程最快 这里只是做个记录 ns3的安装方式有几种不同的方式 这里只是其中一种 xff0c 具体说明可以参考NS3教程 https www nsnam org docs