NS2仿真实验环境组建

最近有初学NS2的同学问如何搭建环境,我这边把编写的实验手册中的一个章节拿出来分享。

更多内容请关注我编写的,即将由清华大学出版社出版的《无线网络技术教程(第2版)》

把内容粘上了,发现图没有,先不管了,应该不影响阅读,如有问题请联系我。

一键安装包比较大,有需要的同学QQ(411265589)联系,加的时候请报“姓名和学校”验证。



NS2仿真实验环境组建

1 实验要求与目的

●接触Linux/Cygwin操作界面和简单命令

●掌握NS2仿真实验环境的搭建

●熟悉NS2仿真实验过程

2 实验环境与模块简介

本教程绝大部分实验环境基于Windows XP/Windows 7,利用虚拟机+Ubuntu构建仿真环境。为了让部分不熟悉Ubuntu系统的读者也能高效完成实验,实验也可在Cygwin环境下运行。由于Ubuntu和Cygwin都使用Linux命令,因此本手册后续的所有实验假定读者熟悉简单的shell命令,如目录切换、文件编辑和权限变换等。同时,读者的PC性能满足:内存2G及以上、CPU 2.0GHz及以上、空闲磁盘空间10G及以上。虚拟机软件包为Ubuntu 10.04系统、VirtualBox、Cygwin和ns-allinone-2.35源码包,读者可从它们的主页下载,详见下面的介绍。

3 实验原理与背景知识

3.1 Ubuntu简介

Ubuntu(乌班图)是基于Debian GNU/Linux,支持x86、amd64和ppc架构,由专业开发团队(Canonical Ltd)打造的开源GNU/Linux操作系统,支持桌面虚拟化。Ubuntu对GNU/Linux的桌面普及作出了巨大贡献,使更多人共享开源的成果。通常每隔6个月,Ubuntu就发布新版本,利用代号和版本号(基于发布日期,如4.10表示2004年10月发行)进行区分,其中LTS是长期支持版。更多Ubuntu信息可关注:http://www.ubuntu.org.cn/。

本教程实验选择Ubuntu主要考虑:(1)易用且受开发者青睐;(2)源码开放。本手册实验采用Ubuntu 10.04,可从:http://old-releases.ubuntu.com/releases/lucid/下载,见图1.1。

图1.1 Ubuntu 10.04下载

3.2 VirtualBox简介

本手册中的大多数实验采用VirtualBox为虚拟机,由德国Innotek公司开发,由Sun公司出品,使用Qt框架编写,在Sun被Oracle收购后正式更名成Oracle VM VirtualBox。Innotek根据GNU General Public License(GPL)开放VirtualBox产品,并提供二进制版本及OSE版本的代码。可在VirtualBox上安装并执行Windows、DOS、Linux等操作系统。

与VMware和Virtual PC比较,VirtualBox具备远端桌面协议(RDP)、iSCSI和USB支持,现有VirtualBox在客户端操作系统上已支持USB 2.0的硬件装置,但其需安装VirtualBox Extension Pack。更多信息可关注:https://www.virtualbox.org/,在此不再赘述。本教程实验选择VirtualBox主要考虑:(1)系统资源占用较少;(2)源码开放。本手册实验采用的VirtualBox 4.2.18,可从:https://www.virtualbox.org/wiki/Downloads下载,如图1.2所示。注意,由于VirtualBox不断更新,本实验环境搭建可兼容新版VirtualBox。

图1.2 VirtualBox下载

3.3 NS2简介

NetworkSimulator version 2(NS2)由UC Berkeley开发,是源代码公开、免费的权威网络技术仿真平台,可方便的进行网络技术研发,其包含模块几乎涉及网络技术所有方面。NS2是面向对象的网络仿真器,本质上是一个离散事件模拟器。它本身有一个虚拟时钟,所有仿真由离散事件驱动。目前NS2可以用于仿真各种不同类型的网络,包括:网络传输协议,如TCP和UDP;业务流量模型,如FTP, Telnet, Web CBR和VBR;路由器队列管理,如Droptail、RED和CBQ;路由算法,如Dijkstra等;局域网,多播及MAC子层协议;无线网络协议,支持许多类型无线网络。

本实验手册的各种仿真实验使用ns-allinone-2.35源码包,下载网址为:http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/下载,如图1.3所示。同时,为方便部分读者使用,同时保留教材第一版的实验内容,即后面的实验也提供Cygwin+ns-allinone-2.34源码包搭建仿真实验环境,下载网址为:http://sourceforge.net/projects/nsnam/files/ allinone/ns-allinone-2.34/。

