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

编程入门 行业动态 更新时间:2024-10-24 12:23:38

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

安装Ubuntu

  • L i n u x 安 装 自 行 解 决 Linux安装自行解决 Linux
  • 本 人 环 境 : U b u n t u 版 本 18.04 , 建 议 4 G 以 上 空 间 本人环境:Ubuntu版本18.04,建议4G以上空间 Ubuntu18.044G
  • 注 意 , V M w a r e 版 本 不 要 15.5.5 版 本 , 原 因 如 下 : 注意,VMware版本不要15.5.5版本,原因如下: VMware15.5.5键盘大小写失灵 , 往 前 早 一 个 版 本 即 可 ,往前早一个版本即可

安装所需依赖

  • 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

  • 访 问 官 网 : 访问官网: 访官网3.30版本链接
  • 点 击 下 载 链 接 点击下载链接
  • 下 载 成 功 后 , 找 到 t a r 文 件 下载成功后,找到tar文件 tar

  • 复 制 文 件 , 回 到 主 目 录 , 创 建 文 件 夹 ( 不 是 必 须 , 方 便 管 理 ) 复制文件,回到主目录,创建文件夹(不是必须 ,方便管理) 便
  • 进 入 文 件 夹 , 粘 贴 t a r 文 件 进入文件夹,粘贴tar文件 tar

安装NS3

  • 打 开 终 端 ( a t r l + a l t + t ) , 输 入 命 令 打开终端(atrl+alt+t),输入命令 atrl+alt+t cd tarballs/

  • 解 压 t a r 文 件 解压tar文件 tar tar xjf ns-allinone-3.30.1.tar.bz2

  • 解 压 之 后 , 输 入 解压之后,输入 ls 可 以 查 看 当 前 目 录 下 文 件 可以查看当前目录下文件

  • cd ns-allinone-3.30.1/ , 进 入 目 录 ,进入目录

    ./build.py  (会很久)
    

    P S : 使 用 命 令 s u d o . / b u i l d . p y 编 译 安 装 n s − 3 安 装 包 一 般 是 我 们 第 一 次 安 装 n s − 3 的 时 候 使 用 的 命 令 , 这 是 a l l i n o n e 环 境 下 的 的 b u i l d . p y 脚 本 , 是 一 个 P y t h o n 脚 本 。 PS:使用命令sudo ./build.py编译安装ns-3安装包一般是我们第一次安装ns-3的时候使用的命令,这是allinone环境下的的build.py脚本,是一个Python脚本。 PS使sudo./build.pyns3ns3使allinonebuild.pyPython
    一 旦 我 们 第 一 次 编 译 过 后 , 我 们 之 后 就 要 使 用 w a f 编 译 。 一旦我们第一次编译过后,我们之后就要使用waf编译。 使waf

  • b u i l d 之 后 出 现 这 样 就 算 没 问 题 了 : build之后出现这样就算没问题了: build

    其 中 下 面 四 个 是 没 有 b u i l d 的 , 可 选 项 , 暂 时 不 用 其中下面四个是没有build的,可选项,暂时不用 build

  • 进 入 n s − 3.30.1 文 件 夹 进入 ns-3.30.1 文件夹 ns3.30.1

    cd ns-3.30.1/ 
    
    ./waf distclean (清除整个build目录)
    ./waf configure --enable-examples --enable-tests  (开启例子及帮助)# 这一行命令是为了配置NS3。命令中的点号代表当前目录,当前命令下的waf文件,waf文件是一个python。是NS3自带的。通过上面的命令,使用当面目录下的waf文件配置NS3,并使得编译版本为debug模式,同时使得实例代码和测试代码可用。
    ./waf   (会很久、更久、超级久) # 久哭了QAQ
    
  • 结 束 之 后 大 体 上 和 之 前 b u i l d 的 结 果 是 一 样 的 结束之后大体上和之前build的结果是一样的 build

  • 可 以 通 过 运 行 以 下 脚 本 来 运 行 N S − 3 发 行 版 的 单 元 测 试 可以通过运行以下脚本来运行NS-3发行版 的单元测试 NS3 ./test.py 【 p s : 执 行 之 后 去 看 个 电 影 吧 , 不 要 问 我 为 什 么 Q _ Q 】 【ps:执行之后去看个电影吧,不要问我为什么Q\_Q】 ps:Q_Q
    结 束 之 后 应 该 是 这 个 样 子 : 结束之后应该是这个样子:

  • 现 在 就 说 明 安 装 都 成 功 了 , 并 且 所 有 的 单 元 都 是 完 整 的 。 现在就说明安装都成功了,并且所有的单元都是完整的。

  • w a f 命 令 是 交 互 式 的 , 是 基 于 p y t h o n 语 言 的 开 源 编 译 系 统 。 waf命令是交互式的,是基于python语言的开源编译系统。 wafpython
    一 旦 我 们 用 s u d o . / b u i l d . p y 命 令 编 译 安 装 过 N S − 3 , 再 想 重 新 配 置 和 编 译 就 只 能 用 w a f 命 令 。 一旦我们用sudo ./build.py命令编译安装过NS-3,再想重新配置和编译就只能用waf命令。 sudo./build.pyNS3waf
    需 要 注 意 的 是 w a f 命 令 配 置 时 是 在 目 录 n s − 3.30 下 需要注意的是waf命令配置时是在目录ns-3.30下 wafns3.30


