基于J2EE的锐捷网络工程远程实验室设计

2016-09-18 09:36容振邦赵铁柱
实验科学与技术 2016年1期
关键词:网络工程机柜管理员

容振邦,赵铁柱,徐 沛

(1.五邑大学 计算机学院,广东 江门 529020;2.东莞理工学院 计算机学院,广东 东莞 523808)



基于J2EE的锐捷网络工程远程实验室设计

容振邦1,赵铁柱2,徐沛1

(1.五邑大学计算机学院,广东江门529020;2.东莞理工学院计算机学院,广东东莞523808)

锐捷网络工程远程实验室系统是利用现有的网络资源和成熟的B/S架构对传统实验教学资源进行整合,使之成为一个在线操作的、面向教学的网络实验教学平台。系统基于SpringMVC+Hibernate框架,采用MVC设计模式进行开发,具有用户管理、实验管理和系统管理三大功能。通过该系统,教师可以发布实验教学内容,学生可以自主预约实验,在自选的时间内开展远程实验训练,促进了计算机网络实验教学质量的提高。

远程实验室;实践教学;网络工程;计算机网络

网络工程是一个工程性、应用性和实践性很强的专业,其目标是培养学生成为从事计算机网络规划、设计、实施和维护等工作的高级工程技术人才[1]。五邑大学网络工程专业本科教学存在的主要问题是专业课程学时压缩,学生实践课程课时相对不足。实验室是网络工程专业开展实践教学的主要场所,实践教学课时的减少直接导致实验室利用率降低,学生动手能力弱化,因此,如何提高学生的实践技能成为亟待解决的问题。本文主要利用B/S架构开发远程实验室系统,学生只要在开放时间内通过校园网登录系统即可进行网络实验训练。

1 实验室教学现状

目前,网络工程实验室主要采用锐捷网络公司的解决方案。实验室一共有6组设备,每组设备主要包括2台S2126G二层交换机,2台S3760三层交换机,2台R1762路由器和2台R2632路由器,8台路由交换设备通过串口线与控制台RCMS相连,由RCMS进行接入控制,9台设备摆放在一个机柜里。每个机柜通过接线器与8台学生机相连,整个实验室最多可以提供48名学生同时使用。每个机柜通过局域网互连,并且可以连入校园网。学生机是配备双网卡的计算机,一块网卡用来连接实验室网络,另一块网卡接入校园网。实验室拓扑如图1所示。

RCMS控制台有两个以太网接口,一个接口与所在机柜的学生机直连在同一台交换机中,另一个接口备用。学生机通过浏览器访问http://RCMS的IP地址:8080,即可打开RCMS控制页面,显示所有的路由器和交换机,如图2所示。

若要配置其中的某一个设备,直接点击即可进入配置界面,其原理是采用Telnet协议进行远程登录配置。RCMS用端口号2001至2008从左到右标识8台路由器或交换机。若要配置第3台设备,也可以直接在命令行上输入Telnet命令即可进入配置界面。

图1 实验室拓扑图

图2 RCMS控制页面

2 系统功能设计

虽然实验室学生机区域主机可以访问校园网,但是在校园网不能直接连接到每个机柜的路由器和交换机。原因有两点:1)每个机柜中的路由器和交换机的默认配置没有设置IP地址,学生做实验时根据需要自行配置;2)每个机柜中只有RCMS配置了静态私有IP地址(10.1.X.2/24,其中X表示机柜的号码,用1-6表示),并且没有与校园网直接相连。具体解决方案是将6台RCMS的备用网卡与远程实验室系统所在的服务器一起连接在实验室出口的同一台三层交换机上,配置同一网段的IP地址即可。服务器所在位置如图1椭圆虚线框所示。

在锐捷网络工程远程实验室系统的开发实现中,主要提供用户管理、实验管理和系统管理三大功能。每个功能包括不同的模块,详细的系统权限角色与主要功能模块如表1所示。

表1 系统权限角色与功能模块

1)用户管理。

系统包括游客、学生、教师和管理员4种类型的用户。游客属于临时用户,只能浏览界面基本信息,不能进行实验;学生和教师用户第一次登录均需以游客身份进行注册,只有提出账号验证申请,待管理员验证身份通过后,方可转为学生或教师身份;管理员具有最高权限,主要负责用户管理、系统管理以及协助学生进行远程实验。

2)实验管理。

这是系统最主要的功能。系统可以开展自主实验和教学实验。自主实验是在实验室允许使用的闲置时间里,学生根据需要提前预约实验时间以及设备的类型和数量,管理员根据实验室硬件资源能满足实验需求的前提下对学生的申请进行审批。审批通过后,管理员协助学生做一些基本的实验前准备(例如简单的接线需求),学生在规定的时间内可以登录系统进行远程实验。教学实验是指教师可以在系统上发布实验教学的任务要求,学生在规定的时间内完成实验,提交实验报告,教师完成实验报告的批改。

3)系统管理。

