计算机网络在线虚拟仿真与实验评价 管理相结合探讨
2019-12-30刘桂开刘江涛
刘桂开 刘江涛
摘 要:网络设备互连是计算机网络知识体系的重要组成部分,且具有非常强的实践性,需要大量的组网实验来训练学生的动手能力。网络仿真软件的出现使组网实验的进行变得相对容易,但是它们都不是专门的实验教学平台,不具备教学所需的各个环节。针对教师需要对实验过程进行管理,并对实验完成情况进行评价,探讨将网络仿真软件的优势与对实验的管理、评价结合起来,构建一个在线的计算机网络虚拟仿真实验教学平台,在教师的统一管理下完成所要求的各项实验任务,让在线网络虚拟仿真成为计算机网络实验室的有效补充与延伸。
关键词:网络设备互连;组网实验;在线虚拟仿真;实验管理;实验评价
中图分类号:TP393 文献标准码:A 文章编号:1673-8454(2019)24-0029-05
一、引言
针对计算机网络知识体系,学习计算机网络首先要学习的是计算机网络的体系结构,包括各层协议及其构件所应完成的相应功能。然后是各层协议功能的具体实现,完成遵循所定义体系结构的硬件或软件,如路由器、交换机等网络设备以及主机操作系统TCP/IP协议栈的实现等。不过,学习的时候并不需要实现每个层次的功能,只需通过系统调用和应用编程接口,得到操作系统的服务来完成跨越网络的通信,重点在于理解计算机网络协议功能的具体实现与应用过程。有了具备通信功能的网络设备和主机,如何将它们互连起来构建成一个互联网络,也是计算机网络知识体系中一个非常重要的组成部分。构建网络实践性非常强,在开设理论课的同时,还必须配备大量的组网实验来培养学生的实际动手能力。为此,许多高校都建立了计算机网络实验室,以确保教学工作的正常进行。然而,网络实验室的发展受到诸多因素的制约,如设备更新换代快、投资成本高、设备容易损坏等,有可能使建立不久的实验室很快变得资源短缺,从而无法满足人才培养的要求。另外,实验的开设还会受到场地和时间的限制,既不利于实验室的充分利用,也不利于学生的自主学习。
网络仿真软件的出现使组网实验的进行变得相对容易[1],可用于计算机网络组建的仿真软件有Packet Tracer、Dynamips、GNS3、NetSim、eNSP等,其中前四种支持思科(Cisco)设备,最后一种支持华为设备。学生将网络仿真软件安装在自己的电脑上,随时随地都可以进行实验,不会受到场地和时间的限制,可以充分发挥个人主观能动性,激发学习兴趣。网络仿真软件也不存在设备更新、投资成本的问题,对计算机网络教学起到了很好的辅助作用。不过,它们都不是专门为教学而开发的,因而并不具备教学所需的诸多环节。例如,教学需要所有学生都参与,并不是针对某一个学生,由于网络仿真软件是单机环境,学生是否使用网络仿真软件进行了组网实验教师并不知情。只有对教学进行管理才能确保每个学生都参与到教学活动之中。另外,使用网络仿真软件做实验,教师也需要关注实验效果。一方面,教师需要了解学生的实验情况来制定或调整后续的教学计划;另一方面,教师需要对学生所做实验形成比较客观准确的判断,并给定考核意见或等级[2]。此外,如果教师与学生之间能够及时进行交流,就某些问题进行探讨,就会达到更好的教学效果。
现代信息技术发展迅速,有基础将网络仿真软件的优势与教学管理结合起来,构建一个在线的计算机网络虚拟仿真实验教学平台,在教师的统一管理下完成所要求的各项教学任务,并充分发挥网络在信息传递方面所具有的优势,实现教师和学生之间随时随地的沟通交流、答疑解惑[3]。本文将探讨计算机网络实验教学与现代信息技术紧密结合,利用虛拟化技术实现服务器资源的合理化应用,将网络仿真软件由单机环境扩展到网络环境,并完成实验教学的管理功能,让在线网络虚拟仿真成为计算机网络实验室的有效补充与延伸。
二、在线实验平台总体设计
平台架构由两大功能模块组成,即在线组网虚拟仿真部分和实验教学管理部分。在线组网虚拟仿真部分是平台的主体功能模块,基于已有仿真软件构建出虚拟的网络设备和网络环境,用户可以通过互联网进行远程操作,完成相应的组网实验。实验教学管理部分是进行在线组网实验的辅助功能模块,可以在线发布实验任务,对实验进程进行监管,对实验结果进行评价,并支持在线交流。
网络仿真软件是网络方面的虚拟化技术产品,支持思科设备模拟的仿真软件比较多,有从硬件层面模拟的如Dynamips,也有从软件层面模拟的如Packet Tacer等,相比之下各有优势。Packet Tracer图形化界面友好,因而易于操作。Dynamips是法国UTC(University of Technology of Compiegne)大学Christophe Fillot开发的一个基于虚拟化技术的模拟器(Emulator),用于模拟思科的网络设备。Dynamips图形化效果不是很好,不太易于操作,它的优势在于可以模拟出更接近真实网络设备的效果,且几乎支持所有的思科IOS(Internetwork Operating System),IOS是思科网络设备的操作系统。在线虚拟仿真用户将通过互联网利用基于Applet的Telnet技术远程操作所模拟的网络设备,且不再使用网络仿真软件原有的用户界面,在平台开发过程中,通过使用HTML5 Canvas的jTopo框架技术提供图形化的用户界面和实现网络拓扑图的呈现[4][5],完全可以弥补Dynamips在图形化界面方面的不足,因此,选择Dynamips更能满足在线组网虚拟仿真平台的开发需求,可以充分利用其在网络设备模拟方面的优势。
平台层次总体上遵循B/S的三层架构,即表示层、业务逻辑层和数据层。表示层通过浏览器为用户提供应用程序的访问与响应,包括接受用户请求、返回数据等功能。业务逻辑层的主要构件是Dynamips服务器和Web服务器,负责对数据层进行操作。数据层就是一个数据库[6],为业务逻辑层和表示层提供数据服务,包括用户信息、网络资源、教学管理、实验操作等方面的数据,其中用户主要包括学生、教师和管理员。平台的总体设计如图1所示。
三、在线虚拟仿真功能
在线组网虚拟仿真功能模块主要由以下步骤完成:①教师或管理员用户对需要使用的网络设备进行注册登记,并配置好已注册设备的各项基本参数;②由Dynamips仿真服务器虚拟出网络设备如路由器、PC机等;③所需设备配置完成后,用户可以向Web服务器发起设备信息请求,增加位置数据并互连设备后,即可生成网络拓扑图,期间可对拓扑图进行调整,使其达到理想的呈现状态。④用户对拓扑图中的设备进行配置,完成相应的组网实验。
总的来说,就是要将实验参数传递给Dynamips服务器,由Dynamips服务器完成组网实验。不同之处在于,单机环境下是本地直接配置参数,现在是需要通过互联网络传递参数。参数的传递可以分为两个阶段:生成设备、把设备按要求通过链路连接起来,并呈现网络拓扑结构是参数传递的第一阶段;第二阶段是需要传递对每台网络设备进行参数配置,通过配置让设备之间能够通信、传递数据。
设备注册是生成需要使用的网络设备的过程,通过提供设备生成及互连所需的相关信息,如设备的类型、插槽板卡类型、IOS路径等,由Dynamips服务器虚拟出相应的设备,如Cisco7200路由器、Cisco3640路由器等。不过,这些设备信息首先是存放在数据库中,在进行实验的时候才会将它们传递给Dynamips服务器并生成设备。对已经注册的设备,用户可以选择使用,例如Cisco7200路由器已经注册,用户就可以选择互连两台Cisco7200路由器进行实验。
网络拓扑结构的呈现是基于HTML5 Canvas的jTopo技术,为了合理安排设备在画布上出现的位置,避免出现错乱、重叠等问题,首先对设备的布局进行设计。当网络规模较小时,可以考虑采用单环布局的方式。当圆心坐标为O(X0,Y0)、半径为R0、设备个数为count时,第i个设备的位置可以由坐标Ri(Xi,Yi)来确定,其中Xi=X0+R0cos(2πi/count),Yi=Y0+R0sin(2πi/count),如图2所示。
当网络规模较大时,可以采用双环布局或多环布局,计算方法类似,只是需要考虑主干网、子网之间的相互关系,还有环与环之间的距离等因素。有了设备的位置数据,加上读取存储在数据库中所需的网络结点及连线数据,接下来借助XML转发工具JAR包将所有获得的數据转换为XML文件格式类型,并通过JavaScript读取XML文件并解析为JSON格式,将设备结点和连线呈现在所创建HTML5 Canvas画布上,得到网络的拓扑结构图。
网络拓扑图形成以后,下一步就可以对网络中的设备进行配置,实现设备之间的通信。对Dynamips服务器虚拟出来的设备进行配置,操作起来跟操作真实设备是类似的,通常通过操作系统自带的Telnet就可以远程访问Dynamips虚拟出的设备。但是,不同的操作系统对Telnet的支持不尽相同,有时用户使用起来不一定很方便。为此,对远程登录虚拟设备进行了改进,使用基于Applet的Telnet来实现与虚拟设备的远程交互[7] [8]。在安装JRE插件后,就可以直接在浏览器上运行,用户使用起来非常方便。
四、实验教学管理功能
在线组网虚拟仿真功能实现以后,需要将其纳入到实验教学的范畴之内,才能成为教学活动的组成部分。在仿真软件上实现思科虚拟设备互连是相对独立的学生个人行为,并不需要教师的介入,而教学活动是教与学的结合,教师和学生都是教学活动的主体,缺少任何一方都不能顺利完成相应的教学任务。因此,只有将在线组网虚拟仿真功能、教师和学生三者统一起来,才能实现计算机网络组网实验的教学,这就是实验教学管理需要完成的工作。
实验教学管理需要完成如下一些功能:①用户管理:教师和学生都是在线虚拟组网实验教学平台的用户,只有登录到平台后才能担当各自在实验教学工作中的角色,如教师发布实验任务、学生申请实验等。②教学资源管理:教师对需要完成的实验发布任务书、实验操作指导书,学生完成实验以后需要提交实验报告。学生可以与教师交流,反馈意见或对实验操作进行讨论。③实验申请管理:学生收到教师发布的实验任务书后,可以灵活安排实验时间,申请在某个时间完成规定的实验。平台将根据系统资源的申请情况反馈是否可以申请成功,如果剩下的资源不够使用,学生需要申请其他时段进行实验。④实验操作管理:提供实验操作入口,执行在线虚拟组网功能,如对实验进行参数配置、对配置情况进行检验等,完成组网实验的一系列操作。⑤成绩管理:学生完成实验、提交实验报告后,教师需要对学生所做实验进行评价,给出评价等级或成绩。学生可以查询自己的成绩。
在平台安全上,通过设定不同的用户权限,限定用户只能在所允许的范围内实施操作;采用了多服务器机制,某一台服务器出现故障不会影响平台的正常访问。平台开发采用的是MVC(Model View Controller)模式,模块之间的关系相对独立,具有较低的耦合度,对平台进行调整或扩展都相对容易。
五、在线虚拟仿真实验平台的实现
1.平台实现环境
从总体设计来说,平台是B/S架构,对客户端环境没有特别的要求,只需JRE6.0以上,Chrome、IE9+、Opera、Firefox都可以作为客户端的浏览器,对操作系统也没有限制。服务器环境较为复杂一些,需要搭建三个服务器,即Dynamips仿真服务器、Web服务器和MySQL数据库服务器。Dynamips仿真服务器安装Dynamips2.8 RC、操作系统CentOS6.6以上。Web服务器也是文件服务器,要求Windows XP以上操作系统。MySQL数据库服务器安装SQLyog图形化工具、MySQL5.7,操作系统CentOS6.6以上。另外,Applet的编译环境要求JRE6.0以上,HTML5的编译环境Chrome、IE9+、Opera、Firefox,操作系统没有限制。
2.Dynamips设备仿真
Dynagen是Dynamips的前端,集成了Dynamips,下载其最新版本安装,并安装Dynamips的运行环境WinPcap4.0及以上版本。通过Dynagen可以构建实验网络并进行实验,所生成的.NET文件包含了所需的設备配置、拓扑配置等信息,包括设备型号、IOS镜像文件、idlepc值、插槽模块型号、创建的虚拟路由器及相互连接等参数,类似Windows下的ini配置文件。通过平台的设备注册页面,管理员或教师可以输入上述参数完成某型号设备的生成,事实上注册的目的就是要输入生成设备的参数,并将这些参数通过Web服务器写入数据库[9]。通过管理已注册的设备就可以实现设备的添加、修改、删除等操作,并通过设备选择与参数配置完成设备的互连,如图3所示。
Dynagen的.NET配置文件是纯文本文件,这里通过图形化界面实现了端口分配、设备之间的互连等操作,点击确认提交配置数据,保存到数据库中。
3.网络拓扑图呈现
网络拓扑图是由网络结点和它们之间的连线组成,数据都保存在数据库中。结点的位置由前述的单环布局、双环布局或多环布局算法计算得到,使各网络结点合理地呈现在画布上。为了呈现网络拓扑结构,创建HTML5 Canvas画布是基础,画布创建完成后,通过设备结点生成方法和设备连线生成方法在画布的指定位置上生成设备结点和连线。
这里使用XML文件格式表示拓扑结构的数据模型,主要包括了网络结点和网络连线两个重要元素。当得到的拓扑结构图不是很美观时,可以通过手动调整,然后调用jTopo框架中的toJson()方法,将网络结点的属性转化成JSON数据格式,并由后台转化为XML格式文件。XML格式数据还不能被JavaScript直接使用,需要将XML格式转化为jTopo所规定的JSON格式,然后才能由JavaScript在HTML5 Canvas画布上将网络结点和连线呈现出来。
为了操作方便,可以在网络拓扑图添加鼠标右键菜单事件方法。在网络结点或连线上用鼠标右键点击,就会出现菜单,再点击菜单中的选项,就可以触发相应的事件处理。如图4所示。
4.Applet Telnet远程登录
基于Java Applet的Telnet技术对用户来说非常方便,不需考虑操作系统对Telnet的支持情况,通过浏览器即可远程登录到Dynamips虚拟设备并对设备进行配置。Applet是可以运行在浏览器的Java程序组件,只需将编辑的Applet小程序打包成telnet.jar,将Applet.Java的编译文件Applet.class嵌入到HTML中即可。由于使用了基于Applet的Telnet,所以Telnet的连接过程都会在Applet的生命周期内完成。在启动Applet小程序的时候,会实例化一个图像对象,创建一个可在浏览器上显示的Telnet命令提示符(CMD)窗口,并建立socket连接,完成数据的读取、转换和传输。另外,由于考虑到安全性,Applet的运行受环境限制,只允许运行在安全环境中,需要使用数字签名的方法来解除这种限制[10],以实现对本地文件的读写操作。图5是远程配置虚拟路由器的一个实例。
5.实验预约申请与管理
教师可添加、修改、删除学生信息,也可以批量导入学生信息。学生登录到实验平台后,可以对自己的信息进行修改。为了支持多个用户同时进行仿真实验,在服务器资源有限的情况下,需要采用预约申请的方式来协调服务器资源的使用。根据申请与资源分配情况同时开启多个Dynamips服务器,并将服务器的IP地址分配给预约成功的用户,用户即可在预约好的时间开始进行实验操作。这样,多个用户可以同时进行在线组网实验,能支持的用户数量主要由服务器的硬件资源决定。
教师可以添加实验任务,并对实验所需要的设备进行注册和配置。对教师发布的实验指导书,学生可以下载,也可以在线阅读。实验完成以后,学生将实验报告上传,教师查看实验报告并结合学生所做实验的情况给出成绩。教师查看成绩时,可以以班为单位对成绩进行统计,如平均成绩、及格与不及格人数等。学生只可以查看自己的实验成绩。平台还有一个“话题讨论”模块,教师与学生之间可以就某个主题进行在线讨论与交流,解答学生在实验中所遇到的相关问题。
六、结束语
对实验教学效果的评价不能只看实验报告,了解实验的操作过程也很重要。网络仿真软件适用于单机环境,组网实验都是由学生独立完成,教师掌握不了实验的具体操作过程,有时仅凭实验报告或实验结果无法判断学生是否按要求完成了实验任务。本文采用网络仿真软件Dynamips与基于文本的前端控制系统Dynagen,虚拟出网络设备及设备之间的互连,利用HTML5 Canvas的jTopo技术呈现网络拓扑结构,并通过Java Web的Struts2、Hibernate、Spring三大框架技术开发出实验教学管理功能,构建了一个在线组网虚拟仿真实验教学平台,在充分发挥网络仿真软件优势的基础上,实现了教师对实验操作过程的监控以及对实验效果的评价。
参考文献:
[1]王卫国,胡今鸿,刘宏.国外高校虚拟仿真实验教学现状与发展[J].实验室研究与探索,2015,34(5):214-219.
[2]胡勇华,周新莲,廖俊国,等.网络应用系统在网络工程专业教学中的应用[J].计算机教育,2014(20):74-77.
[3]刘桂开.教与学在评价之中相统一[J].教育教学论坛,2016(31):205-209.
[4]Dev Ramtal,Adrian Dobre.Javascript and html5 canvas basics[M].Berkeley, CA:Apress,2014:11-35.
[5]杨静.HTML5中的Canvas动画研究[J].计算机时代,2016(8):47-49.
[6]胡雯,李燕.MySQL数据库存储引擎探析[J].软件导刊,2012,11(12):129-131.
[7]卢爱卿,张会勇,赵征.Telnet协议的实现原理及应用[J].计算机工程,2002(11):268-269.
[8]刘爽,史国友,张远强.基于TCP/IP协议和多线程的通信软件的设计与实现[J].计算机工程与设计,2010,31(7):1417-1420.
[9]Xu HongSheng,Li YongLiang,Li Chao.Application of AJAX Technology and SSH Framework in Development of Electronic Commerce System [J].Advanced Materials Research,2014(952):338-342.
[10]魏晓玲.MD5加密算法的研究及应用[J].信息技术,2010,34(7):145-147.(编辑:鲁利瑞)