ubuntu 16.04上ns2+nam+GT-ITM安装笔记

    因工作需要,着手搭建ns+nam+GT-ITM环境,在网上看了一些帖子,用了一天时间安装调试,现在做一个小的总结,希望给做类似工作的人有一些借鉴。

 

目标:Ubuntu16.04虚拟机上安装ns2.35+nam+GT-ITM

步骤:

Step1-资源下载

   VMwarehttp://www.vmware.com/products/player/playerpro-evaluation.html

   Ubuntuhttp://cn.ubuntu.com/download/

   ns-2.35集成包(包含namGT-ITM)https://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download

   tcl/tk版本下载:https://sourceforge.net/projects/tcl/files/Tcl/


Step2-准备NS安装环境

   首先在VMware中安装Ubuntu16.04虚拟机,安装完成后运行终端,输入以下命令更新系统:

   sudo apt-get update #更新源列表

   sudo apt-get upgrade #更新已经安装的包

   sudo apt-get dist-upgrade #更新软件,升级系统

   然后安装ns2晕行时需要的三个依赖包,命令如下:

   sudo apt-get install build-essential

   sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev #for tcl and tk(执行此命令后注意查看tcltk的版本号,我的是8.5.19)

   sudo apt-get install libxmu-dev libxmu-headers #for nam

Step3-安装NS

   将下载的ns-allinone-2.35.tar.gz压缩包解压到“/home/用户名/”目录下,可以用“tarxvfz ns-allinone-2.35.tar.gz”命令或者图形化操作,然后进入文件夹,查看tcltk的文件夹是否与之前安装的版本一致,如果不一致之后安装就会出现版本冲突错误。因此需要下载与安装相同的版本替换现有的文件,例如我安装的是8.5.19,而解压出的是8.5.10,因此需要下载tcl8.5.19tk8.5.19替换tcl8.5.10tk8.5.10文件夹中的文件。

   更改ns-allinone-2.35/ns-2.35/linkstate目录下的ls.h文件,将其第137行中 {erase(baseMap::begin(), baseMap::end()); }修改为 { this->erase(baseMap::begin(),baseMap::end()); },然后保存文件。

   在在终端中进入ns-allinone-2.35文件夹,运行install安装程序:

    cd ns-allinone-2.35

     ./install

Step4-配置环境变量

   在终端中进入用户目录“/home/用户名”,运行gedit ~/.bashrc命令,打开.bashrc文件,然后在文档最后加入一下环境变量:

   export NS_HOME=/home/用户名/ns-allinone-2.35 

   exportPATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix

   export LD_LIBRARY_PATH=$NS_HOME/otcl-1.14:$NS_HOME/lib 

   export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library  

   其中的路径根据自己的实际情况修改,修改完成后保存文件。

Step5-验证NS

   重启终端,输入ns,出现%,说明ns2安装成功,否则继续在stp4中修改环境变量,此时请勿根据提示使用sudoapt-get install ns2命令安装。

Step6-安装nam并测试

   终端进入nam目录并运行命令,如下:

   cd ns-allinone-2.35/nam-1.15

   ./configure –with-tcl-ver=8.5

   make

   make install

  命令行输入nam弹出nam console说明nam安装成功。

  最后运行一个小例子查看安装结果。命令如下:

   cd ns-allinone-2.35/ns-2.35/tcl/ex/

   ns simple.tcl

   nsnam完全安装正确,则弹出动画演示框。

Step7-安装GT-ITM并测试

   ns-allinone-2.35/gt-itm/sgb2ns/目录中找到sgb2ns.c文件,将其中105行“\t$nsduplex-link-of-interfaces $n(%d) $n(%d) $linkBW %dms DropTail\n”修改为“\t$nsduplex-link $n(%d) $n(%d) $linkBW %dms DropTail\n”。

   然后在gt-itm/srcgt-itm/sgb2ns目录下分别执行make命令,最后将/gt-itm/bin所在目录添加到PATH环境变量中(Step4),方便调用itm

   测试例子:

   /gt-itm/docs目录中生成一个t1.txt文件,文件内容如下:

   ts 1 47

   30 0

   120 3 1.0

   420 3 0.6

   在终端中调用这个文件:

   cd ns-allinone-2.35/gt-itm/bin 

   itm t100.txt

   调用后生成一个t1.txt-0.gb文件,在运行以下命令:

   sgb2ns t1.txt-0.gb t1.tcl

   这样就生成了一个ns2格式的t1.tcl文件,如需要查看这个文件,需再写一个tcl的文件,内容如下:

   set ns [new Simulator]

   set nf [open out.nam w]

   $ns namtrace-all $nf

   source t1.tcl

   create-topology ns node 1.5Mb

   $ns run

   命名为nam_show.tcl,运行如下命令调用这个文件:

   ns nam_show.tcl

   之后生成一个out.nam文件,通过命令namout.nam,就能看到生成的拓扑图了。

 

你可能感兴趣的:(网络仿真)