NS2网络仿真软件应用于教学中的研究-2019年教育文档

更新时间:2023-11-30 16:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

NS2网络仿真软件应用于教学中的研究

0 引言

随着网络技术的飞速发展,传统的计算机网络教学受到较大的冲击,在教学中引入网络模拟显出了十分的必要性与重要性。计算机网络教学一般可分为理论教学和实验教学两个部分,传统的教学模式存在很突出的问题。首先,计算机网络课程从设计到许多复杂的概念和原理,教学中通常使用幻灯片来教学,无法简单灵活地来展示动态过程。学生在学习中感到枯燥乏味,难以理解,导致渐渐失去兴趣。其次,实验器材比较昂贵,实验室内配备的实验器材数量有限,很难达到较高标准的实验环境,并且实验的时间也是有限的,学生无法充分地理解并且掌握通信技术以及网络工程应用能力,久而久之更加感到无趣。

解决这一难题的有效方法是,在教学中引入网络模拟技术,使用NAM工具,可以清晰地向学生展示网络协议的动态运行过程,提高学生的学习效率,改善教学效果。 1 NS2仿真软件简介

NS2是一款开放源代码的网络模拟原件,由美国加州大学伯克利分校(UC Berkeley)的MASH研究组开发。NS2能够仿真多种网络上的众多协议,这些协议涉及到网络的各个层次[1]。 NS2的本质是一个面向对象的离散事件模拟器[2],所有的仿真都是由离散事件驱动的。NS2采用C++和OTcl两种开发语言

进行开发,底层仿真引擎主要用C++编写,OTcl作为仿真时的命令和配置语言。C++是强制类型的程序设计语言,程序模块运行速度非常快,易实现精确复杂的算法。Otcl是无强制类型的脚本程序编写语言,具有简单、容易实现和修改的特性,可以在不必重新编译的情况下修改仿真参数和仿真过程,两种语言的结合使NS2的仿真效率特别高。

NS2为基于Unix平台的开源免费软件,可以在其官方网站下载。同时也可以在Windows下使用,鉴于多媒体教室以及实验室条件,可以采用Windows+Cygwin+NS2的安装方式。 2 NS2模拟仿真实验管理器

为了方便管理编写后的NAM文件,开发了NS2模拟仿真实验管理器(图1)。该软件以nam-1.0a11a-win32.exe[3]作为插件,以支持对NAM文件的播放。该软件具有添加、删除NAM文件的功能,另外还可以查询常用的脚本代码。它使用简单、方便,是管理NAM与编写脚本的得力助手。 3 NS2应用于教学的优势

⑴ NS2丰富的组件模块。NS2提供了丰富的网络组件,如各种节点、链路延迟、队列管理以及从数据链路层到应用层中的多种协议[4]。课堂使用的仿真过程比较简单,无需对NS进行扩展,因此只需要稍作修改或者编写一个OTcl脚本,就可以达到课堂教学的需求。

⑵ NAM生动形象的动画。有些课程内容比较难以讲述和理

解,但是通过动画方式便简单多了。比如在学习路由协议时,通过NAM动画和Xgraph,帮助学生理解路由的变化情况。NAM可以将网络拓扑结构和仿真脚本的运行过程以动画的形式生动形象地显示出来,Xgraph则通过平面坐标图的形式显示运行时获取的数据。

⑶ 缓解高校建设网络实验室的压力。使用NS2,学生完全可以在单机环境中模拟整个网络的各个元素,学校可基于原有的网络实验设备,只需投入较少的资金就能为大量学生提供实用的网络设计与操作环境,既节约了实验成本,又能得到较好的实验教学效果。

⑷ 学生的知识体系在深度和广度上得到拓展。学生能灵活地掌握自己的实验时间,不受传统真实实验室关闭和开放时间的限制,重点攻克自己的难点;按照自己的进度,自主地选择自己所需要的实验内容。同时,有利于加强对学生自学能力的培养。从而可以开拓学生视野,激发学生实验的兴趣,有助于学生创新思维能力和动手能力的培养。 4 NS2在教学中的应用

NS2的体系结构复杂,对于初学者来说具有很大的困难[1],为了将NS2应用到计算机网络课程的教学中,需要设计合理的教学方案。首先,在授课前,教师编写或者修改NS2仿真的源代码,然后在授课时演示仿真实例,做到深入浅出。为了使得知识更加形象直观地展示给学生,对于仿真中的参数,需要精心设计。其

次,在实验教学中,教师向学生提供NS2的仿真实验脚本,学生通过运行实验脚本,加深对于理论知识的理解,并且建议学生修改脚本中的仿真参数,观察和思考不同环境下的实验结果,最终将知识消化和吸收。对于编程能力较好的同学,教师可以设计一些题目,让学生独立编写仿真脚本代码,这样不仅能加深学生对知识的理解和NS2的掌握,同时培养学生的动手操作能力以及独立思考的能力。

以下给出的是计算机网络中TCP与UDP、静态路由与动态路由、CSMA/CD协议的仿真实例。 4.1 TCP与UDP仿真模拟。

TCP包含了复杂的机制,是计算机网络教学的一个难点[5]。为了便于理解,设计了TCP与UDP的对比实验。在进行TCP与UDP模拟实验时,首先建立一个网络拓扑结构图,如图2所示。 该网络环境包含了两个传输节点0和1,路由器2和数据接收端3。节点0到节点2之间与节点1到节点2之间的网络带宽都为2Mbps,传递延迟时间为10ms。网络结构中带宽瓶颈都是在节点2和节点3之间,瓶颈为1.7Mpbs,传递延迟时间为20ms。而且所有的队列模式都是DropTail,在节点2和节点3之间的最大队列长度是10个包。在节点0和节点3之间会有一条FTP联机,FTP使用的传输层协议是TCP。节点0上使用TCP代理,而节点1上使用UDP代理。目的节点3使用TCPsink代理来接收TCP数据,并返回ACK数据包。 在本仿真实例中,0.1秒

时,节点1开始向节点3发送CBR数据流(速率恒定数据流),图3为NAM动画的截图,图中连线为链路,线上方的流动的图形为数据包,在NAM动画中可以控制动画的播放速度,可以清晰的看到CBR数据流的恒定发送情况。

UDP为面向无连接的,因此,节点3没有向节点1返回确认包。1.0秒时,节点0开始向节点3发送FTP数据包,图4为NAM动画的截图,TCP为面向连接的可靠传输协议,图中连线下方的竖线便是节点3返回节点0的确认包。初始拥塞窗口大小设置为1,随着时间的推进,节点0收到节点3返回的确认包,在TCP协议的控制下,发送窗口的大小成倍增加,当拥塞窗口增加到一定程度时,节点2出现丢包现象(图4中节点2下方的方块即为丢弃的数据包),节点3返回的确认包少于节点0发送的数据包,节点0将重传丢失的数据包,并且减小发送窗口的大小。在NAM动画中,可以观察到节点2丢失的数据包中也包含CBR的数据包,由于UDP是面向无连接的,节点1并不知道丢失了数据包,依然继续发送CBR数据流。在本仿真实例中,学生可以直观地观察到TCP的拥塞控制、TCP慢启动以及TCP与UDP鲜明的对比,轻松而愉快地掌握了原本枯燥乏味的协议理论知识。 4.2 静态路由与动态路由仿真模拟

路由协议是学生学习中的重点,其概念抽象,同时也是一个难点[6]。NS2提供了对Dijkstra、静态路由、动态路由、组播路由等多中路由协议的支持,因此设计了动态路由与静态路由的

本文来源:https://www.bwwdw.com/article/0qdt.html

Top