为了方便管理员了解系统的运行状况,系统提供了实验设备管理、系统实时监控、系统日志管理和系统状态查询4个模块。实验设备管理包括设备类型、设备数量、设备接口信息、设备接口数量等信息的增加、删除和修改功能。设备状态包括正常状态、工作状态和维护状态(不可用状态),通过查询方式可以及时了解实验室设备的可用资源数量,为远程实验室的申请做好资源分配的准备。管理员还可以通过设备管理对实验设备进行一键清(清空原来的配置信息),为下次实验做好准备工作。实时监控模块可以让管理员实时监控正在进行的实验配置界面;系统日志负责记录每个用户的详细操作过程;系统状态查询主要显示服务器当前CPU、内存的利用率和Web服务器的工作参数等信息。

3 远程实验室系统实现的关键技术

系统采用B/S[2-4]架构进行开发,以保证整个系统的可操作性和可维护性。软件系统采用Windows Server 2008+JDK 1.7+Tomcat 7.0+MySQL 5.6.35+Mongo DB 2.6.0。系统采用的核心技术有Spring Framework、Spring MongoDB、Hibernate、Ajax和Jquery。

3.1Spring+Hibernate+MongoDB

Spring是一个开源的轻量级的J2EE企业级应用框架,本质上是一个利用控制反转(IOC)和面向切面(AOP)技术构建的容器框架。系统主要应用Spring Framework 提供的轻量级J2EE框架,采用MVC模式开发。

Hibernate是一个开放源代码的基于Java平台的对象关系映射(ORM)框架。它采用对JDBC底层操作进行轻量级封装,引入数据库二次加载,连接池等技术的方式,为Java程序的开发提供了面向对象的数据库操作。通过使用Hibernate作为程序的数据库持久层,Java开发者可以用操纵内存对象的方式操作数据库对象,让对象的修改与持久化无缝过渡。

Spring Data MongoDB的项目提供一体化的MongoDB的文档型数据库。Spring MongoDB的数据重点功能区是一个POJO中心的模型与MongoDB的DBCollection交互。通过利用Spring Data MongoDB,开发者可以很轻松地编写基于MongoDB的数据访问层。

在本系统开发过程中,采用HTML+DIV+CSS进行Web界面开发,使用Ajax技术控制客户端和服务器端的数据交互。为了在系统的稳定性与灵活性之间平衡,系统采用MySQL+MongoDB的双体架构,使用MySQL来处理格式较为固定的系统级数据,使用MongoDB来对运行时产生的大量数据进行持久化。

3.2系统登录模块实现

系统要求使用用户名与密码进行登录,并在用户注册时要求采用实名验证。用户登录时,在系统界面输入对应的用户名与密码,点击登录后,前台的脚本语言会自动把相关信息打包成对应的model,通过Ajax请求向服务器端发送。后端在接收到model以后,先从model中解包得到关键的数据(用户名和密码),根据用户名从数据库中获取相应的用户数据,生成对应的UserDomain,接下来由UserDomain完成密码的校验并生成返回结果,Controller根据UserDomain的鉴别结果生成对前段的响应。前端接收到响应后,检查响应数据,如果响应数据为成功,则执行对响应结果的跳转,进入系统;如果响应失败,则提示失败原因,其时序图如图3所示。

图3 系统登录模块时序图

3.3系统远程实验模块实现

远程实验模块是系统的核心模块,包括Telnet转换Http子模块、控制器论询子模块、Socket线程管理子模块、Socket线程维护子模块、远程实时监控子模块。下面重点介绍Telnet转换Http和远程实时监控两个子模块。

3.3.1Telnet转换Http子模块

该子模块的主要原理是,服务器作为中转机维持与控制台的Telnet连接,把来自浏览器的命令代理送入控制台,并把控制台的响应缓存起来,把结果以Http协议送回用户端[5]。整个过程的原理图如图4所示。为了实现Telnet协议,本系统采用了Java的套接字与多线程来实现。首先,在连接启动时,系统底层根据参数打开与控制中心的连接,并在经过端口协商后,获取到连接的输入流和输出流;然后,把输入流与输出流分别送入特定的线程组中,由线程组控制实现协议的读写。

图4 Telnet转换Http子模块示意图

3.3.2远程实时监控子模块

该模块主要用于管理员实时监控系统内正在进行的实验。本模块的实现原理为,当Telnet转换Http子模块执行缓存响应或写入命令时,同步写入监控缓存。管理员登录监控页面时,首先,向控制中心查询当前正在进行中的实验以及对应的实验设备与操作用户;然后,管理员选择某一设备,即可对监控缓存进行轮询请求,以第一视角监控到实验的进行。其时序如图5所示。

图5 远程实时监控模块运行时序图

4 远程实验室的教学应用

4.1学生访问系统的主要流程

学生用户通过远程实验室系统提出实验申请。在实验申请中,学生需要指定实验时段,确定实验设备类型和数量以及填写实验设备之间的接线情况。管理员检查申请的内容,若实验室能满足申请的要求,则批准该申请;否则拒绝申请,学生需要重新提出申请。待实验批准生效后,学生需要在规定的实验时间内登录系统,完成实验内容。

