NS2仿真实验
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实验一 安装篇

实验目的

1.学习安装cygwin。

2.学习安装myNS2(NS-2.29版本,其中已经包含了许多外挂模块,用户不需要再额外安装,就可以轻松地执行本书中的所有实例)。

实验步骤

安装cygwin(请在Windows XP或Windows 2000的环境下安装)。

(1)请执行安装光盘中的setup.exe文件,如图1.1所示。

图1.1 执行光盘中的setup.exe文件

(2)请单击“下一步”按钮,如图1.2所示。

图1.2 安装步骤2

(3)选择“Install from Local Directory”单选按钮,如图1.3所示。

图1.3 安装步骤3

(4)请单击“下一步”按钮,如图1.4所示。

图1.4 安装步骤4

在“Root Directory”中,可以选择安装的目录,在这里建议大家使用默认的路径c:\cygwin,另外两个选项也使用默认值即可。

(1)请单击“下一步”按钮,如图1.5所示。

图1.5 安装步骤5

(2)在“Local Package Directory”中,选择安装光盘中的ftp%3a%2f%2fftp.nctu.edu.tw% 2fWindows%2fcygwin目录,因为安装cygwin中所有的软件都在这个目录中,如图1.6所示。单击“确定”按钮后,如图1.7所示。

图1.6 选择安装目录

图1.7 安装步骤6

(3)请单击“下一步”按钮,如图1.8所示。图1.8主要是要让用户选择要安装的软件。

图1.8 安装步骤7

(4)先选择View,使得旁边的Category变成Full,这样就可以对细部的选项进行选择,如图1.9所示。

图1.9 安装步骤8

(5)一定要选择的软件有XFree86-base,XFree86-bin,XFree86-prog,XFree86-lib, XFree86-etc,make,patch,perl,gcc,gcc-g++,gawk,gnuplot,tar和gzip。以图1.10为例,选择XFree86-base,可以使得new状态从Skip改变成4.3.0-1,如图1.11所示。

图1.10 安装步骤9

图1.11 安装步骤9-2

(6)请单击“下一步”按钮,开始安装所选择的软件,如图1.12所示。

图1.12 安装步骤10

(7)安装完成后,如图1.13所示。

图1.13 安装步骤11

完成后,系统会询问用户是否想要在桌面和“开始”菜单中产生小图标。单击“完成”按钮以结束安装程序。若是需要安装其他的软件套件,可以重新执行setup.exe安装即可。

(8)安装完成后,如图1.14所示。选中桌面上的Cygwin小图标,如图1.15所示。

图1.14 Cygwin Setup对话框

图1.15 Cygwin小图标

(9)第一次执行的时候,系统会根据目前计算机的用户和计算机的名称等信息,在Cygwin的home目录下产生一个用户的文件夹,并放入环境变量设置等相关文件中(.bashrc、.bashrc_profile和.inputrc)。以笔者为例,笔者在Windows XP操作系统下的用户名称为smallko,而使用计算机名称为smallko-hpds,则Cygwin会为smallko在home目录下建立一个smallko目录(/home/smallko),其对应于C盘的路径为c:\cygwin\home\smallko;而输入提示符号则为smallko@smallko-hpds~ $,如图1.16所示。在这里值得注意的是关于用户名称的设置,请勿将用户名称用中文命名,例如,设置为“柯志亨”,或者把用户名称的字分开,例如,设置为“Ke Chi-Heng”,这样都是不行的。最后,再补充一点,并不是所有的机器安装Cygwin都会那样顺利,即使装了很多次,也不一定会出现类似图1.16的样子,这时,笔者建议直接重新安装Windows XP,安装完后,马上安装Cygwin,这样成功率会比较高。等安装成功后,再去安装Service Pack或防毒软件。

图1.16 提示框

【安装NS2】

由于本书中会用到一些测量工具程序,802.11e EDCF module和多媒体传输模块等,而这些程序都是原本NS2中所没有的。为了让读者操作更加容易,笔者就事先把这些工具安装好,只要读者把下面的步骤做完,就可以轻松地操作本书中所有的实例,不需要再一个模块一个模块地安装。

(1)请把安装光盘中的ns-allinone-2.29.rar文件复制到cygwin的目录下,以笔者的计算机为例,是复制到c:\cygwin\home\smallko的目录下。

(2)使用winrar或其他解压缩软件解压缩。

(3)打开cygwin的小窗口,进入到ns-allinone-2.29/ns-2.29的目录下,重新进行编译如图1.17所示。

图1.17 重新进行编译

(4)重新编译完后,如图1.18所示。

图1.18 编译结果

(5)请从安装光盘中复制.bashrc到cygwin的目录下,以笔者的计算机为例,是复制到c:\cygwin\home\smallko的目录下,取代原本的.bashrc文件。.bashrc文件中有路径的设置,复制完后,请先关闭目前的cygwin窗口,再重新打开一次,使得路径设置能生效。但并不是所有的计算机,复制.bashrc都能使得路径设置生效,其解决的办法可以参考下面的操作说明。

(6)最后请再把cygwin1.dll复制到c:\cygwin\bin的目录下,以取代原本的那个文件,由于在做多媒体传输时会用到一些工具程序,这些程序是在别的版本下的cygwin1.dll下编译的,所以要用这个新的版本cygwin1.dll。

【测试安装是否成功】

(1)请输入“startxwin.bat”,进入图形化接口窗口,如图1.19所示(只有需要执行nam或gnuplot程序时才需要使用startxwin.bat,大部分情况下,是不需要使用的)。

图1.19 进入图形化接口窗口

(2)切换目录到ns-tutorial/examples目录下,输入ns example2.tcl,以测试NS2是否能够正确地执行实例,如图1.20所示。

图1.20 输入ns example2.tcl

(3)在模拟结束后,NS2会去执行NAM程序,把仿真结果可视化。若读者能看到类似如图1.21所示的结果,就表示安装NS2成功。

图1.21 安装成功

(4)但若是遇到类似图1.22的情况,则表示路径的设置没有生效。

图1.22 路径的设置未生效

(5)其解决办法是去看看在ns-allinone-2.29/ns-2.29的目录下,是否有ns.exe文件。如果有的话,请复制ns.exe文件到要仿真的tcl同一目录下,若有需要同时执行nam,也请把nam.exe复制到要仿真的tcl同一目录下,如图1.23所示。

图1.23 检查是否有ns.exe文件

(6)修改example2.tcl中的程序代码。

#Define a 'finish' procedure
proc finish {} {
        global ns nf
        $ns flush-trace
        #Close the trace file
        close $nf
        #Execute nam on the trace file
        exec ./nam out.nam &
        #原本的是 exec nam.out&
        exit 0
}

(7)再次使用$./ns example2.tcl执行模拟,如图1.24所示。

图1.24 再次使用$./ns example2.tcl执行模拟

【参考文献】

[1] http://www.isi.edu/nsnam/ns

[2] http://140.116.72.80/~smallko/ns2/ns2.htm

[3] http://www.sims.berkeley.edu/~christin/ns-cygwin.shtml

[4] http://www.isi.edu/nsnam/dist/

【补充说明】

1. 在执行本书中的实例时,由于可能会用到一些随机数产生器,所以模拟结果可能会与书中的结果不同,但结果的值应该会很接近。

2. 书中所有的TCL程序代码都可以在ns-allinone-2.29/ns-2.29/book中找到。