实验一 安装篇
实验目的
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中找到。