NS2在计算机网络课程实验教学中的应用研究

2009-05-28 03:48张浩军
网络与信息 2009年10期

程 立 张浩军 王 珂

摘要:在计算机网络实验教学中,通过NS2构建网络仿真环境。能有效地缓解高校网络实验室建设的压力,创新实验教学方法和手段。本文给出了一个传输层控制网络教学实例,阐述了如何利用仿真技术分析网络传输协议工作原理和性能。结果表明,引入网络仿真技术实现网络实验,能够有效提高教学效果,有利于学生创新能力和实践能力培养。

关键词:网络仿真;NS2;计算机网络课程

计算机网络课程在计算机专业的教学体系中占有重要地位,并逐步被引入到其他相关专业的教学体系中。计算机网络课程具有很强的应用性和实践性,实验教学是学生学习课程、深入认识和了解网络体系结构的关键环节。

由于网络技术发展快,产品更新快,网络实验综合性强,实验室建设软硬件投入大,因此,大部分院校很难建设满足复杂需求的网络实验教学环境,直接影响了网络课程的教学质量和教学效果。将网络仿真技术应用于计算机网络课程的实验教学,是解决上述问题的一种有效途径。

1网络仿真平台NS2

网络仿真技术是利用相关的软件,构造网络拓扑结构,模拟网络协议的工作过程,设定网络特征参数对网络性能进行分析和评测的网络虚拟技术。目前应用最为广泛的网络仿真软件是NS2(Network Simulator Ver-slon 2),它是一个开源的免费软件,易于扩展,在学术界广泛使用。

NS2是一个面向对象的、离散事件驱动的网络环境模拟器,它提供了在无线或有线网络上的TCP、路由、多播等多种协议的模拟。NS2使用一整套C++类库,实现了绝大多数常见的网络协议以及链路层的模型。利用这些类的实例,搭建网络实验的模型,可以在单机环境中模拟网络的各个元素,验证网络协议工作原理,自行设计研究新的网络结构与协议。

NS2构建网络教学环境的优势:

(1)实验室建设投入少。基于仿真软件,使用者完全可以在单机环境中模拟复杂网络的各个元素:学校建设和维护实验室时,可基于原有的网络设备,只需极少的资金投入就能为大量的学生提供实用的网络设计与操作环境,并且建好的网络模型可以延续使用,极大地缓解网络实验设备不足等问题。

(2)实验结果演示直观。Nam和Xg raph是NS2自带的动画显示工具与静态数据分析工具,Nam可以将网络拓扑结构和仿真脚本的运行过程以动画的形式生动、形象地显示出来,Xgraph则通过平面坐标图的形式显示运行时获取的数据。这为学生全面、生动地理解抽象的网络协议和原理提供了可能,这也是引入NS2改革实验教学的主要目的。

(3)仿真结果可再现并容易分析。通过配置环境参数可以获得“理想”的网络环境,可以实时跟踪并记录关键节点的重要信息,从而获得关于网络性能评价的第一手资料。可随时再现实验者关心的运行中间环节,这在真实的网络中是难以做到的。

2基于NS2实现计算机网络实验教学的实例

NS2可以演示计算机网络中大多数协议,这里以TCP和UDP数据流的传输实验为例,说明NS2在教学中的应用,实例的拓扑结构如图1所示。

这个网络的环境包含了两个传输节点s1和s2、路由器r和接收端d。s1到r之间与s2到r之间的网络带宽都是2Mbps,传输延迟时间是lOms。网络架构中的带宽瓶颈在r到d之间,带宽为1.7Mbps,传输延迟的时间为20ms。所有链路的队列管理机制都是采用DropTail方式,且r到d之间的最大队列长度是10个数据包的长度。TCP数据包的长度为1Kbytes。

此外,在s2到d之间的固定传输速率的连接(Constant BitRate,CSR),它的传送速度为1Mbps,每个数据包大小为1Kbytes。CBR是在01秒开始传送,在4.5秒结束传输。FTP是在1.0秒开始传送,4.0秒结束传输。

仿真结束后会产生两个文件,一个是out nam,供可视化工具Nam使用。图2是实例仿真过程中随机时刻的截图,图中节点2上方的小方块表示队列中的数据。

另一个文件是out.ir,记录了仿真过程中数据包传送中所有的事件,可以通过数据的分析得到更详细、更准确的信息,或用Xgraph以图表形式显示网络状态,观察仿真结果,图3给出了CSR的端到端延迟。起始阶段,由于只有CBR的数据包。所以端到端的延迟时间都是固定的。在1.0秒后,网络多了FTP的数据包,CBR数据包和FTP数据包互相争夺网络资源,因此端到端的延迟时间变得不再固定;但等到FTP传输结束后,CBR数据包的端到端的延迟时间又恢复为固定值。

上述网络实验实例,说明了如何使用工具(Nam、awk和Xgraph)来实现仿真,并在网络仿真结束后,分析和呈现仿真结果。通过修改脚本中的一些参数,可以调节网络运行效果,如增大节点2的队列大小,则可以看到,节点2的丢包率降低了,但同时增加了队列中包的延迟。从而验证了网络原理课程中关于流量控制、网络拥塞相关原理,使学生深入理解带宽、传输速率、缓存等资源的相互作用与关系;同时,通过学生自行设计网络控制机制,解决网络传输性能,培养他们创新思维、提供动手能力。这充分体现了实验教学和理论教学相互促进、不可分割的规律。

3结论

在计算机网络发展日趋复杂化的今天,计算机网络课程教学不仅要求理论教学内容现代化,对实验教学内容也要逐步现代化。通过不断探索和研究先进的教学思想以及教学方法和手段,改善教学效果、提高教学质量。在此,引入了网络仿真工具NS2作为一种教学辅助手段,是对计算机网络课程教学的一种有益的探索。

下一步工作重点是对NS2进行二次开发,进一步完善和细化仿真实例,构建全面的协议代码库,支撑全面验证网络原理中协议和控制机制相关实验。