APP下载

计算机网络实验综合模拟平台的研发

2009-03-17炎炎周志伟

计算机教育 2009年3期
关键词:网络教学

王 波 孙 炎炎 周志伟

文章编号:1672-5913(2009)02-0085-04

摘 要:本文介绍了我院在对国际主流网络模拟软件进行分析和优选的基础上,基于NS2网络模拟软件,从功能完整性、操作便捷性出发,设计实现了一个包含网络协议工作原理动态演示、网络建模及设计方案性能测试等功能的网络实验教学综合性模拟平台。经教学试用,效果良好。

关键词:网络实验;网络模拟;网络教学;网络协议;NS2

中图分类号:G642

文献标识码:B

1 引言

目前网络原理和网络设计等课程及其实验课已经成为计算机专业和通信、自动化、光电等专业的必修基础课程。由于这些课的基本概念、技术涉及到大量抽象的理论知识和网络协议,许多初学者感到抽象难懂。同时,受有限的资金和网络条件的限制,在实验室构建大规模的实验平台比较昂贵,即便在实验平台方面有投入也有很大的局限性。例如,重新配置或共享资源很难、运用不灵活、规模很难做到很大、不能实现真实网络中的多种通信流量和拓扑的融合、受控条件下的重复实验会很困难等。更何况,大多数高校对动辄几十万、上百万的网络实验室经费负担不起。

计算机网络的实验方法,包括基于现实网络环境的和网络模拟的两种。文献[1]中提出了一种基于现实网络的实验平台设计方案,其中包括设计出研究所需要的合理硬件和软件配置环境,建立测试床和实验室,在现实网络上实现对网络协议、行为及性能的研究。这种方法的局限性在于成本较高,重新配置或共享资源较难,运用不灵活,实验床的规模很难做到很大,不能实现网络中多种通信流量和拓扑的融合。利用网络模拟软件所进行的网络实验在很大程度上可以弥补上述方法的不足。网络模拟方法可以根据需要建立相应的网络模型,用相对很少的时间和费用获取网络在不同条件下的各种特性,得到网络的丰富有效的数据。网络模拟无疑提供了一种方便、高效的验证与分析的方法。目前国内有一些高校对网络实验模拟软件在教学中的应用进行了研究,这些研究主要集中于如何使用NS2(Network Simulator)网络模拟软件,并没有考虑网络模拟软件存在的平台界面友好性差、网络建模复杂而繁琐以及功能单一等问题。

笔者优选网络模拟软件,从功能完善性、操作方便性以及界面友好性出发设计并实现了一个综合性的网络实验模拟平台。

2 开发工具的优选

2.1 网络模拟工具的优选

在商业和研究领域,目前能够找到的、可利用的网络模拟工具主要有以下几种:GlomoSim,JavaSim,NS2,SSFNet以及OPNET(Optimized Network Engineering Tool)。这些模拟工具主要是用作网络的建模、模拟、数据采集以及分析不同版本的网络产品、协议和系统架构。在以上所列的几种工具中,商业应用的OPNET和研究使用的开源软件NS2使用最为广泛。

NS2由于其开源性使其在研究领域受到广泛关注,而OPNET则由于其强大的功能在商业领域获得了成功,都不失为优秀的网络模拟工具。表1是NS2与OPNET优缺点的简单比较。

如表1所示,NS2在获取渠道、可扩展性以及模拟演示等方面均优于OPNET,而这些方面正是在教育科研环境中对网络模拟工具所要强调的。因此,NS2是众多国内外高校、科研机构网络模拟研究的首选工具,研究使用它的人数众多。综上所述,我们选用NS2作为平台的网络模拟工具。

2.2 网络建模工具的优选

目前能够与NS2结合使用的建模工具有NSBench与NSG2,这两个建模工具独立于NS2,均由JAVA开发,移植性与可视化操作好。它们能够根据用户设计的网络场景自动生成NS2可以执行的TCL(Toolkit Command Language)脚本。这就使用户从重复、繁琐的编写代码的工作中解放出来,从而可以节省时间以集中研究网络性能优化问题。

虽然这两个工具都为脚本自动生成工具,但他们之间仍然存在以下区别:

