首页 > 范文大全 > 正文

基于B/S的网络设备模拟器设计和开发

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于B/S的网络设备模拟器设计和开发范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:分析市场主要网络设备模拟器的特点,开发出基于浏览器/服务器(Browser/Server)架构的、面向网络实践教学或培训的网络设备模拟器软件系统,并就开发中的关键技术进行了详细的阐述。模拟器前端使用Flash的ActionScript提取设备命令信息,后台采用Java语言开发仿真引擎,通过XML进行前、后端信息的传递。模拟器具有多用户、快速响应、通用设备等特点。

关键词:网络设备模拟器;B/S结构;RIA;Java;XML

中图分类号:TP311 文献标识码:B

文章编号:1004-373X(2008)11-156-03オ

Design and Development of Network Equipment Simulator Based on B/S Structure

ZENG Jun,YANG Hongmin

(Zhejiang Province Educational Equipment and Work-study Management Center,Hangzhou,310002,China)

Abstract:By analysing the features of major network equipment simulator,a browser/server-based network simulation software for network practice teaching or training is developed,and the key technologies of development is described.In front of simulator,using flash actionscript to extract equipment order information.In back,using the Java language develop simulation engine.XML is used for passing information between front and back.At last,the simulator has features of multi-user,fast response,common characteristics of equipment.

Keywords:network equipment simulator;B/S structure;RIA;Java;XML

1 引 言

随着计算机网络的高速发展,对各类网络人才的需求使得各类网络培训蓬勃发展。其中的网络设备操作培训需要使用昂贵的网络设备,这无论对培训机构还是对培训学员都是沉重的经济负担。用软件来模拟网络设备的工作过程是解决问题的途径之一。目前已经有了很多网络设备模拟器,其中比较好的有针对Cisco的网络设备模拟器(如:NetSim)和针对华为的网络设备模拟器(如:RouteSim),前者的功能齐全,针对性强,而后者只能限于网络初学者,功能较为简单。这些网络设备模拟器多数是单机版的形式,并只针对一种类型的设备,常用于指定企业上岗培训。

为此,我们根据高校计算机网络实践教学和培训的实际,设计开发一种基于B/S结构的网络设备模拟器,以实现多用户的同时使用和协作学习。模拟器还能实现同种类型设备的不同型号(CISCO,华为等)的互连和指令支持,实现通用设备,有利于培训学员全面掌握网络设备操作技能。

2 模拟器系统分析与设计

2.1 模拟器概述

网络设备模拟器的是一种通过计算机软件技术模拟现实中的各类网络设备及其操作。利用软件进行模拟可以让学员在计算机终端上完成模拟多台路由器、交换机的工作,而不用像在真实实验环境中那样不断地往返于不同设备间,频繁地切换端口接线,方便了网络实践课程的教学。另外用软件进行模拟,省去昂贵的设备采购和维护费用,节约了教学成本。

目前市场上的网络设备模拟器种类繁多,制作技术和难度也繁简不一。如华为的网络设备模拟器,他可支持的技术从以太网接入、各种路由协议的配置到安全认证非常全面,而模拟出的设备可以是一台,也可以是几十台,有时所模拟出的网络拓扑结构还可以达到电信级的规模。但他们同时存在着一些问题:首先不同厂商所开发的网络设备模拟器都是针对本产品的模拟,通用性上存在不足;其次都采用单机版结构,在一定程度上降低了可控制性,不利于分散培训;最后就是现有模拟器的可扩展和自配置性差,像华为模拟器就不允许用户自添加一些命令规则。

因此,针对网络培训需求,我们设计开发了基于B/S模式的、能通用设备的、可扩展的网络设备模拟器。

2.2 系统结构

模拟器系统采用浏览器/服务器(Browser/Server)架构(如图1)。整合Web 2.0技术,体现富互联网应用(Rich Internet Application,RIA)思想,运用前台的Flash应用程序与用户交互,丰富用户体验,增强系统可用性。后台从逻辑功能上分为Web服务器和Java应用服务器:Web服务器主要响应用户的Web 请求,包括注册、登录等;Java应用服务器主要响应前台Flash播放器的XML Socket通讯请求、通过调用专家知识实现指令解析、生成连通信息并返还给前台客户端。专家知识库系统是建立的针对特定网络设备的指令知识库,通过XML技术和正则表达式技术对指令格式和领域知识进行形式化,同时建立知识库维护子系统,主要负责知识的维护和更新。

2.3 主要问题和流程

网络设备模拟器的设计和开发需要解决以下问题:

(1) 网络设备指令格式和领域知识的形式化和正则表示,形成指令库,并能实现指令的动态增删。

(2) 后台仿真引擎各功能组件的形式化描述、建模,引擎的设计开发;

(3) 前台设备隐性连接信息的提取,信息描述的传递,相应XML文件的自动生成等;

(4) 基于XMLSocket的前后台通讯协议和功能实现。

相应的功能实现流程如图2所示。

3 模拟器开发

3.1 技术路线