图1.3 NS2下载

有关NS2的相关知识请参考《无线网络技术教程:原理、应用与实验》(第二版)2.12节内容,也可查阅参考文献[1][2][3][4]。

3.4 Cygwin简介

Cygwin为Windows平台上的Linux模拟环境,由cygnus solutions公司开发,向用户免费开放使用,可从http://www.cygwin.com/获取软件。它对学习Unix/Linux操作环境,或从Linux到Windows的应用程序移植,或进行某些特殊的开发工作,尤其使用gnu工具集在Windows上进行嵌入式系统开发等,非常有用。随着嵌入式系统开发日渐流行,越来越多的开发者对Cygwin产生了兴趣。

cygnus最初将gcc、gdb、gas等开发工具进行改进,使它们能生成并解释win32的目标文件。然后,将这些工具移植到Windows平台上。一种思路是基于win32 API对这些工具源代码进行大幅修改,需大量代码移植工作。因此,采取另一种不同方法——编写一个共享库(就是cygwin.dll),把win32 API中没有的Unix风格的调用(fork/spawn/signals/select/sockets等)封装在里面。即基于win32 API编写一个Unix系统库的模拟层。只要把这些工具的源代码和这个共享库连接到一起,就可使用Unix主机上的交叉编译器来生成可在Windows平台上运行的工具集。以这些移植到Windows平台的开发工具为基础,cygnus又逐步将其他工具(几乎不需要对源代码进行修改,只需要修改配置脚本)软件移植到Windows上来。这样,在Windows平台上运行bash和开发工具、用户工具,感觉好像在Linux上工作。

4 实验步骤

本实验一主要介绍如何搭建NS2仿真实验环境,并不涉及具体的无线网络仿真实验,更多详情请关注后续实验。NS2仿真实验环境主要分3种:

(1)基于VirtualBox虚拟机环境,直接使用本书提供的已搭建完成的环境(4.2节);

(2)基于ns-allinone-2.35源码包,在Ubuntu 10.04上由读者自行搭建环境(4.3节);

(3)基于Windows XP/ Windows 7系统(建议采用WinXP,若在Win7上搭建环境,需要注意管理员权限)和Cygwin软件,搭建Linux模拟环境,然后基于ns-allinone-2.34源码包搭建本手册的实验环境(4.4节)。

4.1 VirtualBox虚拟机安装

VirtualBox虚拟机安装相对较简单,先从官方网站上下载安装包(3.2节),然后双击运行。开始安装时,界面如图1.4所示,紧接着根据图1.5~图1.9的提示一步步进行。

  

图1.4 VirtualBox安装(1)            图1.5  VirtualBox安装(2)

  

图1.6 VirtualBox安装(3)              图1.7  VirtualBox安装(4)

  

图1.8 VirtualBox安装(5)              图1.9  VirtualBox安装(6)

4.2 VirtualBox虚拟机导入环境

