虚拟网络设备实验室

2024-10-04

虚拟网络设备实验室(精选12篇)

虚拟网络设备实验室 篇1

前言

实验是教学活动中必不可少的过程, 很多学科都是以实验课程为基础, 尤其是对于一些实践性较强的学科。实验对于培养学生的实际操作能力和解决问题的能力是至关重要的, 学生的大部分实践能力都是通过实验得到的。但由于一些实验设备价格不菲, 一些学校无力购置, 致使实验室设备不足, 严重影响了实验教学的开展

迅速崛起的现代教育技术把虚拟实验引入到了实验教学中。虚拟实验的应用改变了传统的教育模式, 使得教与学的方式发生了革命性的变化。当前, 丰富的软件资源为虚拟实验的开设提供了必要的基础条件。通过网络虚拟实验室, 能够利用计算机在网络中模拟一些实验现象或是实验设备, 它不仅能够提高实验教学效果, 更加重要的是对一些缺乏实验条件的学校, 通过运用虚拟技术同样能使学生如身临其境。

虚拟网络设备实验室的发展及特点

虚拟技术为实验室提供了一个独特而又经济的方式来产生真实的实验室环境。它可以产生一个定制的并装配有诸如路由器、交换机、安全设备和工作站等设备的虚拟环境。虚拟实验室主要是基于软件技术, 从工作性质来看, 有三类这样的软件, 分别是模拟硬件、模拟实验过程和设备共享。从架构上来分, 可以分为基于C/S (或B/S) 架构和独立软件。

设备共享模拟软件接受用户界面发送的实验请求和实验参数, 使用实验参数配置与之连接的硬件设备, 由硬件设备进行实验, 并将实验结果返回服务端, 最后返回到用户端, 实现了设备的共享与实验数据的共享。该项技术主要采用真实的物理设备, 虚拟多个终端实现实验设备共享, 典型的应用如打印共享、超级终端等。

模拟过程模拟软件接受用户界面发送的实验请求, 分析和处理实验参数, 经过计算模拟最终将结果返回客户端。整个系统不涉及具体的实验硬件设备, 只是利用软件模拟实验的过程。这种模拟实验过程的模拟器一般功能比较单一, 仅能实现有限的实验。也就是模拟软件具备了什么功能, 就只能实现什么样的实验, 可扩展性较差。典型的应用有Boson公司推出的Boson Net Sim模拟程序, Gambit软件包中的Gambit Mimic Simulator Suite软件, 还有一些用Flash做的模拟器。

硬件模拟这是虚拟设备中最真实的一种虚拟技术, 它模拟的是硬件环境, 包括CPU内核、存储器、存储器管理单元、缓存单元、串口、网络芯片、时钟等。在此虚拟设备的基础上可以安装运行相关的软件。典型的应用有Sky Eye、VMWare、Qemu、Dynamips、Pemu等软件。

从以上分析的三种虚拟技术来看, “模拟过程”最容易实现, 但局限性最大, 不可扩展是其最大的弊端;“设备共享”的实验结果最为真实, 但往往有其他方面的限制, 如Linux的远程服务, 如果各个终端用普通用户登录, 则不能使用超级用户的命令, 如果用超级用户登录, 则各个登录的用户之间会相互干扰;“硬件模拟”是完全模拟硬件的执行指令, 各种指令和硬件执行一样, 这样, 就拥有了一台“软设备”, 只不过在性能上大打折扣, 但已能够满足学校建立虚拟网络设备实验室的要求。本文将基于“硬件模拟”技术对网络设备实验室的设计与实现加以论述。

虚拟网络设备实验室相关软件介绍

VMWare是被广泛应用于虚拟PC机的系统软件, 它可以提供基于CPU的虚拟PC机系统环境, 包括CPU、BIOS、硬盘和其他外围硬件设备, 使用户可以在一台PC机上同时运行多个操作系统。它甚至可以虚拟出不同型号的网卡来实现相应的功能。例如, 它默认虚拟的是AMD PCNet AM79C970A网卡, 但也可以改变网卡配置, 虚拟出Intel (R) PRO/1000和VMware PCI Ethernet Adapter网卡。

Dynamips是一种模拟各种思科路由设备的一款模拟器, 通过运行不同的IOS来模拟不同型号的路由器。它目前可以模拟Cisco2691, 3620, 3640, 3725, 3745和7206硬件平台, 在虚拟的模块化路由器中, 可以通过配置文件为不同的插槽插入不同的模块, 如NM-4T、NM-4E、C7200-IO-FE等。通过加载NM-16ESW交换模块还可以做交换的部分实验。此外, 通过和本地网卡桥接, Dynamips模拟器还可以直接和外部网络进行通信, 外部机器可以用Telnet、SSH、SNMP等多种有效的方法来配置和管理虚拟的路由器设备。

Qemu是一套模拟主机的自由软件。它能模拟整个电脑系统, 包括中央处理器及其他周边设备。它最大的优点在于它是开源的, 可以通过修改相关代码来虚拟其他硬件, 在构建虚拟网络实验室构建中, 可以用它虚拟Cisco的ASA和PIX设备。

Pemu是基于Qemu软件开发出来的一个思科PIX防火墙模拟器。由于该模拟器是模拟思科PIX防火墙的硬件, 所以, 在此硬件基础上的PIX OS软件都可以支持, 并可以通过在虚拟的PIX硬件上安装相应的ASDM版本来通过WEB界面进行配置。Pemu模拟器虚拟的PIX防火墙支持TAP、PCAP和LCAP接口, 通过这些接口可以与本机真实网络或虚拟网卡通讯, 并且最多可以支持8个网络接口, 可以完成大多数网络教学实验。

构建虚拟网络设备实验室

虚拟网络设备实验室实现的基础是计算机软件技术、网络技术与设备技术的结合。虚拟设备技术与认知模拟方法的结合也赋予虚拟实验室智能化特征, 无论是学生还是教师, 都可以自由地进入虚拟实验室操作设备, 进行各种实验。不但为实验类课程的教学改革及远程教育提供了条件和技术支持, 还可以随时为学生提供更多、更新、更好的设备。

VMWare软件可以在一台计算机中虚拟另一台或多台从硬件配置到操作系统完全相同或完全不同的计算机。这些虚拟计算机可以像真正的计算机一样设置BIOS、分区和格式化硬盘、安装操作系统和应用程序、设置网络参数、配置网络服务等。虚拟机作为重要的实验或实验工具被广泛应用于实现单机实验、对等网实验、服务器/客户端网络实验, 也可以用来实现局域网络、广域网络实验。Dynamips模拟器可以虚拟一台或多台互联的路由/交换设备, Pemu和Qemu软件可以虚拟一台或多台PIX/ASA安全设备。把这些虚拟的计算机、路由器、交换机、防火墙互联, 就构成了一个完整的网络设备实验台。该实验平台结构如图2所示。

从图2可知, 要搭建一个虚拟网络设备实验平台, 关键是需要一台高性能的宿主机, 在此基础上可以虚拟出所需的网络服务器、路由交换机设备、防火墙设备。修改VMWare软件的一些配置, 甚至可以虚拟出Cisco模拟器的IDS、IPS、NAC、MARS、CCM等设备。网络设备在使用时, 通常都不是孤立的, 而是互联的。以上平台的构建是基于VMWare、Dynamips、Pemu和Qemu等软件, 各个软件是孤立的, 要把它们虚拟的网络设备互联起来, 这个连接的桥梁就是虚拟HUB。虚拟HUB可以是VMnet、TUN/TAP, 也可以是微软回环适配器 (Microsoft Loopback Adapter) 。假设有如下网络拓扑图:

在该实验拓扑中, 用VMWare软件虚拟PC机, Pemu软件虚拟PIX防火墙, Dynmamips软件虚拟路由和交换机设备。要将各个设备互联, 则只需将PC机的网卡用自定义的方法连接到VMWare的VMnet1上, 同时在虚拟交换机连接配置文件中, 用虚拟交换机的以太网接口 (如F0/0) 连接到VMware的VMnet1上去。例如, 连接语句F0/0=NIO_gen_eth:DeviceNPF_{BA68CE2E-1ACE-4DCB-AF5D-92179DD5F49C}, 其中BA68CE2E-1ACE-4DCB-AF5D-92179DD5F49C为VMnet1的传输名称, 表示PC机的网卡连接到VMnet1, 交换机机的F0/0也连接到VMnet1, 这样虚拟的PC机就可以与虚拟的交换机通讯了。同样, PIX和交换机之间通过VMnet2连接, PIX和路由器之间用VMnet3连接。在这里, VMnet的功能形同一个HUB, 这样, 就构成了多个虚拟设备之间的互联。

在一般的教学过程中, 一台PC机只能搭建一个设备互联平台, 但如果某个实验拓扑比较复杂, 涉及几十台路由器、交换机设备和网络服务器, 由于内存和CPU的限制, 一台PC机难以完成, 这就需要用到分布式的试验环境, 也就是有多台PC机共同完成这一试验。Dynamips软件支持分布式的试验环境, 特殊的通讯配置方式也为远程试验提供了基础。

结论与展望

虚拟网络设备为实践教学与培训提供了一个交互式的、以实践为主导的、独特而经济的实验环境。独特的实验环境也为远程实验提供了可能, 网上实验已成为远程教学研究的重要方向。虚拟网络设备实验室的优点是经济实惠、部署简单、操作灵活, 实验过程中不会出现诸如物理连接故障、线缆故障等意外, 可大大缩减实验时间, 从而提高实验效率。缺点是所有虚拟设备全部依赖于宿主机, 一旦宿主机不稳定, 实验将难以保证。此外, 虚拟设备之间的连接需要手写配置文件, 这个过程容易出错, 造成虚拟设备之间无法连通。这也是该实验室需要改进的地方, 经过改进后, 将通过一个可视化图形界面, 用鼠标的点击以及拖曳操作进行虚拟实验。

参考文献

[1]王建新, 凌亮, 王伟平.基于WWW的“计算机网络”虚拟实验室的设计与实现[J].计算机工程, 2005, (6) .

[2]杨永华, 应海盛, 卢畅.高校网络实验室的建设[J].浙江海洋学院学报 (自然科学版) , 2005, (2) .

