- 相关推荐
利用虚拟机技术构建计算机互联网实验平台
目前, 虚拟机技术在计算机的各个领域得到了广泛应用。例如, 在安全领域, 可以利用虚拟机构建“蜜罐”系统, 对互联网上的网络攻击行为进行分析研究; 在存储领域, 可以利用虚拟机来减少服务器的数量, 简化服务器的管理, 将多种应用整合到单台服务器上完成; 在机房建设领域, 可以利用虚拟机技术实现机房机器的多种用途, 而无需担心主机系统与硬件的损坏。虚拟机在教学中的应用也越来越受到重视, 我们则基于虚拟机在单机上构建了一个计算机网络实验平台, 本文首先分析虚拟机的工作原理, 随后阐述了所构建计算机网络实验平台中网络设备虚拟的实现, 最后介绍了该平台的实际应用情况。
一、工作原理
虚拟机的概念是上个世纪 70 年代由 IBM 公司提出的, 当时的虚拟机技术仅仅是在大型机上运行的一个虚拟工具, 通过抢先多任务方式为用户提供同时操作多个会话的能力。这里提到的虚拟机是近年来出现的一种新兴计算机技术, 其工作原理是通过进入保护模式, 在物理机中运行的主机系统上创建出一个或多个虚拟的客户系统, 使得客户操作系统如同运行在一台真正的机器上, 虚拟机的工作原理是:虚拟层是在保护模式下建立和维护的一个管理虚拟机的框架, 通过利用保护模式的特权级机制、分页内存管理机制, 任务切换机制, 为上一层客户系统的内存管理、中断处理以及线程调度提供许多重要的服务。利用虚拟层提供的服务, 可以在主机系统上模拟出不同的客户系统。每个客户系统中都有一个虚拟机控制块, 块中包含当前状态方面的信息, 如执行状态, 调度优先级以及复制的寄存器内容等。这些客户系统拥有独立的虚拟硬件设备, 如 BIOS、内存、硬盘、软盘、显卡、网卡等。虽然从各个虚拟客户系统角度看, 它们都是一个完整的系统, 但从主机系统的角度来看, 每个客户系统都是其上独立运行的应用进程, 它们分别采用独立的地址空间, 彼此之间没有任何关联。不同的客户系统不知道彼此的存在, 其上的设备及 I/O 端口等都受到保护, 不会受到主机系统与其他客户系统的影响。虚拟客户系统的资源都来自于物理机, 例如每个客户系统的内存来自于物理机的内存, 客户系统里的硬盘也是虚拟的, 实际对应于物理硬盘上的文件。主机物理硬盘上可以创建不同的文件夹, 在其中存放各客户系统启动设置参数、日志文件等信息。因此, 只要主机系统的内存足够大, CPU 性能足够好, 理论上在主机系统上可以虚拟出不限数目的子系统。
虚拟机技术可以帮助我们在单机上建立各种常用操作系统的运行支持环境, 为在单机上构建一个计算机网络实验平台提供必要的前提。在我们构建的平台中, 采用了虚拟机软件 Vmware作为常用操作系统的运行支持环境的建立。根据我们的实践经验, 1G 内存的机器能够以较好的性能同时运行五个虚拟操作系统, 完成绝大部分网络实验。如果将每台虚拟机的内存设小一些, 或是安装一些不很占资源的操作系统 , 这样就可以同时运行更多的虚拟操作系统来构建更复杂的网络环境。
二、网络设备虚拟的实现
计算机网络指的是利用通信链路和网络设备将处于不同地理位置的计算机连接起来, 在网络操作系统的控制下实现资源共享与信息交换的系统。由此可见, 仅仅通过虚拟机提供各种操作系统的运行支持环境是不够的, 还需提供对常用网络设备的虚拟, 常用的网络设备主要有路由器与交换机, 下面分别介绍:
1.交换机的虚拟
虚拟交换机的实现相对简单, 当在主机上安装虚拟机软件Vmware 后, 系统会提供 VMnet0、VMnet1、VMnet2 等虚拟网络适配器件, 这些设备可以充当交换机, 通过这些设备和虚拟网络操作系统就可以组建交换式局域网, 连接到相同 VMnet 上的虚拟操作系统可看成是连接在同一个虚拟交换机上的主机。因此, 只要将各虚拟网络操作系统的网卡连接到对应的虚拟网络适配器, 即可实现网络适配器连接虚拟交换机。
2.路由器的虚拟
完成交换机的虚拟对于完成一般的网络实验已经足够了, 但是不少重要的网络实验都需要路由器的支持才能进行。由于路由器支持种类丰富的路由协议, 如 RIP、OSPF、BGP 等, 因此路由器的虚拟是网络设备虚拟中的一个重点和难点。通过研究和摸索,我们基于 Michigan 大学和 Merit Network 联合开发的路由环境支持平台 MRT 实现了路由器的虚拟,对 BGP4、OSPF、RIP 等路由协议提供了支持。MRT 是 Merit Network 公司在美国国家科学基金会资助下开发的一个开放式路由环境支撑平台,提供了许多与路由相关的库函数以支持用户开发与路由相关的应用。MRT 提供了两类库函数, 一类是底层的支持程序, 用于对各种路由相关实现, 如时间、接口、套接字规程提供支持。另一类是和路由协议直接相关的库函数, 这些库函数提供对 BGP、RIP等路由协议通信的支持, 可以访问相关路由协议的路由表。在我们对路由器虚拟时, 对于各种路由协议都需要实现的功能, 如定期发送 KEEPALIVE 报文、超时后删除掉路由表中的某项、接收报文、将发送的报文保存在缓冲区中以及记录相关路由信息等, 均通过 MRT 底层的支持程序完成。而对路由协议之间的交互操作, 则通过 MRT 路由库函数去实现, 例如 BGP 对等体连接建立等功能就利用了 Add_ BGP _Peer 函数, 该函数的参数是远端对等体的 IP 地址和自治系统号。MRT 还提供多种线程服务支持, 例如多种路由协议的同时支持是通过选择服务来实现的, 选择服务在 MRT 模块上执行同步 I/O 多路复用, 在某个模块处于阻塞时, 可以用另一种机制来处理 I/O 模块。选择线程还能监视对象套接字描述, 一旦检测到有 I/O 事件, 服务调用对象的回叫机制同时停止监视套接字。当对象完成套接字处理后, 会通知选择进程重新开始监控。至于路由协议中的一些定时警报可以通过 MRT 中的时间线程来完成,由时间线程维护基于时间的事件以及相关的警报和回叫方法。
三、结论
实践证明, 该实验平台具有与真实网络系统一致的操作、命令、功能和响应, 不仅能对网络操作系统进行模拟, 还能对各种网络设备( 如路由器、交换机) 进行模拟, 具备真实网络环境下的各种特征。与专门构建的网络系统相比, 该平台具有成本低、功能全、效率高、效果好、实用性强的特点。下一步, 我们将为该平台添加自定义网络拓扑功能, 如添加所需要的虚拟系统、虚拟网络设备、线缆等, 让用户搭建出自己需要的网络, 完成各种拓扑环境下的网络实验, 帮助他们更好地理解网络结构, 更加深入地掌握网络运行机理。
【利用虚拟机技术构建计算机互联网实验平台】相关文章:
合理利用多媒体上好物理实验课08-06
高校实验室管理对提高实验室利用率探究05-17
谈高校计算机实验室管理05-11
信息技术和物理实验课的整合06-01
浅谈高校计算机实验室的管理与维护06-15
浅谈高职计算机实验室管理与建设08-23
高校计算机实验室开放实验教学管理模式探讨08-22