完成VirtualBox安装后,就可搭建实验环境。为方便读者实验,本实验手册将实验平台制作成虚拟主机文件,具体可到本教材对应的网盘中下载本书配套电子资源(http://www.kuaipan.cn/file/id_252663636009418757.htm?source=1)。/*如有变化,我们将在本电子资源包的说明文中及时更新*/

下载完成后,请将文件复制到磁盘存储空间足够的目录位置。

开始导入前,首先需打开4.1节中安装完成的VirtualBox虚拟机,如图1.10所示。然后单击图1.10左上角的新建按钮,会出现图1.11所示的界面,根据图1.11红色提示框的内容选择安装属性,最后单击创建按钮,完成虚拟主机导入,如图1.12所示。注意,图1.11中最下面的红色提示框是选择前面下载的虚拟主机在磁盘上的位置。

图1.10  虚拟主机导入(1)

  

图1.11  虚拟主机导入(2)                 图1.12  虚拟主机导入(3)

利用导入的虚拟主机,读者即可开始后续的实验,直接跳过4.3和4.4节的内容,虚拟主机的用户名为:wnt,密码为:123456。

4.3 源码包搭建环境

读者也可选择自己完成安装工作,具体如下。

4.3.1  新建虚拟主机

打开VirtualBox,单击图1.10所示的新建按钮,新建一个虚拟主机,步骤如图1.13至图1.18所示。其中,图中的红色方框是需关注或修改的内容,可根据具体需要进行更改。

  

图1.13  新建虚拟主机(1)                 图1.14  新建虚拟主机(2)

  

图1.15  新建虚拟主机(3)                 图1.16  新建虚拟主机(4)

  

图1.17  新建虚拟主机(5)                 图1.18  新建虚拟主机(6)

配置完所有参数后,单击图1.18所示的“创建”按钮,即可完成虚拟主机的创建。

4.3.2  安装Ubuntu10.04

完成虚拟主机的新建后,即可安装Ubuntu10.04系统。开始安装系统前,需将Ubuntu10.04的镜像(图1.1中获得的.iso)文件导入到虚拟主机的光驱中,如图1.19和图1.20所示。

  

图1.19  设置Ubuntu10.04镜像(1)          图1.20  设置Ubuntu10.04镜像(2)

设置好虚拟主机的Ubuntu 10.04镜像后,点击即可启动虚拟主机,等待片刻后进入Ubuntu10.04的安装进程。安装开始时,会出现一个欢迎界面,此时选择“Install Ubuntu 10.04 LTS”而不是“Try Ubuntu 10.04 LTS”,正式进入ubuntu10.04的安装。具体安装过程见图1.21至图1.28,注意红色方框中的设置。其中,图1.28设置完之后需要等待约30分钟(依据PC性能而定)完成系统安装。

  

图1.21  Ubuntu10.04安装(1)                图1.22  Ubuntu10.04安装(2)

  

图1.23  Ubuntu10.04安装(3)                图1.24  Ubuntu10.04安装(4)

  

图1.25  Ubuntu10.04安装(5)                图1.26  Ubuntu10.04安装(6)

  

图1.27  Ubuntu10.04安装(7)                图1.28  Ubuntu10.04安装(8)

4.3.3  NS2和模块安装

为便于读者使用,本实验手册电子资源提供了一键安装的shell文件。安装前,读者需使用U盘将对应Ubuntu 10.04版本的WNT_Ubuntu.tar.gz和experiment.tar.gz文件复制到用户目录下(即“/home/wnt/”目录)。注意,VirtualBox中将U盘切换到Ubuntu虚拟电脑需要根据图1.29所示操作,成功切换后,会显示如图1.30的结果(U盘的符号前增加了个勾)。实验中采用的U盘为“Teclast”(与盘符不同),不同读者根据U盘不同,显示的名字也不同。

图1.29  U盘切入虚拟电脑

图1.30  成功切入后的结果

安装所需的文件拷贝到用户目录后,用“Ctrl+Alt+T”命令打开终端(Terminal),根据如下步骤进行安装。注意,终端打开后,默认路径为用户目录(即“/home/wnt/”目录)。

(1)             输入“mkdir WNT”命令创建WNT文件夹,并用“cp WNT_Ubuntu.tar.gzWNT/”命令将安装包复制到WNT目录中;

(2)             输入“cd WNT”命令进入WNT目录,并用“tar-zxvf WNT_Ubuntu.tar.gz”命令解压安装文件到WNT目录中(不能采用鼠标右键菜单解压)。如果读者想节省磁盘空间,可用“rm WNT_Ubuntu.tar.gz”命令删除不需要的安装包;

(3)             输入“sh ns-ubuntu.sh”命令开始安装,会出现一些提示,直接按回车键即可。注意,在安装的过程中需要读者输入超级权限的密码,其与登录密码(用户设定)相同。等待一段时间后,即可完成NS2的安装,环境变量可自动配置(也可选择手动配置)完成;

(4)             输入“cd ..”命令退出WNT目录,然后输入“cpexperiment.tar.gz WNT/”,将仿真脚本拷贝到WNT中,并输入“cd WNT”进入WNT目录,利用命令“tar -zxvf experiment.tar.gz”解压experiment.tar.gz文件。

至此,NS2在Ubuntu 10.04中一键安装完成,为节省磁盘空间,在WNT目录中解压experiment.tar.gz文件后,可用命令“rm experiment.tar.gz”删除不必要的文件。需要注意,一键安装过程需要虚拟电脑已联网,否则无法正常安装。默认情况下,只要宿主电脑联网,虚拟主机即联网。安装完成后,需要重新启动终端,否则环境变量无法及时生效,造成“ns”命令无法找到。

4.4 基于WindowsXP/7和Cygwin的NS2环境

为便于不熟悉Ubuntu系统的读者使用,下面介绍在WindowsXP/7系统中利用Cygwin2.510.2.2(http://www.kuaipan.cn/file/id_252663636009418758.htm?source=1) /*如有变化,我们将在本电子资源包的说明文中及时更新*/搭建实验环境。有关最新的Cygwin,读者可根据本实验2.4节的简介下载。接下来介绍基于Windows XP/7和Cygwin的实验环境搭建,ns-allinone-2.34的简介和下载地址见本实验2.3节内容。

具体安装步骤如下:

(1)安装Cygwin。将“Cygwin2.510.2.2.rar”软件包解压,进入“Cygwin2.510.2.2”目录,然后以管理员身份运行Setup.exe(Windows XP系统直接双击即可),如图1.31所示。紧接着,根据图1.32至图1.37所示步骤设置和安装Cygwin。

图1.31  管理员身份运行Setup.exe

 

图1.32  初始安装                           图1.33  安装来源

 

图1.34  安装目标                            图1.35  选择文件

 

图1.36  组件选择                            图1.37  安装进度

图1.37大约需要等待30分钟或更多,可完成安装。注意,首次安装完成后,在Cygwin目录下可能会缺少一个home目录,需要运行Cygwin软件生成。

(2)将Cygwin版本的WNT_Cygwin.tar.gz和experiment.tar.gz文件复制到“/home/<用户名>/”目录下,其中“<用户名>”与读者系统的当前用户名相同,图中示例用户名为“norbert”;

(3)双击图标,打开Cygwin,会出现如图1.38所示的界面,此时的路径为“/home/<用户名>/”目录;

图1.38  Cygwin运行界面

(4)输入“mkdir WNT”命令创建WNT文件夹,并用“cp WNT_Cygwin.tar.gz WNT/”命令将安装包复制到WNT目录中;

(5)输入“cd WNT”命令进入WNT目录,并用“tar -zxvf WNT_Cygwin.tar.gz”命令解压安装文件到WNT目录中(不能采用鼠标右键菜单解压)。注意,如果读者想节省磁盘空间,可用“rm WNT_Cygwin.tar.gz”命令删除不需要的安装包;

(6)输入“sh ns-cygwin.sh”命令开始安装,会出现一些提示,直接按回车键即可。等待一段时间后(不同性能的计算机会有不同),即可完成NS2的安装,环境变量可自动配置(也可选择手动配置)完成(注意,配置过程中可能会询问是否重新/覆盖文件,请输入“y”并回车)。如果需要手动配置,可直接将ns-allinone-2.34下的bin目录中的全部文件复制和覆盖Cygwin的bin目录;

(7)输入“cd ..”命令退出WNT目录,然后输入“cp experiment.tar.gz WNT/”,将仿真脚本拷贝到WNT中,并输入“cd WNT”进入WNT目录,利用命令“tar -zxvf experiment.tar.gz”解压experiment.tar.gz文件。为了节省磁盘空间,在WNT目录中解压experiment.tar.gz文件后,可用命令“rm experiment.tar.gz”删除不必要的文件。

需要注意,Cygwin是以字符界面打开,如需运行nam动画,则需要输入“startxwin.bat”或“startxwin”命令,启动Xwindows图形界面。安装完成后,需重新启动Cygwin,否则“ns”命令可能无法找到。

5 结果分析与讨论

初学者在NS2的安装过程中可能会遇到一些问题,可在NS2的官方网站上寻找解决问题的方法,也可直接在google中检索相关的问题解决。如果还是存在问题,可以与我们进行交流,邮箱:[email protected]

6 扩展与分析

本实验在Windows XP/ Windows 7中利用VirtualBox构建Ubuntu10.04的虚拟主机,并在其上搭建NS2实验环境,同时为了方便初学NS2的读者,本实验还给出了Windows 7中Cygwin上的实验环境搭建。感兴趣的读者还可在其他版本的Linux系统上进行环境搭建,以学习解决环境搭建过程中可能遇到的问题。

7 注意事项与资源

7.1  注意事项

(1)一键安装前务必将本手册提供的文件和代码放置在用户目录下,路径不能出现错误;

(2)一键安装后务必测试安装的正确性,测试方法为:在终端中输入ns,如果出现%,则安装正确,否则需要检查安装中出现的问题。

7.2  仿真资源

[1] The Network Simulator version 2,http://www.isi.edu/nsnam/ns/.

[2] ns (simulator),http://en.wikipedia.org/wiki/Ns_(simulator).

[3] NS2 使用說明手冊,http://hpds.ee.ncku.edu.tw/~smallko/ns2/ns2.htm.

[4] 金光. 网络技术实践教程. 电子工业出版社. 2009.

你可能感兴趣的:(网络模拟器(NS2),ubuntu,NS2)