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的例子。

posted @ 2015-10-30 21:01  yibobo  阅读(8862)  评论(0编辑  收藏  举报