在线虚拟网络实验平台的设计与实现
摘要:本文主要针对于当前高等院校网络工程课程教学中实验环境构建的问题提出了一种解决方案,即利用Dynamips软件构建后台虚拟路由器和交换机环境,建立Web服务器实现客户端与后台的通信,构建在线虚拟网络实验平台。实践证明,在线虚拟网络实验平台可以将通用机房转换为专业的网络实验室,有效提高学生网络设备配置操作的实践技能。
关键词:在线虚拟网络实验平台;网络工程;实践
1引言
目前,各高等院校开设了网络工程专业,该专业的课程(如计算机网络,网络规划与设计等)均需要进行大量网络设备配置实验,但实验室成本对于各院校来说是一项不小的负担,建设一个40人左右规模的网络实验室,成本大约在80~100万人民币左右,这笔费用并不是每个院校都能承担的。同时,上述的实验室由于具体的实验设备还是很少,无法满足学生人手一套设备的需求,因此必须把学生分成4~5人小组进行实验。
近年来,出现了模拟软件来模拟各种实验器材、设备、实验过程以及实验环境。为高校实验教
学减轻了一定的压力,如实验和实习费用不足,实验设备陈旧老化,实验场地拥挤,学生人均台、套数少,实物实验次数下降等等。其中典型的有Boson公司出品的NetSim软件和由法国人Chris Fillot开发的Dynamips软件。
Boson NetSim软件采取的是模拟设备的命令行方式,和真实的设备存在很大的差距,而且很多实验内容无法进行模拟。
Dynamips软件通过加载Cisco的IOS软件,可在一台PC上模拟多台Cisco交换机、路由器设备,其最大优势在于可自行设计网络拓扑,在PC上构建一个虚拟的网络环境,但Dynamips是一个命令行程序,在配置实验文件时需手工设置大量参数,不方便用户的使用。而且很多学校的实验室为管理维护的方便,给计算机都安装了还原保护卡,给需要修改配置参数时带来了很多不便。
针对以上问题,本文提出了建立在线虚拟网络实验平台的思路。
2系统架构
在线虚拟网络实验平台的软件体系机构是三层架构(如图1所示),即包括后台模拟器运行服务
器、应用服务器、客户端三部分,采用了浏览器/服务器(B/S)的网络计算模式。应用服务器可以在网中的任何位置,运行在任何操作系统上,在处理客户端实验网络拓扑配置,完成客户端与后台模拟器运行服务器之间的通信转接。后台模拟器运行服务器采用Dynamips软件模拟实际的设备,通过采用应用服务器生成拓扑所需要的参数,管理和维护需要模拟的设备。客户端完成与用户的交互,完成拓扑网络的设计和虚拟设备的配置交互。
3客户端
3.1软件要求
客户端的软件要求:
(1) 安装有IE或Firefox浏览器;
(2) 安装J2RE 1.5版本以上插件。
3.2设计方案
客户端完成与用户的交互。由于系统采用的是B/S这种方式,客户端不需要安装额外的软件,
只要能够运行基本的浏览器软件并配置相应的Java运行环境。
用户在客户端完成网络实验的拓扑结构,并在此基础上进行实验,这就带来了两个问题:
(1) 如何进行配置;
(2) 如何和后台模拟器运行环境通信。
针对问题1,通过编写Java Applet程序(该Applet后简称Applet A)来完成图形化网络拓扑配置,此外,采用Java Applet的好处还体现在便于和应用服务器实现通信。
针对问题2,通过编写另一个Java Applet(该Applet后简称Applet B)来完成与后台虚拟设备的交互配置。
为了便于用户进行相应虚拟设备数据的配置,即通过点击Applet A网络拓扑上的相应设备,能够在Applet B中进行配置窗口的相应切换,完成与不同虚拟设备之间的交互。Applet A与Applet B的配合通过两个Applet之间的通信来完成。
3.3具体实现
用户在IE浏览器地址栏中输入实验环境的URL地址。用户登录后选择进入具体的实验项目。典型的实验配置为参见图2:
当用户提交用户配置数据时,由Applet生成网络的拓扑数据,并提交给应用服务器。应用服务器将用户转至Applet B所在的配置界面,同时给出所有虚拟设备的URL地址。
例如:telnet://192.168.1.3:2001
用户在配置界面可以完成对制定虚拟设备的配置(如图3),或者通过点击URL地址链接,调用客户端默认的telnet工具访问虚拟设备。
4应用服务器
4.1软件需求
对于应用服务器的要求:
(1) 安装有J2SDK5.0以上版本;
(2) 安装有Apache Tomcat 6.0。
应用服务器采用JSP、Java Servlet技术,应用服务器系统根据功能分为用户管理模块,实验环境配置模块和仿真模块,后台环境管理模块3个子系统(参见图4)。
4.2用户管理模块
用户管理模块完成用户的登录,注册,信息修改,注销功能(参见图5)。在线代码运行器
4.3实验环境配置模块
实验环境配置模块要完成以下3个功能:
功能1:提供客户端需要的Web页面和Java Applet程序。
功能2:对用户提交的网络配置数据处理,生成后台模拟器运行所需的配置文件,并将生成的配置文件提交给后台模拟器运行环境。
功能3:完成通信的转接,即实现客户端Applet与后台虚拟设备的通信。
上述三个功能分别由客户端交互模块,实验数据配置生成模块和通信模块完成(参见图6)。
(1) 客户端交互模块
对于功能1的实现是比较简单的,编写JSP代码实现用户页面,编写Java代码实现Applet,需要注意两个Applet之间的通信。
(2) 实验数据配置生成模块
对于功能2的实现,通过Servlet实现。对于每个用户发起的配置请求(Applet A发起),启动一个新的线程完成对用户配置数据的处理,实验数据配置生成模块生成后台模拟器运行环境的运行参数并将其提交给后台模拟器运行服务器,由后台模拟器运行服务器环境负责虚拟实验环境的建立。由于存在多个用户同时进行实验,这里需要采用多线程处理。
(3) 通信模块
对于功能3的实现,也通过Servlet实现,当功能2的Servlet完成工作后,创建一个新的线程完成Applet B与后台虚拟设备之间通信转接。
通信模块负责与客户端的通信,这里由一个线程池来完成,线程负责将Applet B发来的命令转发到后台虚拟设备上,同时将后台虚拟设备的输出转发至Applet B。
4.4后台环境管理模块
实验管理模块完成对正在进行实验的管理,清理不必要的数据。
4.5具体实现
客户交互模块根据用户提交的配置数据,启动一个新的线程完成对用户配置数据的处理,实验数据配置生成模块生成后台模拟器运行环境的运行参数并通过通信模块将其提交给后台模拟器运行服务器,由后台模拟器运行服务器环境负责虚拟实验环境的建立。由于存在多个用户同时进行实验,这里需要采用多线程处理。
生成后台模拟器运行环境的运行参数举例如下:
-T 2001 -P 7200 -r 128 --disk0 4 -t npe- 400-c 0x2142 -p 0:C7200-IO-FE -p 1:PA-2FE-TX- s0:0:gen_eth:”\Device\NPF_{953246C0-1275-426B-9803-B4C
171D808DE}” ..\C7200-JK.BIN --idle-pc=0x60801e14
在后台模拟器运行服务器启动虚拟实验环境后,由通信模块完成客户端Applet B与后台虚拟
设备之间通信转接。
5后台模拟器运行服务器
5.1软件及硬件需求
对于后台模拟器运行服务器的硬件要求CPU速度1.6GHz以上,内存容量2G以上。
系统环境及软件要求:
(1) WindowsXP或Windows 2000 Server操作系统。
(2)dynamips-0.2.7。
(3)Cisco IOS映像文件:c3640-is-mz_120-7_t.Bin或c7200-js-mz.122-11.T.Bin。
5.2设计方案
后台模拟器运行服务器负责接收应用服务器发来的指令和配置文件,根据指令和配置文件运行虚拟设备,停止虚拟设备,及相应的管理功能。后台模拟器运行环境的基础是Dynamips软
件。
5.3具体实现
后台模拟器运行服务器采用Java编写,使用Socket编程与应用服务器通信模块进行通信。
当收到应用服务器发来的指令和配置文件后,启动一个新的线程,使用Runtime的exec()方法执行收到的命令,实现运行虚拟设备,停止虚拟设备,及相应的管理功能。
当收到由通信模块客户端Applet B对虚拟设备的配置命令后,将其发送给具体的虚拟设备,并捕获输出,由通信模块转发给Applet B,完成具体的配置工作。
6总结
通过对本平台的试用,学生对在线虚拟网络实验平台反映良好,大大提高了学生的动手能力。
在线虚拟网络实验平台与传统的网络实验室相比,主要拥有如下优势:
(1) 充分发挥模拟软件的优势,将理论与实践相结合,以往如OSPF路由配置等需要大量的PC
机或网络设备的实验,如今只要在一台PC客户机上就可实现,加深学生对于理论知识的理解。
(2) 在实验过程中无需担心学生误操作或是恶意操作,如修改网络设备密码或删除Flas件等。由于所有的网络配置实验均在远端服务器上由软件完成,即使在操作过程中出现了无法恢复的错误时,也无需担心,只要将软件复位,即可重新开始实验。
(3) 减轻实验室维护教师的维护负担,每次实验完毕后,无需对网络设备进行一一复原。
(4) 大量节约成本,使学生能在虚拟环境中配置价格昂贵的网络设备,有效提高学生的实践技能。
(5) 提高学生的创新能力,使实验不受设备等硬件因素的制约,充分调动学生学习的主动性。
(6) 便于组织开放性实验。学生可以利用网络访问在线虚拟网络实验平台,可以在任何时间、任何地点完成实验。
参考文献:
[1] 孙秉超. 基于DynamipsGUI的虚拟网络实验环境构建[J]. 电脑知识与技术,2008(19):160-163.
[2] 张其林. 网络工程虚拟实验的设计与实现[J]. 电脑知识与技术,2008(11):284-286.
[3] 李文池. Dynamips虚拟网络配置与应用[J]. 南京工业职业技术学院学报,2007(2):45-47.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。