(1) GUI的友好性。NSG2比NSBench的界面更加美观,学生操作起来更方便,更容易上手。NSG2在学生的工作区域添加了网格线以及实现了缩放功能,利用NSG2设计出来的网络模型整齐规范。

(2) 适用范围的广泛性。NSBench只能对有线网络进行建模,而NSG2在NSBench原有的有线网络建模基础上添加了无线网络的建模,从而扩充了通过工具建模的范围。

(3) 脚本代码的规范性。NSBench自动生成的TCL脚本不够完整,学生需手动添加代码才能保证其在NS2上运行顺利,而NSG2代码格式规范,学生无需修改即可运行。

通过以上比较可以看出NSG2优于NSBench,因此平台选择NSG2作为平台的网络建模工具。虽然NSG2已经比较完善,但是仍然存在英文界面有碍英文不熟练者使用、建模生成脚本与在NS2上实际运行操作不连贯等不足之处,这些问题也需要给予解决。

3 网络实验模拟平台的设计

3.1 平台系统结构

从平台的易用性与功能完整性出发,设计了一个以网络协议动态演示、网络建模与网络测试为主要功能的综合性网络实验模拟平台。图1所示,整个平台主要由“网络协议动态演示”、“网络模拟”、“安装步骤”以及“帮助”四大部分功能组成。其中,“网络协议动态演示”功能主要提供网络协议原理的说明及协议动态演示服务,“网络模拟”功能主要提供网络场景模拟及性能分析服务,“安装步骤”及“帮助”功能主要提供NS2与NSG2的安装讲解及使用帮助。

3.2 网络协议动态演示功能的设计

网络协议动态演示”是本实验平台主要功能模块之一,用于完成协议原理说明以及协议工作过程的动态演示,如图2所示。按照应用层、传输层、网络层和数据链路层对动态演示的协议进行了分类。参照计算机网络教材,对比较重要的网络协议及算法进行了筛选,对选出的协议原理进行文字说明及动态演示,表2列出了平台目前能够进行动态演示的网络协议与算法。

平台从“协议原理”、“演示说明”以及“动态演示”三个方面对每个协议进行了分析与演示。在“协议原理”部分,通过参考大量的RFC标准,方案对每个协议的原理进行了较深入的讲解。为了使用户能对协议的工作过程有一个直观的认识,平台对每一个协议的工作流程都进行了动态演示,同时在动画演示过程中添加了中文实时解说。“演示说明”部分用于静态描述协议动态演示的整个过程,以方便用户对协议动态演示中一些细节部分的理解。

3.3 网络模拟集成环境的设计

平台的另一个主要功能是为使用者提供了一种网络建模与网络测试相结合的集成环境。如图3所示,“网络模拟”功能模块由“网络模拟流程”与“开始场景模拟”两大部分组成。在“网络模拟流程”模块中,本方案结合一个实际的案例对如何使用NSG2及NS2进行网络建模与网络测试进行了详细的讲解。

“开始场景模拟”是“网络模拟”功能模块的核心部分,该模块为用户提供了网络建模与网络测试所需的环境。为了缩短网络模拟测试的整个工作周期,方案设计了一种网络建模与网络测试合二为一的实验环境。用户在利用网络建模工具进行网络建模之后可以直接进入网络测试环境,而不需要再去利用独立的网络模拟软件对所建模型进行测试。

3.4 安装步骤及帮助功能的设计

NS2是在Unix系统上开发的,因此Unix、Linux和类Unix系统是安装NS的最佳平台,当然如果NS2要在Windows平台上运行则需要安装Unix仿真环境cygwin。除此之外,NS2的运行还需要许多软件的支持,例如Tcl、Tk、otcl和Tclcl等软件包。这些安装过程是繁琐且容易出错的,稍有不慎就会导致安装失败,基于此种考虑平台在“安装步骤”模块中对NS2的安装步骤进行了详细的描述。

在“使用帮助”模块中,平台对NS2的基本原理进行了介绍,并提供了大量的帮助文档,为学生进一步学习使用NS2提供了帮助。

4 网络实验模拟平台的实现

4.1 平台框架的实现

利用HTML结合JavaScript语言的方式对网络实验模拟平台进行了开发,最后利用HTMLRunExe工具对整个平台进行了封装,使整个平台成为一个独立的EXE可执行文件,以方便整个平台的管理与移植。