从系统结构图和功能实现流程图中可以看出,模拟器开发中最重要的部分在于前台用户交互界面的设计和实现、后台知识库的建立、命令解析和处理功能的实现以及前台和后台的实时通讯。为此,我们采用了Flash+XML+Application的系统架构,利用RIA技术提高用户的操作体验;利用跨平台的Java语言来编写仿真引擎,检索设备指令知识库;利用Flash的ActionScript提取设备连接信息,自动转换成XML文件来进行信息的传递。

(1) 基于Flash的前端表现技术

网络模拟器前端主要展现命令的输入,相关信息的提示,模拟各个网络组件的拖动、组合等操作,并且要具有与后台通信的能力。本着美观易用的目标,我们选择了Flash来展现人机交互。引入RIA技术,提高用户的网络操作体验。

(2) 基于Java的后台实现技术

网络模拟器的核心功能由后台处理程序完成,主要完成命令解析、命令处理、与前端通信等功能,因此选择一种易使用、开发效率高、网络处理能力强、XML处理能力强的语言是有必要的,最终我们选择了Java。Java应用程序运行在异质的机器、异质的操作系统之上,通过TCP/IP进行信息的交流;Java应用程序之间既可以交换消息,也可以交换程序(如一个applet);Java的开源特性又为组件带来更多的可选择性,在对XML处理上,既可以选择JDK自带的处理包,也可以采用开源包,因此在一定程度上具有比较多的可选择性。

(3) 基于XML的信息通信技术

在网络设备模拟器的实现过程中,涉及到后端服务器和前端Flash通信的要求,也就是要求基于Java的应用要和基于Flash的应用通信,如何表示通信信息的约定是一个重要的问题,这个通信约定必须是被双方认可并能识别,XML正是这样一种信息表示载体。

XML(Extensible Markup Language,可扩展的标记语言)是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。在网络设备模拟器的通信约定中首先定义一系列通信协议,这些协议以XML形式表示,接受端在接收完通信协议后用XML解析器解析XML协议,这样就能很好的识别各种情况。因此,XML在这里作为连通前端和后端的桥梁。

3.2 RIA技术

考虑到C/S架构在部署和更新方面的缺点,我们使用了B/S架构来搭建系统。但B/S架构的系统因受HTML的限制,无法像C/S那样使用丰富的效果来展示数据,用户体验比较差。另外,网络中断将使B/S程序无法运行,因此需要有稳定的客户端/服务器连接。网络设备模拟器既需要有C/S那样丰富的客户端数据展现和稳定的系统功能,又需要有B/S强大的服务器端和使用、维护的方便快捷,RIA为我们找到了在客户端和服务器端进行更好的平衡的方法。

RIA是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本布署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。RIA中的 Rich Client提供可承载已编译客户端应用程序的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的Web服务所驱动。结合了声音、视频和实时对话的综合通信技术使RIA具有前所未有的网上用户体验。

在实现RIA的各种技术中,我们选用基于Flash的RIA,因为系统有个非常复杂的用户交户,需要展现大量的图形、图像,以及要进行大量的矢量操作。FlashRIA在界面美观程度、多媒体表现、开发便捷及很多开发细节上有很大的优势。

4 结 语

采用B/S架构设计和开发网络设备模拟器,可以把复杂的网络设备操作命令和过程同时展现在多个客户端,方

[CM(21*2]便网络课程实践教学,节省设备开支,有利于网络实践知[CM)]

识的普及。在模拟器的客户端,采用RIA技术,构建了直观、易用、反应迅速并可以脱机使用的,具有良好客户体现的前端应用程序;在服务器端,开发了丰富的和可扩展的命令解析程序和指令库,实现多种网络产品的互连和通用,并使用RIA和XML实现前后端信息的异步交互,在保证信息传送正确的前提下,在无刷新页面之下提供快捷的界面响应时间,增强了用户体验。

本文创新点:在B/S架构下搭建网络设备模拟器,可以方便用户使用和进行管理;在开发实现过程中,利用RIA来改善系统的网络性能,改善用户的体验;利用JAVA开发仿真引擎,集成多种网络设备和产品,实现通用设备;系统在受限的网络实践教学或培训中得到了很好的应用。

参 考 文 献

[1]周林,谢峰.基于RIA架构的应用开发改进方案[J].微计算机信息,2007(6):221-223.

[2]陈再良,徐德智,陈学工,等.基于链式结构XML文档的生成方法[J].计算机工程,2006,32(20):59-61.

[3]曹晓军.虚拟机技术的应用研[J].甘肃广播电视大学学报,2006(2):75-77.

[4]祝义,朱晖.基于虚拟机的虚拟实验网络[J].计算机与现代化,2004(4):87-89.

[5]肖汉.基于Java平台的通用构件库的研究与设计[J].计算机工程与设计,2006(15):2 737-2 743.

[6]周翔.关于当前若干主流网络仿真软件的综述及实例应用分析\[EB/OL\]..2006.

作者简介 曾 隽 男,1971年出生,浙江龙游人,浙江省教育装备与勤工俭学管理中心工程师。主要从事现代教育技术的研究。