基于Internet的远程网络工程实验室的设计与实现
2018-01-15赵湘宁
赵湘宁 梁 忠
当前,网络信息化技术日新月异的发展进一步推动了高校教育的改革,传统的课堂实验教学和实验室管理方式已经不再满足实践教学改革的需要。在传统的课堂实验教学过程中,学生需要在一定的实验课时的时间内完成老师布置的实验内容,这就可能使学生遇到的问题无法及时获得解决,学生希望继续深入研究的需求也会受到实验课时等问题的限制。在传统的实验室管理中,也一直面临着实验资源利用率不高、实验设备短缺等问题。
基于Internet的网上远程实验环境的建设,不仅可以解决实践教学面临的实验资源缺乏的问题,促进实验资源在全国范围内的共享,而且还可以使学生和老师不受时间和空间的限制,通过互联网即可随时随地进行实验操作,因此基于互联网的实验环境的建设对于提高教育资源设备的利用率,推动实践教学改革有着重要的应用价值。
本文提出了一种基于互联网的远程网络工程实验室INTELab的设计与实现。INTELab将实验室的软硬件资源进行结合,通过互联网将网络工程实验室的物理资源为用户提供远程的实验配置及操作。互联网用户通过Web用户交互接口就可以在任何能够连接互联网的地方就可以使用实验室资源。
1 相关工作
目前,不少国内外的研究机构和著名大学对远程实验环境的建设进行了大量的研究工作。目前远程实验室的实现方案主要有以下3大类。
1)第1类是采用 www技术,利用 HTML、Java Applet、Java Servlet、CGI等技术,并运用B/S模式,实现从客户端的浏览器到服务器虚拟实验平台的远程操作。文献[1]用JAVA语言设计了基于Internet的虚拟实验室系统的开发模型。该实验室提供了可扩展的实验平台,并以组件的方式提供具体的仪器设备。系统通过JavaBean实现可扩展的实验组件,并用Java Applet实现客户端。用户可以通过客户端可视化地添加实验组件,定制实验流程。文献[2]设计了一个远程编程虚拟实验室,服务器端采用Java Servlet、CGI等技术实现,在客户端采用HTML、Java Applet技术实现。客户端将用户编写好的程序代码以文本的方式发送给服务器,服务器调用相应的语言编译器编译执行后再将结果返回客户端。文献[3-5]分别介绍了图像处理虚拟实验室、计算机组成原理、虚拟生物学实验室的设计,均采用了www技术实现。
2)第2类是采用虚拟化技术,如VMware Infrastructure、Xen和KVM等技术。文献[6]介绍了美国北卡罗莱纳州立大学 (NCSU)与IBM合作建立的虚拟实验室。该方案通过在操作系统层和应用软件层采用VMware、Xen等虚拟技术,生成多个系统或软件的镜像。终端用户通过互联网连接虚拟实验室的服务中心时,服务器负责实现实验室资源到用户终端的镜像映射,以实现实验室的远程、分布式操作。文献[7]提出了一种基于Xen的虚拟实验体系架构,并在此基础上构建了一个网络安全教学实验室。在这个虚拟实验平台上可以快速构建复杂的虚拟网络,并进行防火墙测试等实验操作。但是这种网络实验环境是虚拟的,即在服务器端不存在真实的网络设备,学生的实验操作也是在仿真器上进行的模拟实验。
3)第3类采用云计算技术。云计算 (cloud computing)一种基于因特网的超级计算模式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算。云计算将计算机计算与数据存储的工作都放在分布式计算机或远程服务器,使用户可以灵活方便地获取所需的资源和服务,减轻用户终端的处理负担。文献[8-10]提出利用计算虚拟化技术与云计算技术来高效地管理计算机与软件实验资源,降低了管理复杂度,提高了资源利用率和服务可用性,实现了资源动态调度。文献[11-13]介绍了国外在云计算平台上构建的虚拟实验室。
本文提出的基于Internet的远程网络实验室INTELab是采用www技术实现,不同于其他远程实验室只能对虚拟环境进行模拟实验,INTELab能够向互联网用户提供真实网络设备的远程操作与配置,并且实验环境是搭建在真实的物理环境中,用户能够采集得到真实设备产生的数据,这有利于用户通过这些数据分析复杂的真实网络环境,并且通过操作真实的网络设备以提高实验操作技能。
2 基于Internet的网络工程实验室的整体系统架构
2.1 系统架构
基于Internet的远程网络工程实验室INTELab的整体系统架构如图1所示。整个系统由硬件资源层、系统管理层、终端接入层3个层次构成。
图1 基于Internet远程网络工程实验室的整体系统架构
硬件资源层由若干个可供用户登录操作的实验设备组构成,每个实验设备组由一些网络设备、服务器组等物理资源组成。网络设备包括可供实验操作的网络仪器,如交换机、路由器等。服务器与网络设备相连,为网络设备提供管理和控制服务,同时为用户提供远程接入设备并进行配置的功能。
系统管理层由一组数据服务器和管理服务器组成,实现INTELab的功能管理,如资源管理、任务管理、用户管理、安全管理、数据管理等,并向终端接入层提供用户交互接口。资源管理负责均衡地使用硬件资源节点,并对资源的使用情况进行监视统计;任务管理负责执行用户或应用提交的任务,任务生命周期管理等;用户管理提供识别和管理用户身份、创建用户程序的执行环境;安全管理保障系统的整体安全、包括身份认证、访问授权等。用户交互接口以Web Service方式提供访问接口,获取用户需求。
终端接入层位于系统顶层,由连入互联网的用户终端构成,可以是台式电脑、笔记本电脑、平板电脑等。接入层的终端设备通过用户交互接口接入INTELab,实现远程操作。
2.2 模块间通信
当用户通过互联网向网络实验室发送使用请求后,位于系统管理层的管理服务器检验用户账户,并向用户分配一段时间的资源占用权。数据服务器维持着用户的授权、资源的可用和其他的信息。当用户完成操作离开系统时,管理服务器将占用的资源释放。
一次完整的用户远程登录实验室操作,其INTELab系统核心模块间的通信流程如图2所示。最初,远程用户向用户交互接口发送用户登录的请求,管理层的用户管理模块进行身份认证,并返回可用资源列表。用户选择资源后,管理层的资源分配模块向服务器端申请资源分配,服务器端进行资源预留、运行环境的镜像加载等准备工作,并将可用资源的IP地址返回给用户。此时,用户就可以远程连接服务器端进行远程实验的操作。在用户远程连接的这期间,管理层的连接管理模块实时与服务器组交换用户的资源使用信息,保持连接状态。直到用户退出系统,管理层通知服务器端释放资源,并回收环境。
图2 系统核心模块间的通信
3 系统实现
本章节介绍INTELab的设计与实现。不同于传统的网络工程虚拟实验室只能进行计算机网络的模拟实验,本文的网络工程实验室向用户提供了真实的网络设备 (如交换机和路由器等)的远程操作。
3.1 实验室搭建
INTELab系统的硬件资源层的组成结构如图3所示。INTELab的设备列表如表1所示。实验网络设备 (交换机、路由器)分为10组实验台,安装在10个实验机架中。核心交换机连接实验台和系统管理层的主服务器组。
表1 INTELab设备列表
3.2 实验室用户权限
INTELab设置有学生、教师和管理员3类用户。学生用户只限登入可用的实验设备组,并进行组内的设备操作。通过Web界面接口,学生用户可以以个人和小组的形式进行资源预约。
图3 INTELab硬件资源层的组成
在学生用户登录一个实验设备组之前,该实验设备组中的所有设备需要将先前其他学生用户设置的所有配置进行清除,而后成为可用的状态。INTELab的用户界面允许用户进行图形化的网络拓扑创建,网络设备之间的连接通过服务器端的拓扑连接器NTC将真实机架设备进行相应的连接。用户通过点击拓扑图中的设备图标,可以远程登录设备的console端口进行设备的配置。
INTELab允许学生用户以小组的形式登录,实现协同工作、共同学习的功能。小组中的所有学生用户允许在同一时间段使用同一个实验设备组中的设备。但是每台设备在同一时间只允许一个学生用户远程登录进行配置,配置的过程也将被该组的其他成员所见。
教师用户除了拥有与学生用户相同的远程接入的权限之外,还拥有创建和管理学生组的权限。对于每个学生组,教师用户可以指定每个组所对应使用的实验机架组,并可以限定每个学生用户允许使用资源的时间。教师用户也可以查看每个学生的实验设备预约情况,如果有需要,可以修改或者取消某些学生用户的预约。
管理员的主要职责在于服务器和实验机架的管理和维护、系统管理、日志管理等。除了实验机架的安装和布线,其他管理工作都可以通过管理员用户界面完成。
3.3 远程网络实验配置与操作实现
实现网络工程实验室远程实验操作的一大难点是如何通过远程操作实现真实的网络拓扑连接。在传统的网络工程实验室中,要实现真实的网络设备之间的拓扑连接与拓扑变化,需要手动将设备之间的网线进行物理插拔,并且连接到指定设备的指定端口上,这就要求实验人员必须在现场进行操作。
为了能够实现对实验设备的远程拓扑连接,INTELab在每组机架中安装了拓扑连接器NTC。NTC实现了将客户端上图形化的拓扑链接转化为真实设备间的拓扑搭建,代替了传统实验室通过手动接线实现实验设备间的互连方式,为远程操控实验设备提供了可行性。使用NTC进行搭建实验拓扑之前需要将实验设备的端口与NTC的端口用网线互联,然后在客户端界面中将实验设备和NTC对应的端口进行映射。如图4所示,在04号实验台中的S3760-24-41号交换机将15~18号端口与NTC的1~4号端口用网线进行物理相连,那么就要在客户端界面中将交换机对应的端口与NTC的端口用连线相连。
图4 NTC端口映射
在实现了NTC端口与交换机端口之间连接的映射之后,远程用户就可以通过客户端界面上实验设备之间图形化的连线,映射到对应实验台中的真实网络设备之间的通信链路的建立。接下来通过一个OSPF路由的实验来检验系统的使用。
如图5(a)所示,在远程客户端,用户可以通过浏览器登入系统,进行拓扑设计。首先选择可用的实验机架,并选择该机架中空闲的交换机和路由器,拖拽到拓扑设计界面,然后通过连线建立链路。双击图中的链路可以进行链路端口的映射。如图5(b)所示,将路由器R1与路由器R2之间的链路进行配置,实现R1的fa 0/2端口与R2的fa 0/2端口相连。如图5(c)所示,将交换机S1的fa 0/4端口与路由器R1的fa 0/1端口相连。在拓扑设计器中点击 “应用拓扑”就可以实现真实设备之间的通信,如图5(d)所示。
图5 网络拓扑设计
在建立好网络拓扑后,可以通过双击拓扑图中的设备图标,实现设备的远程登录并进行设备配置、调试与测试。如图6所示,给出了INTELab在进行OSPF路由实验时的部分配置与测试过程。如图6(a)~图6(c)所示,分别通过双击拓扑设计器中的网络设备,实现交换机S1、路由器R1和路由器R2的远程登录和IP地址配置。接下来分别对S1、R1和R2进行OSPF路由配置。如图6(d)所示,为对路由器R1进行的OSPF路由配置。如图6(e)所示,显示的是实现OSPF路由后,在R2上的路由结果。通过路由结果可以看出,R2与路由器R1以及R2与交换机S1之间的路由已经建立完成。R1与R2是直接相连,R2与S1之间的路由经过R1相连。
通过 OSPF路由的实验可以看出,通过INTELab的Web界面接口,用户可以实现远程的网络工程实验操作,包括网络设备的拓扑连接,设备的远程登录与配置,获得真实网络设备产生的实验数据。
图6 在INTELab上进行OSPF实验
图6 (续)
4 结束语
本文提出了基于互联网的网络工程实验室的整体系统架构以及系统实现,向互联网用户提供真实网络设备的远程操作与配置。INTELab将软硬件资源结合,通过互联网将实验室的物理资源为用户提供远程的使用,互联网用户通过Web用户交互接口就可以在任何能够连接互联网的地方就可以使用实验室资源。INTELab能够向互联网用户提供真实网络设备的远程操作与配置,实验环境是搭建在真实的物理环境中,用户也能采集得到真实设备产生的数据,有效地提高了用户的实验操作技能。
[1]WANGJ,CHEN S,JIA W,et al.The design and implementation of virtual laboratory platform in internet[C]//Proceedings of The First International Conference on Web-Based Learning.Hong Kong: World Scientific,2002:169-177.
[2]CAO J,CHAN A,CAO W,et al.Virtual programming lab for online distance learning[C]//Advances in Web-Based Learning.Berlin Heidelberg: Springer,2002: 216-227.
[3]盛羽,张青龙,陈松乔,等.面向最终用户编程的图像处理虚拟实验平台[J].系统仿真学报,2011,23(7):1381-1386.
[4]王建新,张丽媛,盛羽,等.基于组件的计算机组成原理虚拟实验室的设计与实现[J].系统仿真学报,2008,20(9):2469-2474.
[5]SUBRAMANIAN R,MARSIC I.ViBE:Virtual biology experiments[C]//Proceedings of the 10th international conference on World Wide Web(www10).Hong Kong:ACM,2001:316-325.
[6]KAYLOR J,THIRUVATHUKAL G K.A virtual computing laboratory[J].Computing in Science&Engineering,2008,10(2):65-69.
[7]吴迪,薛政,潘嵘.基于XEN云平台的网络安全实验教学[J].实验室研究与探索,2013,32(7):62-66.
[8]陈康,郑纬民.云计算:系统实例与研究现状[J].软件学报,2009,20(5):1337-1348.
[9]张红,陶然.东华大学实验室管理云计算平台[J].计算机系统应用,2012,21(10):14-17.
[10]柴亚辉,涂春萍,刘觉夫,等.基于云计算的计算机与软件实验资源管理[J].实验室研究与探索,2010(10):70.
[11]BURD SD,LUO X,SEAZZU A F.Cloud-Based virtual computing laboratories[C]//Hawaii International Conference on System Sciences.Hawaii: IEEE Press,2016:5079-5088.
[12]TIAN W,SU S,LU G.A framework for implementing and managing platform as a service in a virtual cloud computing Lab[C]//International Workshop on Education Technology& Computer Science.Hong Kong:IEEE Press,2010:273-276.