学生在系统进行网络实验配置过程如图6所示。在远程实验界面上可以看出,在Web页面上内嵌了一个命令输入终端,学生正在通过命令的方式在交换机S3760上进行交换机命令配置,效果与C/S的Telnet方式访问是类似的。

4.2对比分析

作为传统实验教学的辅助教学系统,锐捷网络工程远程实验室系统与采用模拟器Boson NetSim、Packet Tracer、Dynamips和GNS3构造虚拟实验室的实践教学方式[6-10]相比,具有以下特点:1)与

图6 远程实验界面

采用Boson NetSim和Packet Tracer方式相比,远程实验室系统采用真实的网络设备进行实验,能支持更多的模拟器上不支持的网络命令,因而能执行更多复杂的网络实验;2)与Dynamips和GNS3方式相比,系统对学生用户的计算机的性能要求不高,只需要保证网络畅通即可,在校园网的环境下,网络性能比较容易得到保障。详细的比较如表2所示。

表2 性能对比

从上面的分析可知,采用远程实验室系统具备了Boson NetSim、Packet Tracer、Dynamips和GNS3等模拟器的优势。

5 结束语

基于J2EE的锐捷网络工程远程实验室系统在校园网上提供了一种通过远程登录实验室设备的方式进行网络实验的方法,是实践教学的一个有益补充。其打破了传统的实验教学模式,学生能够自主选择实验时间、实验地点和实验内容,有利于提高实验教学的开放性和灵活性,能够激发学生学习的兴趣,培养学生学习的自觉性、主动性和创新性,提高实验教学的效果[11]。

[1]徐明,曹戒南.高等学校网络工程专业培养方案[M].北京:清华大学出版社,2011:11-43.

[2]杜玉玲,文西芹.基于B/S模式的远程虚拟实验室的开发[J].现代教育技术,2004,14(2):57-59.

[3]杨建良.基于Web的远程教育网络在线虚拟实验室的设计[J].实验室研究与探索,2011,30(3):87-90.

[4]何怀文,陈子醉,肖涛.高校远程开放网络实验室的研究与实践[J].实验科学与技术,2013,11(6):214-217.

[5]田德振,戴亚平,左哲.基于Web的远程实验室设计问题研究[J].计算机应用研究,2008,25(10):3181-3183.

[6]刘外喜,高鹰,胡晓.虚拟实验室在计算机网络课程教学中应用的设计[J].计算机教育,2007 (4):72-76.

[7]桂学勤.基于模拟器的网络工程实验室建设方案探讨[J].计算机教育,2013(1):41-44.

[8]张梁斌,高昆,梁世斌.基于Packet Tracer的小型企业网络应用架构的仿真实验[J].实验室研究与探索,2012,31(10):372-376.

[9]张钢,黄小波.思科虚拟实验平台的构建[J].实验室研究与探索,2010,29(8):216-218.

[10]顾春峰,李伟斌,兰秀风.基于VMware、GNS3实现虚拟网络实验室[J].实验室研究与探索,2012,31(1):73-75.

[11]戴成梅,戴成建.基于LabVIEW的电子电工网络虚拟实验室研究与开发[J].实验室研究与探索,2011,30(2):74-77.

Design of Ruijie Network Engineering Remote Laboratory Based on J2EE

RONG Zhenbang1,ZHAO Tiezhu2,XU Pei1

(1.School of Computer Science,Wuyi University,Jiangmen 529020,China;2.Computer Institute,Dongguan University of Technology,Dongguan 523808,China)

Ruijie network engineering remote laboratory system makes good use of existing network teaching resources and mature B/S structure to integrate an online network experimental teaching platform.System is designed in using MVC pattern based on SpringMVC and Hibernate framework with three functions including user management,experiment management and system management.Students can make an application for a remote experiment and carry out the experiment in appointed time by themselves.Teachers can also publish practical teaching content with the system.Thus the system provides a network of experimental teaching platform with autonomy,which promotes the experimental teaching quality of computer network in our school.

remote laboratory; experimental teaching; network engineering; computer network

2014-11-24;修改日期: 2015-01-07

国家自然科学基金项目(61402106);五邑大学青年科研基金项目(201209260831431)。

容振邦(1979-),男,讲师,博士生,主要从事计算机网络、量子计算与量子信息方面的研究。

G434;TP393

A

10.3969/j.issn.1672-4550.2016.01.018

猜你喜欢
网络工程机柜管理员
湖南人文科技学院国家级一流本科专业建设点简介:网络工程专业
网络工程专业课程中的“双创”教育与实践
我是小小午餐管理员
DCS机柜用电现状分析
地方高校网络工程专业人才培养的改革与实践
我是图书管理员
我是图书管理员
可疑的管理员
一种计算机联锁机柜工程图纸的自动化生成方法
BIM技术在铁路信号室内机柜布置中的应用研究