把平台的初始界面划分为三大部分,第一部分是平台主菜单栏,用于提供平台的主要服务,具体包括协议动态演示、网络模拟、安装步骤及帮助这四种服务。平台第二部分是四种主服务所对应的子菜单栏。第三部分用于显示子菜单栏中相应服务所提供的实际内容。

4.2 协议动态演示功能的实现

在协议动态演示部分,平台对“应用层”、“传输层”、“网络层”和“数据链路层”各层包含的协议进行了原理解释与动态演示。为了能够在子菜单栏中对四个层次的协议进行多级显示,平台采用了JavaScript语言对子菜单栏进行了设计,如图4所示。

在“协议动态演示”主界面,平台首先对协议在动态演示中所涉及到的节点含义进行了解释说明。在每个具体协议所包含的“协议原理”部分,平台对协议原理进行了仔细讲解,同时为了满足用户对协议进一步研究的需求,平台提供了每个协议原理所对应的RFC标准。在“演示说明”部分,平台对每个协议原理动态演示过程进行了静态描述,同时还对演示中需要注意的事项进行了说明。

在“动态演示”部分,为了实现协议原理的动态演示,采用TCL脚本语言描述相关协议原理的工作工程,利用NS2自带的动画演示工具NAM对协议进行动态演示,并对每个协议的演示过程进行录制。如图5所示,为了解决NAM不支持中文同步解释说明的问题,方案使用Flash工具对录制的视频文件进行了二次处理,通过修改NAM下方的注释部分为协议动态演示过程提供实时的中文解释功能。

4.3 网络模拟集成环境的实现

在“网络模拟”服务中,平台主要为用户提供了网络建模与网络测试两个功能。为了减轻用户在网络模拟过程中的工作量,优选了NSG2作为平台的网络建模工具,NSG2不仅为用户提供了图形化的操作界面,同时支持TCL脚本的自动生成。为了使用户更易于操作NSG2,对NSG2进行了整体汉化。

为了给用户提供一个网络建模与网络测试相结合的网络模拟平台,对NSG2进行了二次开发,通过定义“仿真工具”功能菜单,实现了NSG2与Cygwin的结合。如图6所示,用户在利用NSG2建模完毕后,可以直接点击NSG2的“仿真工具”菜单,进入NS2模环境进行网络模拟。

5 结束语

友好的操作界面、丰富的功能使得本网络实验模拟平台在实际教学中得到了学生较好的评价。具有中文同步解说功能的网络协议动态演示不仅使学生更容易理解网络协议的原理,还提升了学生的学习兴趣。包含NSG2与NS2的网络建模与测试集成环境使学生能从繁琐的编码中解脱出来,集中精力进行网络本身的性能分析与优化,从而达到事半功倍的效果。

进行网络实验模拟教学,解决了过去因为实验设备不足仅靠教师进行理论教学的窘态,带给学生各种“真实”的网络环境,调动了学习积极性,使学习过程和学习方式

更具主动性,加深了对概念和知识的理解,又优化了教学过程。该网络实验模拟平台只需在普通PC机上即可实现,大大降低网络实验室的建设成本。

面对我国高校中设置最多的专业——计算机专业,以及大量的IT类专业,构建虚拟的网络实验教学环境,使现实网络实验与网络模拟实验相结合,从而最大程度地满足计算机网络类课程的校园实验教学和远程教育虚拟实验教学的需求。

参考文献:

[1] 张新有. 网络工程实验环境建设探讨[J]. 计算机教育,2006,(1):20-22.

[2] 徐雷鸣,庞博等. NS与网络模拟[M]. 北京:人民邮电出版社,2003.

猜你喜欢

网络教学
基于网络教学整合中的本科工商管理专业人才培养分析
浅谈高中信息技术网络教学的模式和特点
基于网络学习平台大学英语网上导学设计初探
如何利用信息技术促进化学实验教学
大数据时代的网络思想政治教育
基于网络教学平台的初中信息技术课堂教学分析
利用网络教学多样性 开展有效教学
计算机公共课的教学环节设置小议
高职院校开展基于云平台网络教学的探索与思考
基于移动学习的自动问答系统设计