• NS3之路----NS3的安装及第一个example例子


    NS3的安装以及第一个example

    首先,本文中的相关知识均来自于https://www.nsnam.org/ns-3.24/documentation/tutorial,本文以tutorial为基础,从个人角度讲述,下面我们开始进行ns3的安装(一切操作均在终端中进行,均以ns-3.23为例)。

    1. 下载ns3(有多种方式,推荐第一种)

    l  使用tarball(关于tarball是什么,自行查阅),首先需要建立一个ns3的下载目录,假设为workspace。再使用wget命令下载,以ns-3.23为例,如下:

    下载:wget http://www.nsnam.org/release/ns-allinone-3.23.tar.bz2

    解压:tar xjf ns-allinone-3.23.tar.bz2 

    至此,我们下载了ns-3.23,解压得到ns-allinone-3.23文件夹. 

    PS:推荐使用tarball,使用bake的下载过程过于复杂。 

    l  使用Bake下载ns3,命令如下:

    hg clone http://www.nsnam.org/bake 

    可以对比看到使用tarball和bake的区别在于一个使用wget,另一个使用hg。因为hg命令属于Mercurial(在预安装中所安装的),因此看到如下命令算正确。

     .......

    45 files updated, 0 files merged, o files removed, 0 files unresoulved. 

    这个时候下载的只是一个叫做bake的python脚本,在其下有bake文件夹。里面有bake.py脚本。 

    而这只是用来下载ns3的脚本。首先切换到bake文件夹,为其设置环境变量: 

    export BAKE_HOME = 'pwd'

    export PATH = $PATH:$BAKE_HOME:$BAKE_HOME/build/bin

    export PYTHONPATH = $PYTHONPATH:$BAKE_HOME:$BAKE_HOME/build/bin

    接着就需要对bake进行配置(下载ns3配置)。

     ./bake.py configure -e ns-3.23

    如果上步通过,则检查相关组件是否足够进行下载工作,使用check来检查,如果缺少组件,则需要先进行安装。

    ./bake.py check 

    如果检查通过,则会出现下列信息,否则,需要安装缺少的组件,相关安装过程使用apt-get install。

    ....

    >.... OK 

    >..... OK

    到这一步之后就可以开始进行ns3的下载了。

    ./bake.py download 

    所以,其实使用bake的过程远比tarball要麻烦,如果想尽早进入开发,推荐tarball,如果愿意继续在此摸索,可以将两者都试试。 

    2. 编译NS3 

    Ns3的编译有三种方式,分别为:build.py;./bake.py build; ./waf build。针对这三种方式分别进行介绍。

    l  Build.py

    切换到ns-allinone-3.23目录下,输入命令

    ./build.py --enable-examples --enable-tests 

    该编译会编译所有的模块,另外命令中涉及到了examples和tests,那是因为examples和tests位于ns中,并且默认情况下是没有被编译的,因此在这里进行主动编译。编译过程中能看到很多信息如下:

    关注这个就可以了:‘build’ finished successfully(...ms) 

    这样就编译成功了,注意modules not build中的openflow和visualizer将在后面相关部分进行介绍。

    l  ./bake.py build

    在对应目录下使用该命令编译成功之后得到下列信息:

    >> .... OK 

    如果编译不成功的话,则会有相关信息提示依赖丢失。

    l  ./waf build

    同样在对应目录下使用如下命令,clean用于清除原本编译的二进制文件等,configure则进行相关组件的检查和配置。

    ./waf clean

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

    成功后会提示“Configure” finished successfully.

    接下来便可以使用“./waf”命令直接进行编译了,编译成功后也会有信息提示:

    关注'build' finished successfully (...ms) 

    这时我们可以运行一个简单的example来测试ns3是否安装成功。

    ./waf --run hello-simulator 

    如果成功输出Hello Simulator,那么恭喜你,NS3安装成功了。

    但是如果build successfully但是却没有看到Hello Simulator的信息,那么那么可能与你设置的编译模式有关(optimal/debug),可以尝试着使用如下命令:

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

     ./waf

    然后再运行之前的hello simulator的例子。

  • 相关阅读:
    egret inspect插件安装失败处理方法
    SQLite – GROUP BY
    JSP Connect Database
    Sticks
    TCP-IP-part7-IP协议相关技术(一)
    Tensorflow 错误集锦
    数据结构队列的实现
    使用 Git 删除本地仓库和远端仓库文件
    垃圾回收GC
    SpringDataJpa2
  • 原文地址:https://www.cnblogs.com/yibobo-blog/p/4924381.html
Copyright © 2020-2023  润新知