[3]孙智勇.计算机组网虚拟实验系统的研究与实现[D].重庆:重庆大学, 2006.

[4]郭绪坤.虚拟网络工程实验室设计和关键问题研究[D].广州:华南师范大学, 2007.

[5]李向丽, 李磊, 陈静.网络实验仿真与网络技术实践[J].计算机技术与发展, 2006, (3) .

虚拟网络设备实验室 篇2

实验目的:

实验内容:

一、Windows Server2003的安装

1. 打开桌面VMware Workstation(虚拟机),进入Home选项卡,选择New Virtual Machine

选项。

2. 选择典型(Typical)安装后,在Microsoft Windows的Version中选择Windows Server 2003

Enterprise Edition版本。

3. 选择合适的安装目录

4. 网络类型选择Use bridged networking,完成平台的搭建,VMware Workstation出现

Windows Server2003 Enterprise选项卡。

5. 开始安装Windows Server2003,在VMware Workstation的Windows Server2003 Enterprise

选项卡中双击CD-ROM,在弹出的对话框中选择Use ISO image,然后点导入一个win2003.ISO文件,点击ok。

6. 在VMware Workstation的 Windows Server2003 Enterprise选项卡中选择Start this cirtual

machine 就开始安装Windows Server2003 Enterprise了。

7. 产品序列号为CPWMR-DB94Q-2FMHX-KFK6R-X7FDY

8. 等待安装完成即可。

二、Windows Server2003安装后的优化

1. 优化界面:首先安装VMware Tools:在VMware Workstation的 Windows Server2003

Enterprise选项卡点击鼠标右键,选择Install VMware Tools。

思考:怎么样在桌面添加“我的电脑”、“网上邻居”等图标。

接着,显示桌面主题:点击“我的电脑”右键选择“管理”。在弹出的“计算机管理”对话框中选择“服务和应用程序”中的“服务选项”,在右边的框中双击“Themes”,在弹出的对话框中启动类型选择“自动”,服务状态选择“启动”点击确定完成。这样就可以显示Windows Server2003 Enterprise版本的经典桌面了。

2. 在关机时不显示“关闭事件跟踪程序”

在此时,点击关机,会看到有“关闭事件跟踪程序”这一选项。接下来我们通过设置,关闭这一选项。

在“运行”中输入gpedit.msc,弹出“组策略编辑器”,双击“计算机配置”的“管理模板”中的“系统”中的“显示关闭事件跟踪程序属性”,在弹出的对话框中选择“已禁用”,完成后,可再点击关机选项,看看有什么不同。

3. 添加Windows组件

虚拟网络设备实验室 篇3

关键词:虚拟现实;实验教学系统;构建

中图分类号:TP37 文献标识码:A文章编号:1007-9599 (2011) 03-0000-01

Constructing of Network Virtual Experiment Teaching System on Virtual Reality Technology

Li Xiuluan

(Marine Department of 91,040 Troops North China Sea Navy,Qingdao 266231,Chian)

Abstract:The current problems in the experiment teaching were analyzed,and presented the major advantages for the applicatin of network virtual experiment teaching system.The paper conducted a study to construct network virtual experiment teaching system based on virtual reality technology,and specifically analyzed the functional models and the system framework,etc.

Keywords:Virtual reality;Experiment teaching system;Construction

传统的实验教学模式常常以教师为中心,学生要按照教师的布置来完成实验操作。实验中缺少交互的情况广泛存在,使学生常处于被动状态,对于学生主动性学习和创造能力的培养不利。虚拟实验的概念是随着计算机和网络技术的发展而发展起来的,能够使实验者像在真实环境中一样完成预定的实验项目。本文重点结合虚拟现实技术和网络技术来设计一个网络虚拟实验教学系统,并给出系统模型和功能的设计。

一、网络虚拟实验教学系统开发的需求分析

随着素质教育的逐步推进,教育领域对于实验教学的要求也越来越高。传统的实验教学受到实验器材、场地以及其它环境条件的限制,存在许多问题,主要包括以下几个方面:第一,实验中演示性和验证性内容多,实验步骤和方法固定,过程单调,学生在实验中往往忽视对实验现象和实验过程的观察和思考,不利于学生主动性、创造性思维的培养。第二,实验运行效率低、成本高的问题严重。传统实验器材购置和运行成本高,功能有限,支持的实验内容少,容易造成实验设备闲置和实验室空间浪费。第三,实验手段落后,教学效果有限。随着教育改革的不断深入,对教学实验设备的要求也越来越高,但实验设备的更新却很难同步进行,实验手段落后的问题大量存在。

随着计算机技术和网络技术的发展,虚拟实验教学发展很快。网络虚拟实验教学系统是一个基于网络环境的实验教学系统,系统中大量采用数据库、网络、虚拟现实、计算机仿真等技术,能够为学习者提供虚拟的实验环境。与传统实验相比,网络虚拟实验教学系统突破了实验设备硬件的限制,可以根据不同的实验内容调用不同的虚拟实验单元,并将其组合成不同的实验,能够节省实验资源,学生可以通过自主或者在教师指导下方便的进行实验项目的选择,能够有力的提高学生学习的主动性和激发学生的学习兴趣。

二、基于虚拟现实技术的网络虚拟实验教学系统的构建

从教学和管理的角度看,网络虚拟实验教学系统主要包括三类用户:系统管理员、教师和学生。从逻辑结构上看,网络虚拟实验教学系统可分为教师平台、学生平台和系统管理员平台。这三类用户均运行于基于Web的浏览器/服务器(B/S)模式的系统平台之上,网络虚拟实验教学系统的模型结构如图1所示。

系统各个组成部分的主要功能如下:

学生平台:学生在系统中占据中心地位。学生可以经过授权进入虚拟实验教学系统,进行实验项目的选择和实验的相关操作。包括学习实验教学课件、掌握实验原理、观看实验演示过程、了解实验仪器和设备等。之后,学生即可通过设定的实验项目来选择实验仪器和设备,进行仿真实验操作,并对实验结果和实验数据进行分析。实验过程中,学生可以通过系统提交实验报告,随时提出问题并与教师交互学习。教师平台:教师主要是对实验教学的资源进行制作和管理,包括制作实验教学课件,更新和补充实验资料,对虚拟实验对象的数据库进行管理和维护,生成实验项目,监控实验过程,评价实验结果,解答疑难问题等。管理员平台:负责对系统用户进行管理,进行系统安全策略管理和管理与系统配置。虚拟实验仿真系统:虚拟实验仿真系统作为整个系统的控制中心和最关键的构件,用来将各种实验资源、仪器、实验条件、结果和策略等组合在一起呈现给用户,学生通过虚拟实验仿真系统生成的实验对象和仪器进行实验。虚拟实验仪器设备及对象库:用来存放虚拟实验设备和仪器。实验条件和结果库:用来贮存实验条件和实验结果。

三、结束语

实验教学是配合理论教学的关键教学环节,是实践教学的重要组成部分,对于培养学生分析和解决问题的能力以及学生的实践能力都具有重要作用。文中结合虚拟现实技术,对网络虚拟实验教学系统的基本构建进行研究,给出了网络虚拟实验教学系统的模型结构,致力构建实践性强、仿真性好的虚拟实验教学系统。

参考文献:

[1]王国权等.虚拟试验技术[M].电子工业出版社,2004,05

[2]徐紅,刘羽,王林.网络虚拟实验室建设的研究[J].实验科学与技术,2007,5(4):132-134,147

网络虚拟实验室初探 篇4

Client/Server结构

Client/Server是建立在局域网络基础上的一种分布式计算结构, 面对固定的用户群, 安全性能比较好。但是, 局域网之间需要通过专用服务器提供链接和数据交换服务。Client/Server结构的应用程序由客户部分和服务器部分组成。客户部分负责执行前台功能, 管理用户接口、报告请求、数据处理等, 负责接受和应答客户端请求、控制用户对数据库的共享操作、管理共享外设等。

Browser/Server结构

Browser/Server结构是随着Internet技术的兴起对Client/Server结构的改进。在这种结构下, 用户界面完全通过WWW浏览器实现, 一部分事务逻辑在前端实现, 但是主要事务逻辑在服务器端实现, 如:对数据库的访问和应用程序的执行等, 形成所谓3-tier结构。Browser/Server结构利用不断成熟的WWW浏览器技术, 结合浏览器的多种Script语言和Active X技术, 使用通用浏览器来实现原来需要复杂专用软件才能实现的强大功能, 是一种全新的软件系统构造技术。大大简化了客户端的工作, 无拘有线或无线方式接入实现跨平台的网络实时操作。开发和使用成本低, 调试、维护、升级都很方便, 是构建网络虚拟实验室的首选结构。

网络虚拟实验室的特征分析

基于WEB的虚拟实验室具有仿真性、共享性、交互性、及时性、广布性、协作性等特征, 这些特征是衡量构建WEB虚拟实验室完善与否的重要指标。网络虚拟实验室的仿真是通过虚拟现实建模语言Virtual Reality Markup Language (VRML) 来实现的, VRML是三维形体和交互环境的场景描述语言。对动画、视频、脚本等能够提供较好的支持。具有分布式、三维、交互性、多媒体集成、境界逼真等特性。VRML是第二代网页的关键技术之一, 与WEB超级链接HTML语言一样, 它较好地解决了数据宽带与处理能力二者间的矛盾。是基于文本的、描述图形三维造型和渲染的最佳语言。在描述虚拟事物中, 它把场景中的一切都当作对象, 通过节点来描述模型、光源、声音等。网络虚拟实验室的突出优势

1.减少校方投资

学校用于建设各类学科实验室的投资不是小钱而是巨资。从场地、房屋到设备、配套器材以及实验耗材等, 学校需要投入巨额资金而且不能一次性到位。尤其是理工科院校, 专业实验室林立, 学校每年都需要为开设实验、实习课程投入大量的人力、物力和财力。基于现代网络技术、网络多媒体技术和网络虚拟现实技术而开发构建的网络虚拟实验室, 一方面为学校实验教学改革开辟了新的途径, 另一方面也为学校教育节省了巨额资金。学校不再为没有钱修缮实验室房屋、更新实验设备、购买实验耗材而犯愁, 也不用担心昂贵的实验仪器、仪表遭受损坏。