运行脚本

  • 通 常 在 W a f 的 控 制 下 运 行 脚 本 。 通常在Waf的控制下运行脚本。 Waf
    这 使 构 建 系 统 可 以 确 保 正 确 设 置 共 享 库 路 径 , 并 确 保 库 在 运 行 时 可 用 。 这使构建系统可以确保正确设置共享库路径,并确保库在运行时可用。 使

  • 要 运 行 程 序 , 只 需 使 用 要运行程序,只需使用 使 –runWaf 中 的 选 项 。 通 过 键 入 以 下 内 容 , 让 我 们 运 行 无 所 不 在 的 h e l l o w o r l d 程 序 中的 选项。通过键入以下内容,让我们运行无所不在的hello world程序 helloworld

    ./waf --run hello-simulator
    

    如 果 是 这 个 样 子 就 木 的 问 题 了 : 如果是这个样子就木的问题了:

  • 如果看不到输出怎么办?

    • 看 到 W a f 消 息 指 示 构 建 已 成 功 完 成 , 但 没 有 看 到 “ H e l l o S i m u l a t o r ” 输 出 , 看到Waf消息指示构建已成功完成,但没有看到“ Hello Simulator”输出, WafHelloSimulator,
      则 可 能 是 在 “ 使 用 W a f 构 建 ” 部 分 中 将 构 建 模 式 切 换 为 则可能是在“ 使用Waf构建”部分中将构建模式切换为 使Waf optimized , 但 是 错 过 了 更 改 回 d e b u g   m o d e 的 操 作 。 ,但是错过了更改回 debug\ mode的操作。 debug mode
    • 本 次 使 用 的 所 有 控 制 台 输 出 都 使 用 特 殊 的 n s − 3 日 志 记 录 组 件 , 该 组 件 对 于 将 用 户 消 息 打 印 到 控 制 台 非 常 有 用 。 本次使用的所有控制台输出都使用特殊的ns-3日志记录组件,该组件对于将用户消息打印到控制台非常有用。 使使ns3
    • 编 译 优 化 代 码 时 , 将 自 动 禁 用 此 组 件 的 输 出 − 它 被 “ o p t i m i z e d o u t ” 。 如 果 看 不 到 “ H e l l o S i m u l a t o r ” 输 出 , 请 键 入 以 下 内 容 : 编译优化代码时,将自动禁用此组件的输出-它被“optimized out”。如果看不到“ Hello Simulator”输出,请键入以下内容: optimizedoutHelloSimulator
     ./waf configure --build-profile=debug --enable-examples --enable-tests
    
  • 没 输 出 “ H e l l o S i m u l a t o r ” , 说 明 你 是 在 优 化 编 译 模 式 下 进 行 的 编 译 , 在 优 化 编 译 模 式 下 , 默 认 将 关 闭 控 制 台 输 出 。 没输出“Hello Simulator”,说明你是在优化编译模式下进行的编译,在优化编译模式下,默认将关闭控制台输出。 HelloSimulator

  • 可 以 通 过 以 下 改 变 命 令 可以通过以下改变命令 sudo ./waf -d optimized --enable-example --enable-tests configure 的 参 数 的参数 optimized 改 为 改为 debug 后 变 为 后变为 sudo ./waf -d debug --enable-example --enable-tests configure 重 新 配 置 编 译 就 可 以 。 重新配置编译就可以。

  • 具 体 指 令 是 : 具体指令是:

    cd ns-3.30
    ./waf clean   //清除先前的配置编译
    ./waf -d debug --enable-example --enable-tests configure   //基于waf的配置调试方式
    ./waf 
    
  • 以 上 两 种 方 式 都 可 以上两种方式都可

更多推荐

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

本文发布于:2023-06-14 01:57:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1424602.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:测试   教程

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!