《网络技术基础》虚拟实验系统的设计与实现*
2014-07-31张家华吴盈盈
张家华+吴盈盈
摘 要:针对网络技术基础课程的实验教学需求,结合软件工程的开发思路,文章设计了一个简单易用的虚拟实验系统。使用Flash软件作为主要编程开发工具,实现了虚拟配置的代码自动判断和自动纠错功能,较好地仿真了实验环境和操作过程。经师生的初步试用,能够有效地解决原有的教学问题,在一定程度上改进了实验教学效果。
关键词:网络技术;虚拟实验;Flash;虚拟现实;模拟配置
中图分类号:G434文献标志码:A 文章编号:1673-8454(2014)10-0078-03
一、引言
计算机网络技术是高校计算机及相关专业的一门实践性很强的课程。然而由于一些实验项目受到场地、设备和时间多方面因素的限制,目前网络技术实验过程中还存在一些问题。不少学生反映实验时间不足,在规定时间内难以完成预期的实验任务;学生对一些实践操作掌握情况不佳,一旦离开实验室则会缺乏特定设备或实验环境而无法自行练习。因此,不少高校使用某些网络模拟软件来辅助实验教学,[1][2]但这些软件通常仅适用于特定品牌的硬件设备,与学校实际购置的实验设备可能并不一致,学生在进行配置操作时会存在一些差异。此外,对于非计算机专业的学生而言,这些软件也显得有些复杂。
为了创建简单实用的实验环境,可以尝试借助某些模拟配置软件或第三方编程工具,对网络技术常见实验项目进行仿真,在计算机桌面上实现可自由练习操作的虚拟实验配置,以促进实验教学的有效开展,克服因客观原因对实际教学造成的不利影响。
二、虚拟实验的实现手段
网络技术虚拟实验实现手段大体上可分为两种,一种是基于已有的模拟软件设计虚拟实验,另一种是开发者利用第三方编程工具自行设计开发虚拟实验。目前国外一些培训机构和网络设备提供商提供了各种模拟配置软件,可支持全仿真的命令,能较好地模拟常见网络设备的配置操作。其中典型的模拟软件包括Boson Netsim、Network Simulator、Packet Tracer和Dynamips。Boson Netsim模拟软件自带多个实验拓扑,其界面为用户提供了一种操作真实路由器的体验,此外还附带了一个Network Designer,为用户提供可视化的实验环境。Network Simulator 是一款开源、免费且广泛使用的软件模拟平台,使用它可以很容易进行网络技术的开发,但它对初学者来说比较难于掌握,需要较长时间的学习。Packet Tracer是思科公司针对CCNA认证开发的一款可用于设计、配置和排除故障网络的模拟软件,具有逼真的操作界面,用户可以自由选择路由器、交换机、计算机和各种线缆并对其进行配置,适用于学习网络基础知识的新手。Dynamips也是思科公司一款用于模拟路由器的仿真软件,可以测试和实验Cisco IOS操作系统中的许多功能和特性,它适于作为思科网络实验室管理人员的辅助工具,同时也广泛用于CCNA/CCNP/CCIE考试的辅助工具。
除了以上常见网络实验模拟软件以外,开发者也可使用第三方编程工具设计虚拟实验。这类工具主要包括Flash、ActiveX、Java以及VRML等软件或技术。[3]国内一些高校针对计算机网络课程的基础实验开发了若干虚拟实验系统。例如,孙燕莲和文福安(2009)利用Java开发了在线计算机网络虚拟实验系统,能提供与真实实验相同的虚拟设备和操作环境,并支持对网上实验的管理,方便高校在网上构建虚拟实验平台。[4]项慨(2006)结合各种虚拟现实技术,使用VRML、Java和JavaScript技术设计了一种基于B/S模式的网络虚拟实验系统,实现了网络技术课程中的典型实验“路由器配置”。[5]陈小红(2010)在教育技术学本科专业课程《网络基础》实验教学需求的基础上,设计开发了基于Packet Tracer的虚拟实验系统,实现了简单组网实验、路由器和交换机的基本配置实验等虚拟实践项目。[6]
三、虚拟实验系统的设计
在我校教育技术专业开设的《网络技术基础》课程的以往实验中,由于学生操作不够熟练,容易导致设备受损或不能按时完成实验任务,而学生一旦离开实验室就难以自行练习巩固,从而影响了实验教学效果。因此,开发一个简单易用的虚拟实验系统具有必要性和迫切性。本虚拟实验系统选取了该课程中的几个常见实验项目。
实验室及其拓扑结构:主要用于展示网络实验室的硬件设备及连接方式,便于学生熟悉和理解网络实验室的设备特性及其拓扑结构,为后续实验项目打下基础。
操作系统安装与备份:由于该实验具有一定的风险,学生若误操作会导致系统数据丢失,因此可以预先通过虚拟实验模拟操作,以熟悉和掌握正确的操作步骤和技巧。
小型局域网的组建:包括网线制作、设备互联、局域网资源共享及无线局域网配置。
交换机的基本配置:包括VLAN创建与路由、端口聚合和安全配置等常用操作。
路由器的基本配置:包括静态路由、动态路由、ACL和NAT配置等常用操作。
在以上各个实验项目中,除“操作系统安装与备份”项目以外,均对实验设备和场地有特定的要求。而虚拟实验则有助于缓解和克服相应的局限,并能有效降低设备的损毁率。
四、虚拟实验系统的开发
1.选择开发工具
考虑到开发技术难度及实际教学需求,选取Flash作为主要编程开发工具,并借鉴软件工程的方法来开发虚拟实验系统。该软件对于师生而言较为熟悉且容易掌握,产品开发的周期也相对较短。一方面,可以借助Flash的一些优势如生动形象的动画效果来逼真演示某些实验设备特性及其连接方式,以便于学生仔细观察和模仿操作;另一方面,也可以借助Flash强大的交互功能,设计支持学生与计算机通过交互模拟设备的配置过程,在一定程度上提高实验效率和效果。
2.快速原型化开发
在正式开发虚拟实验系统之前,需要选取部分实验项目进行原型化开发,以期更早地发现开发过程中可能出现的问题,并有助于整体上缩短软件系统的开发周期。针对交换机基本配置实验,选取了“配置SVI实现VLAN间路由”这一子实验,使用Flash编程初步实现该子实验的虚拟配置,经测试修改能较好地模拟实际操作过程,并具备一定的错误识别功能。此外,结合实际教学需要对已有的实验手册进行修订,并以此作为虚拟实验的开发蓝本。针对历年实验教学中遇到的常见问题和解决方法,也将在虚拟实验系统中加以体现。
3.系统开发关键问题
(1)代码自动判断
以“交换机基本配置”为例,将设备配置过程中的关键代码按顺序存储到规则库中,并将用户输入的命令内容转化成字符串并进入验证函数。通过比对规则库中的关键代码,判断用户输入代码的合理性。通过缩写词自动判断函数,支持配置命令中系统关键字的简写识别,例如configure terminal命令只需用户正确输入以上两个单词的前三位字母即可识别并能自动补全命令代码。此外,利用空格函数实现对用户输入代码过程中多余空格的自动处理,当用户输入的代码经过判断正确无误后,自动显示下一行命令模式以及等待输入的光标。
(2)代码自动纠错
在用户配置设备的过程中,若输入的命令包含不正确代码,将由错误验证函数进行处理,并提示代码出错的可能位置。若用户针对同一行代码连续三次输入错误,系统将给出正确命令提示。若用户第四次输入仍然出错,则会终止本实验子项目的配置过程,要求用户仔细阅读实验手册后再次尝试配置。此外,在用户配置本地连接的IP地址、子网掩码和网关信息的过程中,若用户输入的参数超出范围,也会实现自动报错。
4.操作界面仿真
本实验系统在细节方面对实验环境和操作步骤进行了模拟和仿真,力求和真实实验过程相似或一致,如图1所示。在“交换机基本配置”实验项目中,通过模拟Web管理界面和Telnet命令窗口为学生提供全仿真的实验环境;在“实验室及其拓扑结构”项目中,不仅有实验设备的静态照片,还借鉴了Flash 3D技术对实验设备进行三维展示,[7]以方便学生对其进行全方位的细致观察。在配置设备的过程中,通过实时获取用户当前系统环境的相关参数(如系统时间、IP地址),并在虚拟环境中得以一致的体现,以增强虚拟实验环境的逼真性。
五、系统试用效果
一些研究表明,虚拟实验能够有效弥补真实实验的不足。[8][9]本虚拟实验系统经过一个学期的开发,并进行了多次测试和修改,最终用于《网络技术基础》课程的实验教学。该系统除了包含各个功能模块相应的swf文件以外,还提供了较为详细的软件说明和使用帮助。经过师生的初步试用,总体上效果良好。尤其是针对那些耗时较长、易损设备、过程复杂的实验项目,该系统成为学生课前预习和课后巩固的有益工具,有效地缓解和克服了原有实验教学中存在的场地、设备和时间等方面的局限,保障了各个实验项目预期目标的顺利达成。
参考文献:
[1]李海龙,徐东辉,李卉.基于Boson Netsim 的网络工程虚拟实验[J].高校实验室工作研究,2012,111(1):40-41.
[2]农坚.基于Packet Tracer搭建网络工程虚拟实验环境[J].教育教学论坛,2010(33):128-129.
[3]杨章伟,江峰,张婉婉.计算机网络虚拟实验环境的研究与实现[J].萍乡高等专科学校学报,2011,28(3):46-50.
[4]孙燕莲,文福安.虚拟实验教学的探索与实践[J].现代教育技术,2009,13(4):131-132.
[5]项慨.基于网络的虚拟实验系统的研究[D].武汉:华中师范大学,2006.
[6]陈小红.基于仿真软件的虚拟实验设计与应用[D].上海:上海师范大学,2010.
[7]徐妲,钟绍春,马相春.基于Flash 3D技术的小学立体几何教学平台的设计与实现[J].现代教育技术,2013,23(4):119-124.
[8]丁美荣.虚拟实验与真实实验整合的计算机网络研究性实验教学探究[J].实验技术与管理,2011,28(5):163-166.
[9]王姣,张学军.虚拟实验与真实实验的比较研究——以“网络基础及应用”实验教学为例[J].中国远程教育,2013(9):78-82.
(编辑:鲁利瑞)