浅谈ns2仿真平台在计算机网络实验教学中的应用

浅谈ns2仿真平台在计算机网络实验教学中的应用

ID:10170923

大小:35.50 KB

页数:12页

时间:2018-06-12

浅谈ns2仿真平台在计算机网络实验教学中的应用_第1页
浅谈ns2仿真平台在计算机网络实验教学中的应用_第2页
浅谈ns2仿真平台在计算机网络实验教学中的应用_第3页
浅谈ns2仿真平台在计算机网络实验教学中的应用_第4页
浅谈ns2仿真平台在计算机网络实验教学中的应用_第5页
资源描述:

《浅谈ns2仿真平台在计算机网络实验教学中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、浅谈NS2仿真平台在计算机网络实验教学中的应用摘要:由于计算机网络实验设备存在价格昂贵、维护困难等特点,高校计算机网络教学多偏重理论知识传授而忽视实验训练,因而影响了学生的学习兴趣及学习效果。针对这一情况,探索如何利用开源的计算机网络仿真平台NS2来辅助实验教学,改善课程的实验教学效果。具体来讲,利用Eclipse开发工具赋予NS2平台灵活的代码跟踪能力,从而帮助学生通过代码层次的单步跟踪、跳转等仿真控制来深入理解计算机网络协议的具体工作流程,提高实验教学效果。关键词:计算机网络;NS2仿真;代码跟踪;代码调试中图分类号:TP39

2、3;G642作为信息类学科的骨干课程,计算机网络涉及到计算机软件、硬件及通信类等多学科的综合知识,具有概念多、应用性强、实践需求高等显著特点。在当前社会普遍强调学生实践能力的背景下,如何有效培养学生的实际动手能力已成为计算机网络课程的重点任务。然而,由于计算机网络实验设备相对昂贵,维护费用也比较高,学校往往无力给学生们提供充足的实验条件。因此,学生们也无法深入了解其计算机网络的具体工作原理,极大影响了课程的学习效果。12针对这一现状,有些教师试图用从教学模式创新[1]、实验内容改革[2-3]等角度来减轻课程对实验的依赖程度,以强化

3、的理论学习来部分取代实验操作;而有些教师则倾向采用所谓“网络硬件软件化”的方案[4-11]。该类方案大多采用自制[4]或者已有软件平台[5-12]来模拟计算机网络的硬件运作,以帮助学生在硬件实验条件不充分的情况下深入了解、掌握计算机网络的相关概念、运行原理。方案[4]利用C++面向对象特性设计了一个独立的OSLite开放式软件实验环境,能够在普通PC上实现一些小规模的网络实验。然而,受限设计水平及计算机网络的复杂度,自制平台往往功能薄弱、维护难度大,不适用于面向学生的实验教学。因此,目前大部分的”网络硬件软件化“方案多采用较为成熟

4、的已有平台。这些平台包括协议分析中常用的Wireshark[5]、PacketTracer[6]等软件,以及包括OPNET[7]、Netsim[8]、NS2[9-12]等协议仿真平台。前一类方案虽能通过Wireshark等软件捕捉真实的网络数据包,却只能根据这些数据包静态地分析计算机网络的协议层次及架构,不能很好地观察网络的动态交互性;而后一类方案不仅能通过NS2等软件平台模拟产生近乎真实的各层数据[9-11],还能利用软件的附加工具观察拥塞控制等协议在不同网络实体之间的互动情况[12],具有很强的灵活性与可控性,便于学生观察学习

5、。12遗憾的是,后一类方案的研究大多停留在NS2工作原理介绍或者基于NS2的课程实验内容设计等方面,而鲜有研究考虑NS2平台与计算机课程教学方法的具体结合。为此,本文先分析NS2平台的特点,发现原始NS2平台仅能够控制或者呈现网络协议在不同网络实体间的互动,却无法从源代码层次上控制或者呈现协议在同一实体不同协议层次间的交互。而后者,恰恰能直观地帮助学生们理解计算机网络协议分层的原因及具体动作流程。基于这一不足,本文通过重置原始NS2平台的编译、调试功能,并结合Eclipse出色的代码阅读、调试控制等功能来赋予NS2平台灵活的代码跟

6、踪能力,从而辅助学生从源代码层次来理解计算机网络协议的具体工作流程,提高计算机网络实验的教学效果。1方案设计1.1NS2仿真平台NS2全名为NetworkSimulatorversion122,是一种面向计算机网络仿真的开源软件平台。其模块化、灵活配置等特性能及时融合研究人员所提出的各类创新,深受科学研究人员的喜爱;同时它也被教育界当成一种有效的辅助教学方式,广泛应用在计算机网络类课程的教学过程中[12]。与计算机网络高度模块化、灵活配置性等特点相适应,NS2采用了一种混合编程架构来兼顾计算机网络协议的仿真性能与可配置性。如图1所

7、示,它使用面向对象的编译型语言C++以及脚本型语言OTCL作为开发语言,并提出了一种TCLCL机制来融合两类语言。从性能考虑出发,C++多被用来编写承担较多数据处理功能的网络组件,如MAC协议、路由协议等;而从便捷配置的角度出发,OTCL语言则被用于描述网络仿真的场景以及一些简单的网络组件。图1NS2系统框架从内部运行原理来看,NS2是一种事件驱动型的离散事件模拟器,包含C++仿真事件调度器、C++网络组件对象库等。其核心处理任务是按时间顺序调度所有事件,即执行事件所对应的代码处理流程并记录事件发生、完成时间等。而从对外接口来看,

8、NS可理解为Otcl脚本解释器,负责从用户仿真文件中依顺序读取相应脚本指令,并调用解释器进行解释。用户脚本中的指令是驱动NS2运转的源动力,而NS2中执行的每一个事件也可能自动引发下一个事件的发生,如发送节点的数据发送事件必然会引发接收节点相对应的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。