2.实时共享开放

网络虚拟实验室实时、共享、开放的特性, 既满足了不具备实验条件学校学生需要做课程实验的要求, 又满足了很多学生自主学习的欲望。利用网络虚拟实验室进行课程实验或科学研究可以不受时间、地点以及实验内容的限制, 有利于学生根据实际情况自主学习。其共享性一方面体现于不限制实验人数, 另一方面体现于学生可以自由组合做同一项目的实验, 有利于学生协作实习、共同探讨、研究问题。

3.虚拟场景逼真

虚拟实验是在虚拟场景中, 参照实验教材和相关资料通过操作虚拟仪器、设备以及器材、耗材等对所学理论知识的进一步认知活动过程。实验过程中, 学生有身临其境的感受, 能观察到在教室里和书本上见不到的实验现象。

4.低成本高效率

网络虚拟实验室中的实验仪器和设备可以同时提供给多人使用, 实验耗材能够无限制地重复使用, 大大降低了实验成本。任何人都可以体验对高档、大型、精密仪器的操作, 国家重点实验室价值昂贵的高级设备装置可以在网络虚拟实验室中充分发挥作用, 不用担心由于使用不当, 管理不善等原因而造成仪器、设备损坏或元器件丢失。

网络虚拟实验室的明显缺陷

1.以假乱真、误导认知

使用虚拟现实建模语言VRML和三维动画编程工具3DMAX所开发构建的WEB虚拟实验室, 其场景逼真几乎可以乱真。值得注意的是, 无论是物理实验还是化学实验或其它专业性实验, 虚拟是不能够取代现实的。尽管虚拟技术可以模拟现实场景以及光源、声音等, 也可以模拟发生事件的全过程, 但在随机触发事件中所表现出的延时回应与现实操作的状况却有着明显的差别。现实中实验设备在使用时可能会出现一些异常故障, 如机器发出异常声音, 手柄失灵等等。但是, 虚拟实验室中的仪器设备却保持着永久的完好率。

2.束缚思想、因小失大

建立虚拟实验室的探导 篇5

建立虚拟实验室的探导

建立虚拟实验室,将课程所涉及的部分实验内容在虚拟的实验环境中重现,构造一个无墙的实验中心,通过计算机网络系统,学生将不受时空限制,随时随地的`共享虚拟的仪器设备,共享数据和计算机资源,进行虚拟实验活动,并可以得到教师的远程指导.对实现现代化教育有着十分重要意义.本文结合<计算机组装与维护>课程教学内容,虚拟计算机的组装、BIOS设置、分区、操作系统的安装、计算机软硬件的故障仿真、病毒仿真及分析等实验内容.探讨虚拟实验室开发所涉及的关键技术.对其他课程的虚拟实验室的研究与开发也有着重要指导意义.

作 者:林禹万  作者单位:江苏省徐州市广播电视大学,江苏徐州,221006 刊 名:中国科技博览 英文刊名:CHINA SCIENCE AND TECHNOLOGY REVIEW 年,卷(期):2009 “”(12) 分类号:G 关键词:虚拟实验室   仿真   虚拟现实  

虚拟网络设备实验室 篇6

关键词:网络技术;虚拟实验;Flash;虚拟现实;模拟配置

中图分类号:G434文献标志码:A 文章编号:1673-8454(2014)10-0078-03

一、引言

计算机网络技术是高校计算机及相关专业的一门实践性很强的课程。然而由于一些实验项目受到场地、设备和时间多方面因素的限制,目前网络技术实验过程中还存在一些问题。不少学生反映实验时间不足,在规定时间内难以完成预期的实验任务;学生对一些实践操作掌握情况不佳,一旦离开实验室则会缺乏特定设备或实验环境而无法自行练习。因此,不少高校使用某些网络模拟软件来辅助实验教学,[1][2]但这些软件通常仅适用于特定品牌的硬件设备,与学校实际购置的实验设备可能并不一致,学生在进行配置操作时会存在一些差异。此外,对于非计算机专业的学生而言,这些软件也显得有些复杂。

为了创建简单实用的实验环境,可以尝试借助某些模拟配置软件或第三方编程工具,对网络技术常见实验项目进行仿真,在计算机桌面上实现可自由练习操作的虚拟实验配置,以促进实验教学的有效开展,克服因客观原因对实际教学造成的不利影响。

二、虚拟实验的实现手段

网络技术虚拟实验实现手段大体上可分为两种,一种是基于已有的模拟软件设计虚拟实验,另一种是开发者利用第三方编程工具自行设计开发虚拟实验。目前国外一些培训机构和网络设备提供商提供了各种模拟配置软件,可支持全仿真的命令,能较好地模拟常见网络设备的配置操作。其中典型的模拟软件包括Boson Netsim、Network Simulator、Packet Tracer和Dynamips。Boson Netsim模拟软件自带多个实验拓扑,其界面为用户提供了一种操作真实路由器的体验,此外还附带了一个Network Designer,为用户提供可视化的实验环境。Network Simulator 是一款开源、免费且广泛使用的软件模拟平台,使用它可以很容易进行网络技术的开发,但它对初学者来说比较难于掌握,需要较长时间的学习。Packet Tracer是思科公司针对CCNA认证开发的一款可用于设计、配置和排除故障网络的模拟软件,具有逼真的操作界面,用户可以自由选择路由器、交换机、计算机和各种线缆并对其进行配置,适用于学习网络基础知识的新手。Dynamips也是思科公司一款用于模拟路由器的仿真软件,可以测试和实验Cisco IOS操作系统中的许多功能和特性,它适于作为思科网络实验室管理人员的辅助工具,同时也广泛用于CCNA/CCNP/CCIE考试的辅助工具。

除了以上常见网络实验模拟软件以外,开发者也可使用第三方编程工具设计虚拟实验。这类工具主要包括Flash、ActiveX、Java以及VRML等软件或技术。[3]国内一些高校针对计算机网络课程的基础实验开发了若干虚拟实验系统。例如,孙燕莲和文福安(2009)利用Java开发了在线计算机网络虚拟实验系统,能提供与真实实验相同的虚拟设备和操作环境,并支持对网上实验的管理,方便高校在网上构建虚拟实验平台。[4]项慨(2006)结合各种虚拟现实技术,使用VRML、Java和JavaScript技术设计了一种基于B/S模式的网络虚拟实验系统,实现了网络技术课程中的典型实验“路由器配置”。[5]陈小红(2010)在教育技术学本科专业课程《网络基础》实验教学需求的基础上,设计开发了基于Packet Tracer的虚拟实验系统,实现了简单组网实验、路由器和交换机的基本配置实验等虚拟实践项目。[6]

三、虚拟实验系统的设计

在我校教育技术专业开设的《网络技术基础》课程的以往实验中,由于学生操作不够熟练,容易导致设备受损或不能按时完成实验任务,而学生一旦离开实验室就难以自行练习巩固,从而影响了实验教学效果。因此,开发一个简单易用的虚拟实验系统具有必要性和迫切性。本虚拟实验系统选取了该课程中的几个常见实验项目。

实验室及其拓扑结构:主要用于展示网络实验室的硬件设备及连接方式,便于学生熟悉和理解网络实验室的设备特性及其拓扑结构,为后续实验项目打下基础。

操作系统安装与备份:由于该实验具有一定的风险,学生若误操作会导致系统数据丢失,因此可以预先通过虚拟实验模拟操作,以熟悉和掌握正确的操作步骤和技巧。

小型局域网的组建:包括网线制作、设备互联、局域网资源共享及无线局域网配置。

交换机的基本配置:包括VLAN创建与路由、端口聚合和安全配置等常用操作。

路由器的基本配置:包括静态路由、动态路由、ACL和NAT配置等常用操作。

在以上各个实验项目中,除“操作系统安装与备份”项目以外,均对实验设备和场地有特定的要求。而虚拟实验则有助于缓解和克服相应的局限,并能有效降低设备的损毁率。

四、虚拟实验系统的开发

1.选择开发工具

考虑到开发技术难度及实际教学需求,选取Flash作为主要编程开发工具,并借鉴软件工程的方法来开发虚拟实验系统。该软件对于师生而言较为熟悉且容易掌握,产品开发的周期也相对较短。一方面,可以借助Flash的一些优势如生动形象的动画效果来逼真演示某些实验设备特性及其连接方式,以便于学生仔细观察和模仿操作;另一方面,也可以借助Flash强大的交互功能,设计支持学生与计算机通过交互模拟设备的配置过程,在一定程度上提高实验效率和效果。

2.快速原型化开发

在正式开发虚拟实验系统之前,需要选取部分实验项目进行原型化开发,以期更早地发现开发过程中可能出现的问题,并有助于整体上缩短软件系统的开发周期。针对交换机基本配置实验,选取了“配置SVI实现VLAN间路由”这一子实验,使用Flash编程初步实现该子实验的虚拟配置,经测试修改能较好地模拟实际操作过程,并具备一定的错误识别功能。此外,结合实际教学需要对已有的实验手册进行修订,并以此作为虚拟实验的开发蓝本。针对历年实验教学中遇到的常见问题和解决方法,也将在虚拟实验系统中加以体现。

3.系统开发关键问题

(1)代码自动判断

以“交换机基本配置”为例,将设备配置过程中的关键代码按顺序存储到规则库中,并将用户输入的命令内容转化成字符串并进入验证函数。通过比对规则库中的关键代码,判断用户输入代码的合理性。通过缩写词自动判断函数,支持配置命令中系统关键字的简写识别,例如configure terminal命令只需用户正确输入以上两个单词的前三位字母即可识别并能自动补全命令代码。此外,利用空格函数实现对用户输入代码过程中多余空格的自动处理,当用户输入的代码经过判断正确无误后,自动显示下一行命令模式以及等待输入的光标。

(2)代码自动纠错

在用户配置设备的过程中,若输入的命令包含不正确代码,将由错误验证函数进行处理,并提示代码出错的可能位置。若用户针对同一行代码连续三次输入错误,系统将给出正确命令提示。若用户第四次输入仍然出错,则会终止本实验子项目的配置过程,要求用户仔细阅读实验手册后再次尝试配置。此外,在用户配置本地连接的IP地址、子网掩码和网关信息的过程中,若用户输入的参数超出范围,也会实现自动报错。

4.操作界面仿真

本实验系统在细节方面对实验环境和操作步骤进行了模拟和仿真,力求和真实实验过程相似或一致,如图1所示。在“交换机基本配置”实验项目中,通过模拟Web管理界面和Telnet命令窗口为学生提供全仿真的实验环境;在“实验室及其拓扑结构”项目中,不仅有实验设备的静态照片,还借鉴了Flash 3D技术对实验设备进行三维展示,[7]以方便学生对其进行全方位的细致观察。在配置设备的过程中,通过实时获取用户当前系统环境的相关参数(如系统时间、IP地址),并在虚拟环境中得以一致的体现,以增强虚拟实验环境的逼真性。

五、系统试用效果

一些研究表明,虚拟实验能够有效弥补真实实验的不足。[8][9]本虚拟实验系统经过一个学期的开发,并进行了多次测试和修改,最终用于《网络技术基础》课程的实验教学。该系统除了包含各个功能模块相应的swf文件以外,还提供了较为详细的软件说明和使用帮助。经过师生的初步试用,总体上效果良好。尤其是针对那些耗时较长、易损设备、过程复杂的实验项目,该系统成为学生课前预习和课后巩固的有益工具,有效地缓解和克服了原有实验教学中存在的场地、设备和时间等方面的局限,保障了各个实验项目预期目标的顺利达成。

参考文献:

[1]李海龙,徐东辉,李卉.基于Boson Netsim 的网络工程虚拟实验[J].高校实验室工作研究,2012,111(1):40-41.

[2]农坚.基于Packet Tracer搭建网络工程虚拟实验环境[J].教育教学论坛,2010(33):128-129.

[3]杨章伟,江峰,张婉婉.计算机网络虚拟实验环境的研究与实现[J].萍乡高等专科学校学报,2011,28(3):46-50.

[4]孙燕莲,文福安.虚拟实验教学的探索与实践[J].现代教育技术,2009,13(4):131-132.

[5]项慨.基于网络的虚拟实验系统的研究[D].武汉:华中师范大学,2006.

[6]陈小红.基于仿真软件的虚拟实验设计与应用[D].上海:上海师范大学,2010.

[7]徐妲,钟绍春,马相春.基于Flash 3D技术的小学立体几何教学平台的设计与实现[J].现代教育技术,2013,23(4):119-124.

[8]丁美荣.虚拟实验与真实实验整合的计算机网络研究性实验教学探究[J].实验技术与管理,2011,28(5):163-166.

[9]王姣,张学军.虚拟实验与真实实验的比较研究——以“网络基础及应用”实验教学为例[J].中国远程教育,2013(9):78-82.

网络虚拟实验室的设计与实现 篇7

关键词:虚拟实验室,RMI,Java Bean

1 引言

美国国家研究委员会把虚拟实验室定义为:它是一个无墙的中心,通过计算机网络系统,研究人员或学生将不受时空的限制,能随时随地与同行协作,共享仪器设备,共享数据和计算资源,得到老师的远程指导以及同行间的相互研讨。[1]通过虚拟实验室提供的实验支持可以更有效的理解所学课程,这对现代化教育、特别是现代远程教育具有十分重要的意义。基于Internet的计算机网络虚拟实验室是对目前兴起的计算机远程实验教学的一个发展,如何在远程教学中实现实验教学已成为近年来的研究热点。

2 国内外研究现状分析

近年来,国内外的许多科研机构和高校都对虚拟实验技术进行了大量有益的尝试。在一些著名大学,已有较多建好并投入使用的虚拟实验系统。美国Clarkson大学用Java Applet设计的基本电路教学课程实验室Electronic Teaching Assistant[2];美国Illinois大学的Nmrscope系统,通过Internet研究人员在任何地方都能使用Illinois大学的仪器,如NMRI核磁共振仪;北京大学计算机系开发的基于www的网上虚拟实验室3WNVLAB,该系统己初步实现了CACHE设计与流水线设计等实验。[3]

在国内外开发研制虚拟实验室的热潮中,关于计算机网络课程的虚拟实验环境也有了一定的进展。目前国内外计算机网络课程远程虚拟实验基本上基于软件和硬件两种方法来实现。[4]用软件方式实现,由于网络实验的多样性和复杂性,需要用户编写大量代码,而且绝大多数网络仿真软件语法结构复杂,难以掌握。用硬件方法实现,需要大量的设备,耗费比较大,并且所提供的实验有限,一般仅限于局域网和低层的网络实验,远程交互性能也不好,无法完全解决计算机网络课程远程实验教学的问题。文献[5]探讨了基于虚拟原型技术的虚拟网络实验室设计,给出了虚拟网络实验室架构及网络实验软件系统体系结构,并且以NS2为仿真工具给出了一个本地示例。

NS2(Network Simulator Version2)是目前学术界广泛使用的一种网络仿真软件,集成了多种网络协议、业务类型、路由排队管理机制和路由算法,适用于网络层以上各种网络研究的仿真工作。目前NS2软件主要用于研究人员进行网络协议的设计与开发,有着复杂而庞大的网络元素体系,要使学生理解其体系结构并独立书写仿真代码进行实验难度很大。

本文针对以上计算机网络虚拟实验系统的不足,对网络课程实验教学方式进行了新的尝试。采用多协议网络模拟器NS2作为web服务器的后台计算平台,Nam作为可视化演示工具来构建网络虚拟实验室,结合 Java RMI远程方法调用机制和Java web start发布技术,利用基于组件的方式开发实验设备,将业界流行的开源工具NS2强大的实验仿真功能充分发挥出来,以满足用户的教学和科研要求。

3 系统架构设计

本文提出的计算机网络虚拟实验系统,主要由客户端和服务器端两部分组成。用户先选定实验,然后构造拓扑和设定参数,点击开始按钮提交给系统来运行模拟。客户端通过RMI远程调用机制来实现远程调用服务器端NS2模拟器,客户端根据用户提交的模拟场景生成TCL脚本并以对象参数形式传递给服务器。服务器根据传递过来的参数生成模拟脚本并调用本地NS2模拟器实现请求。模拟结束后服务器把结果返回给客户端,客户端调用本地Nam可视化工具根据模拟生成的Nam Trace文档动态演示模拟过程。客户端界面用Java Applet来实现,虚拟设备以Java Bean开发。当用户下次查看该实验时,可以通过调用Nam对Nam Trace文档直接进行动态模拟,以保证实验的重复性,达到更好的教学效果。系统架构设计如图1所示。采用这种架构设计既可以利用NS2模拟器强大的计算仿真功能又可利用用户和模拟器之间建立的操作平台省去用户学习模拟器的复杂。

4 系统功能架构

客户端通过图形界面对网络元素参数进行设定,输入和修改各种数据参数,实现图形与代码相关联。系统可以立即调用远程仿真模块,执行仿真实验,并得到反馈结果。与传统的利用文本格式手工编写代码相比,这种方法保证了仿真环境与仿真代码的一一对应,减少了原始数据出错的可能性。系统的功能结构如图2所示。这种虚拟实验室架构是对计算机网络课程远程实验教学的一次新的尝试,下面将详细阐述该虚拟实验系统的实现。

5 系统实现

程序运行时,首先调用Java Web Start进行初始化操作,显示系统主界面。客户端提供菜单栏、工具条、虚拟设备属性编辑栏、实验属性编辑栏、实验设计平台、实验对象列表等,用户可以选定需要的实验,通过在设计面板上拖放虚拟设备,构造拓扑并修改其属性来完成实验所需要的网络模拟场景设计。

5.1 RMI在系统中的具体实现

RMI(Remote Method Invocation)是SUN专门为Java应用程序间通信开发的一种远程方法调用机制。通过RMI,一个Java程序可以很方便的调用位于网络上其他机器的Java对象方法,方便了基于Java的分布式应用程序的开发。其系统体系结构由以下三层组成:桩/构架层(stub/skeleton)、远程引用层(Remote Reference Layer)、传输层(RMI Transport Layer)。[6]

采用RMI远程调用机制解决客户端和服务器之间参数传递和结果返回,客户端调用服务器方类对象方法,模拟结束后NS2产生两个结果文档:NamTrace和TraceFile,客户端分别用远程方法getlnvokeNs2(string s)和getTraceFile(string e)得到。在Java中远程对象是实现远程接口的类的实例,远程接口将声明远程调用的每个方法,下面是声明接口NS2Simulator的关键代码:

public interface NS2Simulator extends Remote{

public String getInvokeNs2(String s) throws RemoteException;

public String getTraceFile(String e) throws RemoteException;……}

5.2 客户端软件实现

客户端主要包括实验室虚拟设备的实现,模拟脚本的生成,使用远程服务的客户机程序和对nam可视化工具的本地调用。

5.2.1 实现网络场景编辑器

网络场景编辑器用于实现网络配置方案的输入和存储。输入为用户对仿真目标网络的编辑,输出是目标网络拓扑描述和流量描述。以Java Applet的形式实现虚拟实验室客户端,主要功能是实现用户操作界面,主要包括节点、链路和连接的添加,修改和删除等可视化操作。网络组件各自都有自己的特性,更有共性,采用面向对象技术建造网络拓扑中的组件元素。

5.2.2 实现仿真脚本生成器

通过分别创建相应的TCL子过程并将其连接为网络仿真脚本来实现仿真脚本自动生成。仿真脚本生成器是在网络场景编辑器的基础上,通过已输入的网络拓扑和描述,生成适合于仿真器执行的目标网络仿真脚本。仿真脚本生成器与节点模板、链路模版、流量模版都有接口,它顺序的读取各模板信息生成脚本。编辑器生成的仿真模型数据描述以记录形式存储,具有较好的可操作性和重用性,有利于用户模型的修改和层次建模。网络模型生成的过程基本是按照网络协议分层模型来实现的,将存储表中的仿真模型描述翻译成NS2支持的TCL语句,生成可由核心仿真器直接执行网络仿真的代码文件。代码生成由低到高的层次顺序为:网络拓扑(节点、链路)、路由、传输层、应用层、离散事件调度。

5.2.3 远程调用getlnvokeNs2方法客户端InvokeClient类的主要代码如下:

public InvokeClient{

String tclscript=RunNs.setscript(String tclurl);

try{…

String url="rmi://localhost/simulator"

Ns2Simulator=(Ns2Simulator)Naming.lookup(url+"InvokeNs2Server");

String s=tclscript;

String trace=c.getlnvokeNs2(String s);

…}catch(Exceptione)

5.3 服务器端软件实现

服务器端软件设计主要包括服务方主程序入口、对象方法实现,以及对NS2远程调用的实现。服务器方程序负责启动RMI注册程序并在RMI远程对象注册表中注册被调用的远程对象。服务器实现调用NS2主要代码如下:

public class InvokeImpl extends UnicastRemoteObject implements NS2Simulator{

public InvokeImpl() throws RemoteException {super();} ……

public string getInvokeNs2(String s) throws RemoteException{

String tclscript=s;

Boolean set=this.setTcl(String tclscript);

String name=this.gettclname();

if set=True then try{String a[]=new String[2];

a[0]= "c:s2binns.exe";

a[1]= "c:ns2binnam";

Runtime R=Runtime.getRuntime() ;

Process p=R.exec(a);

……} catch(Throwable t)

……

}

服务器端要为提供服务的远程对象创建一个或多个实例等待客户端的接收调用,在接到远程调用请求时,根据传递过来的参数生成模拟脚本文件并在模拟结束后把结果返回给客户端。

5.4 基于组件技术的开发方案

组件是指可重复调用的软件块,它把维护及操作某一类信息的程序集中在一起独立成块。基于Java的组件对象技术其核心是JavaBeans技术。JavaBeans是一个完整的组件模型,它支持标准组件技术中各种特性:属性、事件、方法、持续性。另外JavaBeans提供内查机制和自定义的支持。通过其功能强大的反射技术支持,可以简单而快速的分析和配置一个Java Bean。

虚拟实验室系统中采用JavaBeans技术来开发实验设备,每个实验设备只向外提供调用接口,实现细节完全被封装在JavaBean内部,使得虚拟实验室的实验流程自定义以及用户添加新的实验设备成为可能。

6 结束语

本文论述了计算机网络远程虚拟实验室系统的结构和实现。该系统采用NS2作为服务器端模拟器,nam为客户端可视化工具,以Java Applet为客户端,使用RMI远程调用机制实现了客户端的远程调用,为用户远程学习计算机网络课程提供了良好的平台。在本实验室平台上,用户可以不受时间、地点、实验设备的限制,简单、快速、廉价、高效的搭建网络模拟场景,通过统计数据和动态演示模拟过程让学生深入理解网络中的复杂行为。本虚拟实验系统在提高用户并行使用系统的能力,结合更多的第三方软件增强实验结果分析能力,添加实验结果评测能力等方面还有待进一步完善。

参考文献

[1]李仁发,周祖德,李方敏等.虚拟实验室网络体系结构研究.系统仿真学报,2002,14(3):359~362

[2] R.C.Dorf and J.A.Svoboda.Electronic Teaching Assistant[EB/OL].http://people.clarkson.edu/~voboda.

[3]崔光佐,程旭,杨芙清.基于www的网上虚拟实验室设计与实现.http://vlab.cn/lunwen/web2.htm.

[4]朱秋萍,贾群.DCM技术在网络虚拟实验室中的应用.北京:微计算机应用.2003,(2):41~43

[5]李敏,李仁发,杨大山等.基于虚拟原型技术的虚拟网络实验室.计算机工程与应用,2002,38(7):151~153

探讨网络虚拟实验室系统的构建 篇8

实验教学在培养学生创新能力和工程实践能力方面起着不可替代的作用。近几年来, 随着网络技术、仿真技术、多媒体技术的快速发展, 网络虚拟实验应运而生。网络化的虚拟实验致力于构建一个综合不同工具和技术的信息化、网络化的集成环境, 其优点是可以弥补实验设备、场地的不足, 彻底打破空间、时间的限制;通过计算机网络实现教育资源共享, 从而可以节省许多基础设施的低水平重复建设和仪器设备重复引进的资金投入, 有利于从整体上改善办学条件和提高教学水平;网络虚拟实验教学能够灵活地提供给学生系统化的实验教学内容, 学生可以根据实际情况自主确定学习内容和安排学习进程, 从而可以最大限度地满足学生的不同需要。

2 系统总体设计

系统总体设计包括网络虚拟实验管理平台和虚拟实验的开发。实验管理平台建设要求功能齐全、易于维护、方便操作、安全可靠。虚拟实验开发从实验内容上要紧扣教学大纲要求, 紧跟新型设备的发展;在技术上要求虚拟实验与实际实验过程相吻合, 并可实现人机对话, 自主选择实验项目和所需器材, 动态构建虚拟实验环境。

虚拟实验室系统采用模块化设计, 包含学习模块、实验模块、安全管理模块和服务模块, 如图1所示。

学习模块:用于网络实验教学的各个环节。通过文本、图片、音频、动画和视频等形式提供同步和异步学习。使用讨论区、白板、BBS和电子邮件等实现疑难解答、学习交流、作业发布、实验虚拟考核等功能。

实验模块:是系统的核心部分。能够通过网络模拟仿真实验的操作, 进行数据处理, 提交电子实验报告。该模块包括知识库、虚拟仪器库、附件库、工具库和事实库等资源。采用的关键技术有:面向对象编程技术、多媒体技术、Matlab仿真技术、数据库 (SQL Server2000) 技术等。通过以上技术解决了虚拟仪器、设备 (装备) 、附件、工具的调用以及实验逻辑推理和判断, 虚拟现实场景的构建, 模拟现场音效, 实验数据的分析与处理, 实现数据的存储与管理。

安全管理模块:主要采用C++Builder和VC++设计, 实现服务器端系统资料备份, 数据库增删加密和用户管理以及多屏监控、交流管理功能。

服务模块:通过Java Script设计, 用户可以按关键字、标题、内容描述等进行搜索查询, 并提供操作帮助和打印功能。

3 实现技术研究

3.1 Web网页的实现

由于此实验在网上运行, 并用IE或Net Scape进行浏览, 所以用到一些网页制作工具, 如Dreamwaver MMX是Macromedia公司推出的强有力的网页制作工具, 利用它将Java的Applet嵌入网页中, 省去了手工编写HTML代码的麻烦。利用它, 我们可以完成文本输入及图像布局等功能。此外。为了实现与用户的动态交互, 我们采用了ASP作为脚本开发语言。用ASP生成动态HTML页面和静态HTML页面共同组成基本网页。

3.2 实验程序设计

实验程序设计分为两个部分:第一部分是虚拟仪器软面板设计。在Java中, JAVA AMT和SWING提供了强大的图形设计功能, 如BUTTON (按钮) 、JDIA-LOG (对话框) 等。为此我们将仪器外观利用数码设备导入到计算机, 利用POTO-SHOP、FLASH等软件进行处理, 最后保存成*.gif图形文件供Java调用。

第二部分是实现具体的算法。在这-部分中, 我们充分利用Java面向对象这-特点, 将真实实验中每一个独立的元件抽象为一个对象, 对象作为独立的主体, 包含了自身所有的信息, 比如元器件的初始状态, 响应鼠标点击的方法, 与实验平台沟通的接口等。而对象内部状态对其它对象都是隐蔽的, 即所谓的封装。对象之间消息传递通过接口进行联系。另外通过继承, 只需变更少量的代码, 进行必要的扩展, 即可产生新的对象。对象又由变量和方法组成, 在虚拟实验中用到的变量一般有:物理变量、控制变量、同步显示变量;基本方法一般有:构造方法、外观绘制方法、消息相应方法、外部方法及其它辅助方法。

3.3 数据库的访问和连接

数据库与外界的连接通常由负责管理、提供通讯和提供应用程序的中间件来实现。中间件的实现方式有很多种, 经比较之后, ASP (Active Server Page) 是比较合适的。它具有程序易编写, 执行速度快, 交互性好等优点。因此, 在开发过程中, 利用ASP编写动态网页, 并利用ADO作为其内置的Active X服务器组件, 用于数据库的访问, 从而实现对数据库的各种操作。

4 几点体会

4.1 加大虚拟实验室的开发力度

由于虚拟实验室的开发较为复杂和费事, 使得很多人不愿意进行这方面的开发工作。目前虚拟实验室还处在一种初级阶段, 只是能够满足验证性和演示性的实验, 而真正可以让使用者自主设计的实验却是凤毛麟角, 从而浪费了有限的教学资源。我们认为应从立项上把好质量关, 避免无序发展和低水平重复, 对立项好、功能强、有发展前途的虚拟实验室进行重点建设, 以期带动该类课程的实验教学改革。

4.2 网络虚拟实验与传统实验应相辅相成, 优势互补

网络虚拟实验虽然有许多优点为传统实验所不及, 但它不是万能的, 更不可能完全代替传统实验。首先, 虚拟实验主要是人机交流, 学员面对的是毫无感情的电脑, 而教员的言传身教, 人格力量被削弱了。其次, 虚拟实验室的实验环境变的相对狭小、单一, 紧张的信息加工将冲击沸腾的感性实践, 虚拟的情景毕竟不能创造出真实的感受。第三, 虚拟实验目前比较缺乏, 而学校自行开发又受到技术和经费等因素的制约。

4.3 虚拟实验室的开发需要一批高素质、复合型的专业教学人员

网络虚拟实验室的开发, 是对从事专业课教学人员的一个巨大挑战, 同时也是提高自身素质的良好机遇。因为机电实验室的开发不仅需要相关的专业知识, 更要熟悉计算机程序语言。例如制作网页时会涉及到Dreamweaver、Asp、Flash等软件, 而开发虚拟实验时则会用到Java、Matlab、WorkBench等软件。另一方面, 设计出的软件并不是一成不变的, 随着技术水平的提高, 实验所要达到的目标也会越来越高, 而采用的构建方法的技术含量随之提高。这就要求专业人员除继续深入研究实验的理论、方法外, 还要进一步学习和掌握计算机程序设计的内蕴和外延, 使得虚拟实验室更加智能化, 一体化。

4.4 网络虚拟实验室的开发有利于培养学员的创新能力

开发网络实验室, 不仅仅是教员的事情, 更多的是让学员也参与其中。使他们通过虚拟实验的开发与制作, 不仅对所涉及的实验有彻底的认识, 而且还可以在此基础上进行内延或外展, 设计开发出更加新颖的实验。我们在毕业设计中尝试采用了这种做法, 收到了良好的效果。

摘要:从网络虚拟实验室的总体设计和实现技术两方面论述了虚拟实验室系统的构建, 并就开发虚拟实验室谈了几点体会。

关键词:网络虚拟实验室,实验,面向对象技术

参考文献

[1]Java编程思想第二版 (Thingking in Java) , (美) Bruce Eckel著, (台湾) 侯捷译[M].北京:机械工业出版社, 2002, 9.

虚拟网络设备实验室 篇9

关键词:虚拟实验室,网络化实验室,LabVIEW,GPIB

0 引 言

随着招生规模的不断扩大,国内普通高等院校实验设备往往比较陈旧,不能及时更新,从而无法跟上教育的飞速发展。目前,高等工科院校仍沿用传统的实验教学方法,实验内容侧重于理论验证和模仿训练,缺乏对学生创新意识的培养和综合能力的提高。滞后的实验设备和死板的实验模式难以调动学生的主动性和创造性,实验教学处于应试教育[1,2]。而虚拟实验室系统则主要依赖于软件和较少的配套硬件,使实验室的维护费用和工作量大大降低。LabVIEW作为虚拟仪器开发系统的代表,可以利用Internet进行虚拟实验室的网络发布,实现了资源共享,避免了仪器重复添置,满足了用户不再受时间、地点限制进行远程的实时合作,提高了用户的学习效果。

1 系统的总体目标

本系统的总体目标是设计并实现一个基于局域网的虚拟实验平台,该虚拟实验平台主要完成模拟电路和数字电路的仿真和数据采集等实验,使学生可以通过网络完成大学相关课程的规定实验,突破地域和时间上的限制,达到网络实验教学的目的。学生是虚拟实验室的最终用户,每个用户以自己的学号和密码作为出入虚拟实验室的通行证,登录虚拟实验室系统后,可以在客户端进行相关的实验操作。在虚拟实验室中,用户可以选择实验,选择实验仪器,进行实验仿真、数据分析。

2 虚拟实验室的设计与实现

系统采用GPIB(general purpose interface bus)仪器控制技术,将可程控仪器连接到LabVIEW仪器控制服务器上,实现仪器的本地控制,并利用网络技术,把所提供的实验题目及内容放入建立的网站上,远程用户只需利用网络浏览器,就可以登录到远程实验室的网络服务器上,进行实验操作,远程控制实验仪器。在远程实验室的主页上,还可以加入视频摄像部分。由视频头所采集的图像可通过视频压缩传输技术传送到网页上,这样用户就可以看到自己所操纵的精密仪器,直接从屏幕上看到实验结果。

2.1 网络虚拟实验室的硬件结构

整个远程虚拟实验室系统的硬件是由Web服务器、仪器控制服务器、硬件实验电路控制平台、GPIB可程控仪器以及视频摄像头组成的。硬件平台主要由电源板、89C51串口通信板、低频实验板、数字实验板、实验台控制板组成。电源板为整个实验电路提供±5 V,±12 V和+18 V电压;串口通信板完成与上位机的串口通信,并发送命令参数给实验台控制板;实验台控制板进行具体的仪器测试点切换工作;模拟实验板和数字实验板实现的是具体的实验电路。

单片机串口通信板在硬件平台中处于至关重要的地位,它负责与LabVIEW服务器的串行口通信、实验数据字节的输出和获取、模拟实验测试点的切换[3,4]。系统选用了AT89C51作核心控制器。实验台控制板主要实现模拟实验各输入/输出测试点的可控制切换。在实现多个模拟实验时,需要切换输入信号输入点和变更信号参数,还需要切换数字电压表和示波器的测试点。由于实验系统需要实现远程控制测试点的切换,所以模拟实验板上相关测试点都必须引出接线点,以便于与实验台控制板接口。当增加实验数目,也无需改动实验台控制板时,只要从实验板引出测试点和实验台控制板接口即可[4,5,6,7]。

2.2 远程虚拟实验室系统软件设计

如图1所示,整个远程虚拟实验室系统的软件构成可分为以下几个子系统:Web服务器子系统、本地仪器控制子系统和客户端子系统[8]。

Web服务器是整个系统的核心部分。通过Web服务器,用户可以访问Web站点、控制仪器,并获得实验结果。公共网关接口(CGI)和传输控制协议(TCP)是客户端与Web服务器以及Web服务器与实验室服务器之间的主要通信方法。在本地控制子系统中,作为控制仪器的PC机上装有通用接口总线(GPIB)接口和一块网卡。仪器控制服务器通过已建立起的TCP/IP通道获得来自Web服务器控制仪器的命令字符串。进而启动仪器工作,完成测试任务。客户端子系统是嵌入在Web服务器中。当用户登录到Web服务器上后,用户可以浏览虚拟实验室站点,获得所提供实验的概括介绍以及详细说明。

2.3 虚拟实验室的交互过程

开始实验操作时,远程用户通过浏览器进入远程虚拟实验室系统网站的登录页面,如图2所示。

当Web服务器接收到来自客户端的有效CGI(common gateway interface)请求后,从表单中获取相应的实验参数,进而向仪器控制服务器提交调用VI的请求。运行于仪器控制服务器上的G Web Server接收到请求后,建立起与客户端TCP/IP连接,调用相应的VI程序:首先调用串口通信程序,即通过串口向硬件实验平台发送控制指令;然后启动仪器控制VI模块,使其通过GPIB接口卡调用相关仪器设备,对实验电路进行测试[9,10]; 最后将实验测试结果以CGI响应的方式回传到Web服务器,由Web服务器端的CGI程序刷新客户端显示,完成了整个实验的操作过程。

3 系统设计技术实现

系统的整体设计采用Application Server & API结构。Application Server & API结构使用LabVIEW编程,以其内置TCP/IP模块为基础,构造一个Application Server应用服务器端和一个API用户终端,由TCP/IP 模块完成网络互连,数据通信以及容错处理。该结构要求API用户终端将Application Server应用服务器端板卡采集的实验数据下载到本地终端来分析、计算、显示以及存储,除了对网络带宽、稳定性有很高的要求之外,对API用户终端的计算机性能也有很高的要求,适用于远程软件共享和仪器共享型实验。主程序框图结构如图3所示,客户端API模块先向服务端发送用户信息和实验请求,经服务端验证通过,建立TCP 连接;然后服务端接受客户端实验参数并在进行实验仪器初始化;服务端采集实验数据并通过TCP/IP 协议发送数据包,客户端接受共享实验数据。

下面以周期信号时域特性的测量实验为例,介绍ApplicationServer & API结构LabVIEW编程的实现方法。

用户首先进入的是一个多媒体仿真界面,实验采样数据,同步显示波形;采集完全部实验数据,服务器发结束信息,然后断开网络联接,完成实验。图4显示的是客户端在远端实测的实验室周期信号的时域特性,用户可以选择保存按钮,将实验数据以需要的格式保存,进行相应的运算,还可以生成实验报告,最终完成实验。

4 结 语

本文以虚拟仪器为平台设计了网络虚拟实验室系统,通过用户登陆界面,嵌入一些虚拟实验仪器设备。实现了利用计算机网络进行实验仪器操作的模拟和测量,并在电子科学学院进行了演示,取得了很好的效果。该网络虚拟实验室较以往的虚拟实验室实现了网络化,达到了资源共享,避免了仪器重复添置和资源浪费,使学生做实验不再受时间和地点的限制。具有开发周期短,使用效率高,可扩展性强,成本低廉的特点, 是解决目前高教扩招带来的资源紧张问题的一种行之有效的途径。随着计算机技术的不断发展和网络技术的不断完善,虚拟实验室会有更好的应用前景。

参考文献

[1]米西峰.基于Web和LabVIEW的虚拟仪器实验平台设计[J].微计算机信息,2008(4):155-157.

[2]赵胜会,刘平,施保华,等.基于虚拟仪器的计算机控制实验系统[J].微计算机信息,2006,7(1):78-80.

[3]丁硕.虚拟仪器技术在电子信息类实验教学中的应用[J].电子科技,2008(21):76-78.

[4]魏克新.基于LabVIEW的电力电子虚拟实验室的构建[J].现代科学仪器,2007(3):23-25.

[5]陈锡辉,张银鸿.LabVIEW8.2程序设计从入门到精通[M].北京:清华大学出版社,2007.

[6]火元莲,张洁英.基于虚拟仪器技术的数字信号处理实验室的构建[J].自动化与仪器仪表,2009(1):89-91.

[7]杨涛,曾焕浪.基于虚拟仪器的教学实验测试系统设计[J].广东工业大学学报,2002(6):207-208.

[8]杨勇,杨艳丽,罗海燕.基于LabVIEW信号的处理网络虚拟实验室设计方法[J].沈阳农业大学学报,2009(5):627-629.

[9]胡树煜,王琢.仪器分析虚拟实验室的设计与实现[J].硅谷,2008(18):71-72.

虚拟网络设备实验室 篇10

关键词:网络,虚拟实验室,虚拟仪器,LabVIEW,远程测试

1 前言

实验是高等工科教学活动中不可缺少的环节, 对于培养学生的综合素质和实践技能都至关重要。网络虚拟实验室是虚拟仪器技术、数据库技术和网络技术等的有机结合, 是对传统实验教学模式的改革, 打破传统实验教学模式的局限性, 提高了实验教学质量, 可降低教学、科研成本和节省经费, 提高现有仪器的使用效率, 实现贵重仪器的资源共享, 可迅速高效组建实验系统, 实验系统功能易于扩展和管理, 实验范围和科目扩大;远程实验的出现, 彻底打破了传统实验教学模式, 能使学生充分发挥自己能力, 提高学习的主动性和研究性。

2 网络虚拟实验室实现方案

2.1 系统特点与系统模型

网络虚拟实验室, 利用互联网技术, 将所提供的虚拟仪器、实验项目及内容放入建立的网站上, 达到软件资源与硬件资源的共享, 具有全交互特性、资源共享特性、安全性等特点。用户只需通过网络浏览器, 就可登录到虚拟实验室的服务器上。选择实验项目、仪器以及仪器设置功能, 然后开始实验操作, 用户可以根据具体实验的要求来设置仪器。

典型的网络虚拟实验室使用客户端/服务器/数据库/应用程序结构, 其原理如图1所示。网页服务器主要作用是提供Web接入服务、用户认证管理、开放式交互实验环境以及动态网页的生成;应用服务器主要作用是控制和管理实验仪器、处理实验数据;数据库的主要作用是配合用户账户的管理、动态网页的生成以及实验数据的存储和管理。在以上分析的基础上, 将对系统的功能进行详细的规划设计。如图2所示。

2.2 系统实现方案

常用的网络服务器模式有客户机/服务器 (Client/Server, 简称C/S) 结构和浏览器/服务器 (Brow s e r/Se rve r, B/S) 结构。采用B/S模式, 用户只需打开浏览器输入网址就可通过登录虚拟实验室网站, 进行相关实验操作, 对客户端的要求降到最低。并且采用这种结构, 将实验的实现过程与表现分开, 在后期的维护和扩展时只需更改相应的模块就可以实现整个虚拟实验室的更新。对于本系统所要实现的目标来说, B/S模式比客户机/服务器模式更适合、更易实现。

3 系统各主要功能模块设计

3.1 用户 (学生身份) 功能

用户 (学生身份) 登录需要实现四大功能:选择和使用仪器、虚拟实验、实验报告的填写与提交以及在线留言。学生身份登录要实现的功能如图3所示。

3.2 教师身份功能

教师身份登录需要实现仪器和实验的添加与发布、实验报告的处理以及回复网上留言板用户的提问三大功能。图4为教师身份登录须实现的功能。

3.3 管理员身份功能

管理员除了教师所拥有的功能外还要对用户和实验室资源和整体运作进行管理, 包含以下功能模块:用户管理、留言管理、实验管理及资源和数据的管理。图5显示了管理员身份登录须实现的功能关系。

4 系统流程

用户输入用户名和密码, 经登录认证后方可进入虚拟实验室。因为本系统维护依靠教师, 所以在本设计中教师与管理员是同一级别, 因此教师还可以对用户、实验数据和留言进行管理。图6为系统登录流程图。图7为网站主页, 图8为后台管理页面。

5 总结

本文介绍了Lab VIEW与网络技术、数据库技术相结合构建基的网络虚拟实验室, 该实验室可实现远程控制、软件资源与硬件资源共享、数据共享, 不仅可以节省大量仪器设备的经费投入, 而且为教学提供了一种全新的现代化教学手段。本文在具体设计时, 从系统的总体目标和功能入手进行分析, 明确各组成部分的结构和功能, 然后分别具体设计和实现。到目前为止, 本系统网站模块功能皆运行良好。

参考文献

[1]陈锡辉, 张银鸿.LabVIEW 8.20程序设计从入门到精通.北京:清华大学出版社, 2007.

[2]肖巍, 王伯雄, 罗秀芝.基于网络的实验硬件远程控制系统的开发.清华大学学报, 2000.

虚拟网络设备实验室 篇11

关键词:现代教育技术 虚拟实验系统 设计 虚拟现实建模语言

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

文章编号:1673-8454(2007)12-0020-03

现代教育技术是以传统视听媒体为主的教育技术和以计算机多媒体与网络为主的信息技术的整合体,现代教育技术是新时代教师应具备的基本素质,现代教育技术公共课在师范院校中越来越受到重视。该课程是一门实践性非常强的课程,其对应的实验课程包括听觉媒体技术、视觉媒体技术、视听媒体技术、计算机多媒体技术等实验内容。如何使学生正确、熟练地掌握教育媒体的使用技术,并通过直观、生动、活泼的课堂教学培养学生对教育技术的兴趣,是每一位教育技术公共课教师都必须认真思考的问题。但是,一所高校学生人数众多,而实验设备条件有限,大多数学校教育技术实验课程只是纸上谈兵,只是教师在课堂上讲解或演示实验操作的内容,导致学生信息能力弱、从师技能差,这不能不说是一个遗憾。随着计算机技术的飞速进步,这种曾经的遗憾可以通过计算机仿真技术、虚拟现实技术加以弥补。本虚拟实验系统的投入使用将缓解高校实验设备的不足,改变现代教育技术实验环节薄弱的状况。同时,本系统的研制为实验教学开拓了新的思路与方向,是现代多媒体技术引入教学的一次尝试和探索。

一、现代教育技术虚拟实验系统的设计

1.设计思想

在设计过程中,我们遵从以下指导思想:

(1)虚拟仪器、设备逼真度要高,实验真实感要强。

设计此系统的目的就是让学生尽可能真实地进行实验,以替代现实中实验室里真正的实验,所以,这是对系统最基本也是最关键的要求。

(2)实验内容开放,易于扩充。

本系统要为全校学生提供服务,开放性要高。同时,现代教育技术本身也在不断地发展完善,新的技术手段不断地为教育所用而成为现代教育技术的组成部分,实验也要不断地进行更新,虚拟系统也要跟着发生变化。

(3)交互性、自主性要强。

学生对于虚拟设备的可操作程度和从设备得到的反馈要自然,不能有生硬的感觉,反馈要实时性强,不能有太大的延迟。自主性主要指实验模式是非固定的、动态的。学生在操作过程中不一定完全按照教学规定的顺序进行,可以自定步调,按自己的学习计划进行。

2.设计目标

本系统旨在利用虚拟现实建模语言(VRML)构建逼真的虚拟场景,让学生作为主角存在于模拟环境中。虚拟实验设备全部按真实比例建立3D模型。学生可以使用鼠标或键盘“真实”地操作虚拟设备,可以实现安装、拆卸、搬动、旋转、连接等与现实实验完全一致的操作效果。为了加强真实感,对设备操作的同时会有3D效果音响出现。本系统放在学校网络服务器上,供所有在校学生使用。与课程相关的教学大纲、实验指导、参考文献以及对每一项实验的说明、实验步骤和注意事项等都采用网页的形式呈现,并提供自由下载,实现教学资源共享,使学生不受时间和空间的限制进行实验。学生在这个网上虚拟环境中操作仪器,模拟真实的实验过程,达到培养学生动手能力、学习实验技能、深化理解教育技术知识的目的。

3.功能模块设计

根据现代教育技术实验的特点和教学需要,本系统设计了以下几个功能模块(见图1):登录模块、实验选择模块、实验介绍模块、虚拟实验模块和报告提交模块。

登录模块:用户填写用户名和密码,系统调用数据库中的记录进行核对,以便验证学生身份。如果学生还没有注册,可以在此进行新用户注册,注册完毕后,学生身份信息就被记录到数据库中。

实验选择模块:本模块列出现代教育技术所有实验项目,学生可以根据自己的学习进度和计划自主选择实验项目。

实验介绍模块:主要以网页的形式呈现实验目的、实验原理、注意事项和实验过程等内容。实验介绍模块还包括实验仪器预览,在此可以认识实验中使用的仪器设备,可以从多视角观察,既可以近看也可以远观,让学生实验前充分了解各种实验仪器,便于他们更好地进行实验。

虚拟实验模块:学生在虚拟的实验场景中以鼠标为主要交互手段进行仿真实验。虚拟实验开设照相机与数码相机的操作,幻灯机、投影仪的使用,扫描仪的操作,摄像机的使用,电视机与录像机、影碟机的连接与操作,视频演示仪的连接与操作和多媒体投影仪的使用等多项实验。虚拟实验中,所有模型都采用3D建模方式以便与现实的三维空间基本保持一致。虚拟实验是整个系统的核心部分,让学生在“身临其境”的虚拟场景中进行实验,与现实实验非常接近。

报告提交模块:实验完毕后,学生可以填写实验报告并将其直接发送到数据库,由老师通过管理界面进行批改。

4.网络平台体系结构

本系统的网络支撑平台采用三层B/S结构。第一层为用户接口,在Web浏览器上外挂VRML浏览器插件,该层是用户与整个系统的接口。第二层为应用服务层,通过Web服务器调用资源层数据库中的数据,生成用户所需的虚拟实验环境,利用各功能模块控制整个虚拟实验,并将实验结果写入数据库。第三层为数据库层,提供系统所需的基础数据、实验中用到的仪器设备,并存储用户信息。

二、开发工具的选取

技术的选取与系统能否实现息息相关,因此,实验技术的选取对于整个开发过程来说非常重要。

网络支撑平台所用的数据库采用了大型商业数据库系统SQL Server, 这有利于减小大批量数据,如用户计费数据的吞吐时间,使整个系统管理规范化,数据的完整性、安全性得到保障。动态网页开发使用ASP技术,可以调用数据库中的数据并在浏览器显示。

在虚拟系统开发的技术选择上选用了虚拟现实建模语言VRML作为构建工具。VRML是一种用于描述三维造型与交互环境的简单的文本语言,是在Internet上建立3D多媒体和共享虚拟世界的一个开放标准。VRML具有以下优点:

(1)平台无关性。无论你是什么平台,都可以浏览VRML世界。VRML用文本信息描述三维场景,在Internet上传输,可在本地机上的浏览器解释生成三维场景,浏览器只需安装VRML即可,从而保证了在各种平台上通用。

(2)对网络性能要求较低。VRML与HTML相同,使用ASCII文本格式的三维场景式描述语言进行编程。在保证各种平台通用的同时,也降低了数据通信量,从而提高网络传输速率。而且当VRML在本地机器上运行时,由于不再受网络带宽及传输速率的限制,对网络性能要求不高,这样,在低带宽的网络上也可以流畅运行。

(3)实时动态交互。传统的虚拟现实中使用的实时3D着色引擎在VRML中得到了更好地体现。这一特性把虚拟现实的建模与实时访问更明确地隔离开来,也是虚拟现实不同于三维建模和动画的地方。后者预先着色,因而不能提供交互性。VRML这种仿真和渲染的实时性实现了虚拟场景中人际的可交互性,浏览者不仅可以在场景中随意漫步以切身感受虚拟环境;同时还可以通过自身的行为影响虚拟环境,就如同在现实中主观能动地改变自己的周围环境一样。

(4)三维视听效果逼真。VRML所创建的虚拟环境已完全不同于HTML以及其他系统的二维平面效果。随着浏览者的移动,VRML场景中造型的各种属性(如方位、光照等)也将随之改变,以实现立体视觉。VRML场景中的声音也不再是简单的二维音效,通过声音节点,用户可以具体设置声音大小、音源位置、传播方向等空间属性,从而使声音变现出高低有别、远近不同的三维立体音效。

三、虚拟实验系统关键技术的实现

虚拟实验的实现主要分两个步骤来完成,第一步是3D建模,第二步是虚拟实验与交互的实现。

1.3D建模

建模对于整个系统来说是非常关键的一步。建模要解决两个问题:一是虚拟实验设备尽可能地与原型一致,二是产生的数据量要小,以便网络传输。由于VRML对不规则曲线物体的模型构造比较困难,我们采用VRML和3D MAX二者结合的办法解决这个问题。对于比较规则的物体,我们直接用VRML建模,这样生成的数据量小,也容易实现。对于具有复杂曲面的物体采用3D MAX建模, 3D MAX提供了VRML插件辅助工具,可直接输出场景,包括几何造型、材质、动画等。模型建好后只要保存为“*.wrl”文件格式即可。3D MAX生成的数据量大,我们将wrl文件导入VRML开发平台后,再使用VRML所支持的优化技术进行处理。

2.虚拟实验与交互实现

虚拟实验的实现主要是通过动画技术生成。VRML动画依据一个给定的时间传感器以及一系列的插补器节点对场景中的动画进行控制,其基本思想是由时间传感器给出控制动画效果的时钟,然后通过时钟的事件输出在虚拟世界中驱动插补器节点以产生动画效果。VRML动画的基本功能是使场景随时间发生变化。VRML中,发生变化的是浏览器渲染时给定造型节点的域值。事件是VRML实现用户交互与场景动态变化的最主要方式。改变VRML节点域值的方法是通过路由发送一个事件到相应节点的对应域。事件分为入事件(EventIn)和出事件(EventOut)。入事件要求节点改变自己某个域的取值,而出事件则要求改变其他节点的域值。VRML中的公共域(exposedField)隐含着两种系统缺省定义的事件:一个是命名为“set_事件名”的入事件,用于设置节点域值;另一个是命名为“事件名_changed”的出事件,用于当域值发生变化时向外界报告新值。某个节点的事件出口和其他节点的事件入口之间用于传递事件的通道被称为路由(Route)。通过路由可以绑定多个节点,从而形成事件体系。通过路由机制,事件得以蔓延传播从而引起其他节点的变化,实现多重交互。除了隐含的set_和_changed事件,VRML中还有几类节点显示定义事件,这些事件的类型与节点说明中所指出的相同。例如TouchSensor节点,可以产生一个名为isActive的布尔事件,该事件在浏览者单击用TouchSensor节点捆绑的几何造型时将产生一个值为TRUE的isActive事件;当释放鼠标后,浏览器将产生一个值为FALSE的isActive事件。为了加强交互效果,VRML提供了Script节点以实现脚本语句的编程,这样能方便地对事件进行高层处理和动画的扩展控制。

四、结束语

基于网络的现代教育技术虚拟实验系统充分利用了学校的网络资源,有效弥补了实验资源的不足,是学校信息化教学的重要组成部分。系统交互性、沉浸感强的特点得到了充分发挥,激发了学生学习的热情,提高了学生的实践操作能力。当然,系统还有需要提高的地方:(1)建立3D实体,代替学生,让学生能够进行协同实验;(2)学生进入虚拟实验后,提示和错误处理有待加强。虽然,虚拟实验在教学中利用率较高,也获得了师生的一致好评,但是,它毕竟是实验教学的辅助手段,不能完全代替真正的实验,有些经验还必须通过真实实验获得。虚拟实验和真实实验必须有机结合,相互补充,才能达到较为理想的实验效果。?筅

参考文献:

[1]孙俊峰,游运华,卢洁,王传华.基于VRML的心理学虚拟实验设计与实现[J].计算机仿真,2006(4)

[2]韩瑛,李斌.虚拟现实技术在网络教学中的研究与应用[J].现代教育技术,2006(1)

[3]李卓伟,李华,徐婷.计算机网络虚拟实验教学模式[J].实验室研究与探索,2006(1)

[4]傅爱玲.虚拟实验系统体系结构设计[J].职业技术教育(教学版).2006(2)

虚拟网络设备实验室 篇12

近年来,随着科学技术的不断发展,虚拟实验室[1]的概念被提出。虚拟实验室是集成了计算机技术、仿真技术、传感技术、网络并行处理等多种先进技术,利用计算机生成的高技术模拟系统或者一种模拟环境。对于电子信息类专业的实验教学来讲, 由于传统物理实验设备精密度不高、价格昂贵和不易于维修等原因,使得许多高校电子信息类的专业实验室的建设相对滞后,制约了学科的建设和发展。虚拟实验室的出现解决了目前电子类专业实验教学的这一问题,有效提高了实验资源的利用率,避免了人力、物力的浪费,为教师的教学和学生的学习都提供了便利和先进的手段。

1 系统总体架构

立足于电子信息专业特点所建立的电子虚拟实验室系统,利用计算机网络平台,实现电子类专业课程实验项目的虚拟操作。电子虚拟实验室系统服务于两类用户,即教师用户和学生用户。用于教师用户的功能主要包括用户权限管理、实验项目管理、学生信息管理和在线答疑四部分,用于学生用户的功能主要包括实验项目的学习和在线答疑两方面。

针对系统的功能设计和系统运行的网络环境, 系统的架构选择三层C/S模式[2],即三层客户机/服务器(Client/Server,简称C/S)模式。这种系统模式内部逻辑结构可以分成三个组成部分:表示逻辑层、业务逻辑层和数据逻辑层,将表示逻辑层放在客户端,业务逻辑放在一个独立的中间服务器上, 数据逻辑设置在另一个服务器上。这种逻辑设计可以提高应用程序的性能,减少网络传输量,并且具有专用性和交互性强、存取数据安全、速度快等优点,便于系统的配置和维护,适用于校园局域网的运行,因此我们利用三层C/S模式对电子虚拟实验室系统进行构建。

2 系统网络通信设计

2.1 利用Winsock进行网络通信的设计原理

根据系统的总体架构对系统的网络通信进行设计实现。在客户机/服务器模式的通信活动中,通信的基础是套接口[3](Socket),Socket相当于进行通信的双方的连接插座,只要对方的Socket和自己的Socket连接就可以进行通信。在通信连接设计中,服务器处于被动模式,服务器Socket的主要任务是负责侦听、应答、发送和接收消息,客户端Socket的任务是连接、发送和接收消息。

Windows下网络编程的规范-Windows Sockets (Winsock)[4,5]是在Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。利用Winsock进行网络连接的基本步骤如表1所示。

2.2 服务器与客户端网络通信的设计实现

本系统利用Visual C++(VC++)的Microsoft Foundation Classes(MFC)中的CSocket类[6]对网络连接进行设计。CSocket类是对Windows操作系统环境下的套接字网络应用程序编程接口(Winsock API)的高级封装,它管理了通信的许多方面,如字节顺序问题和字符串转换问题等。它的成员函数和Winsock API的函数调用直接对应,为Windows消息的后台处理提供了阻塞的工作模式,并结合CArchive类来使用套接字,一起合作来管理发送和接收的数据。综上所述,利用CSocket类进行设计,管理数据收发更加便利,网络编程更加灵活而有力。

使用CSocket类为服务器、客户端建立网络连接流程图如图1所示。

图1服务器端和客户端网络连接设计流程(参见右栏)

根据流程设计创建网络通信的程序设计核心为:

(1)创建侦听套接字,在用户指定的端口上侦听。

(2)服务器启动侦听套接字,准备接受客户端的连接请求。

(3)客户机创建与服务器的连接

(4)服务器创建用于与客户机端连接并交换数据的套接字对象。

(5)服务器接收客户机发来的消息,将客户机的信息显示在服务器的对话框中

2.3 在线答疑功能网络通信的设计实现

在教师用户和学生用户的实现功能中非常重要的一项是在线答疑功能,这是虚拟实验室系统一个十分重要的构成部分,利用该功能实现教师和学生的实时交流和问题的及时反馈,该功能的设计是应用VC++的MFC_CSocket类实现的一个点对点网络通信功能[7]。在设计中将教师机用户设定为服务器端, 学生机用户设定为客户端,学生机之间不能进行网络通信,通信模式如图2所示。在设计中只有教师机开启答疑模式,即开始侦听Listen()、等待学生机的连接Accept(),学生机提出的问题才能发送到教师机上,即学生机连接教师机Connect()之后在线答疑功能才能实现。当教师机关闭之后,在线答疑功能也随之关闭,学生的问题无法进行发送。为了不使网络通信造成混乱,在线答疑的网络连接与服务器、客户机的连接使用同一个IP,但是不同的端口号, 这样使两个网络通信相互独立,互不干扰。在线答疑功能的最终实现界面如图3所示。

3 结语

通过调试,利用VC++的MFC_CSocket类对三层C/S模式下的电子虚拟实验室系统的网络通信进行设计,能够达到预期的效果,通信性能稳定,适用于校园局域网的运行。如果将该虚拟实验室系统换成另一种网络运行环境,则系统的网络通信还需要进一步的设计,在通信数据的安全性和减少注入攻击的方面还需要进一步的研究。

参考文献

[1]陈小红.虚拟实验室的研究现状及其发展趋势[J].中国现代教育装备,2010(17):107-109.

[2]吴铭心.基于C/S三层架构的教务管理系统研究[J].长春理工大学学报,2011(1):193-195.

[3]叶树华,高志红.网络编程实用教程[M].北京:人民邮电出版社,2006:173-189.

[4]欧军,吴清秀,裴云.基于socket的网络通信技术研究[J].网络安全技术与应用,2011(7):21-23.

[5]袁淑萍,徐蕾,杨建.基于Winsock控件的TCP协议模拟通信[J].电脑编程技巧与维护,2011(16):73-75.

[6]刘.Winsock技术在网络通信系统中的应用[J].西南科技大学学报,2013(2):88-91.

上一篇:网络电视发展趋向分析下一篇:动态国际化