传统的网络研究实验一般在模拟工具或者仿真系统上运行。这些实验环境,在部署规模、用户流量、网络事件以及协议实现等方面,与真实网络环境存在很大的差别。研究人员希望在实验中能够改变网络拓扑、更新策略配置、注入网络故障事件等,这往往难以在实际网络中实施。而本文提出的高性能虚拟网络——VegaNet(Virtual Gigabit Network),为研究人员提供了接近真实网络的实验环境,支持对核心网络进行仿真和测量。
研究背景
随着计算机网络体系结构研究的发展,网络层、传输层和应用层的创新层出不穷。对于网络技术研究人员来说,一个重要的问题是,在研究成果未被大规模部署之前,如何利用真实的网络环境和网络数据,对研究内容进行充分的测试、验证和性能评价,从而更好的指导创新研究和实际部署工作。随着创新的不断涌现,研究人员对于接近真实网络环境的大规模实验平台的需求变得越来越强烈。
传统的网络实验环境,主要包括一些软件模拟工具,如NS2、SSFNet等,或者仿真平台,如Emulab等。这些实验环境,一般采用集中式的管理方式,节点的部署规模比较小;其中运行的路由等协议都进行了简化处理,与实际网络中运行的协议有很大的区别;环境中所承载的数据流量,往往并不是由真实的网络用户产生的,无法充分体现真实用户的行为。因此,在这样的环境中,进行研究工作和网络实验,所获得的结果,往往与在实际网络中的运行情况有很大的差别。
为了满足网络研究中的不同需求,一个通用的网络实验环境,需要满足以下条件:首先,该实验环境必须具有很大的部署范围,最好能够接近现实网络的规模;其次,网络实验环境要运行实际的路由协议,并能提供拓扑重构和网络事件设置的能力;第三,网络实验环境要承载真实用户的数据流量,准确反映用户的网络行为;最后,从运营成本和使用方便的角度考虑,一个好的网络实验环境,应该能够支持多个不同的实验同时进行,各个实验之间具有很好的隔离性,实验过程互不干涉,并且要尽量减少对网络用户的影响。
虚拟化技术和覆盖网络技术的研究和发展,为新型网络实验环境的设计和实现提供了新的思路。借助于虚拟化技术,可以方便地复用网络的软硬件资源,降低网络实验环境的成本;利用覆盖网络技术,在现有的网络基础设施之上,构建出满足特定拓扑需求的虚拟网络环境,可以快速地实现网络实验环境的大规模部署。虚拟网络,正是利用了虚拟化技术对传统网络的节点和链路进行复用,并以覆盖网络的形式,部署于已有的网络基础设施之上,为研究者提供一个接近真实网络的大规模网络环境。
相关工作
目前,对覆盖网络和以覆盖网络为基础的虚拟实验环境的研究,已经取得了一定的成果。覆盖网络,是为了满足特定的应用需求,在传统网络体系结构的网络层之上,利用软件技术构建而成的网络环境。典型的覆盖网络以RON(Resilient Overlay Network)为代表,它在节点之间运行特定的协议,检测底层网络中的路径失效和周期性的性能下降现象,通过与应用相关的路由选择机制,使分布式应用程序能够从网络故障中迅速地恢复过来。
PlanetLab是利用覆盖网络技术构建的网络测试床,它的节点遍布世界各地。PlanetLab的使用者,通过请求一个PlanetLab分片,试验各种全球规模的网络服务:如文件共享和网络存储服务,内容分发网络,以及可大规模扩展的对象定位、事件传播等应用。研究人员虽然可以利用PlanetLab试验各种服务,但是无法对它的拓扑结构进行灵活的调整,也无法对测试床底层的支持协议进行修改。因此,PlanetLab适合于应用层的创新研究,但是对于路由协议等网络层的研究课题,缺乏灵活方便的支持能力。
VINI(Virtual Network Infrastructure)定义了虚拟实验环境应该满足的需求和提供的服务。VINI希望为研究人员提供真实的路由协议软件、流量负载和网络事件,允许研究人员定制实验网络的拓扑结构,支持向网络实验环境注入故障和异常行为。VINI通过对现有的PlanetLab覆盖网络进行扩展,在其上构建起了满足需求的虚拟实验网络。因为VINI节点是部署在PlanetLab覆盖网之上,使得VINI成为覆盖网之上的覆盖实验网络。这样以来,VINI实验环境与真实网络之间多了一个间接层,协议和服务在VINI虚拟网络中运行的结果,并不能准确的反应在现实网络中的情况。
PlanetLab和VINI项目,采用商用PC作为虚拟网络的中间节点,来降低部署成本。但是当承载的数据流量的规模增加时,中间节点往往成为整个虚拟网络的性能瓶颈,从而会限制网络的部署规模。本文提出了一种高性能虚拟网络——VegaNet(Virtual Gigabit Network),为研究人员提供了一个满足真实性、灵活性和可控性要求的大规模的网络实验环境。
VegaNet体系结构
1.VegaNet网络模型
VegaNet是在采用纯IPv6协议的CNGI-CERNET2主干网之上,综合利用软、硬件技术构成的覆盖网络。VegaNet虚拟网络的模型是在CERNET2的核心路由器上,连接一台VegaNet中间节点设备,称为虚拟路由器。采用虚拟化技术,一台虚拟路由器可以执行多个实例。在虚拟路由器实例之间,利用隧道虚链路连接起来,构成虚拟网络的拓扑结构。与物理路由器和物理链路构成的物理网络相对应,虚拟路由器和虚链路,构成了VegaNet虚拟网络。
在VegaNet网络中,虚拟路由器采用两种技术来实现:利用商用路由器设备开发的硬件虚拟路由器,以及基于开源软件开发的软件虚拟路由器。硬件虚拟路由器,基于比威网络技术有限公司的BitEngine 12000 IPv4/IPv6双栈核心路由器开发,作为核心节点部署在虚拟网络的骨干节点上,为虚拟网络提供高性能的路由计算和数据转发业务。软件虚拟路由器,采用商用PC硬件平台,整合开源的虚拟化软件和路由协议套件,作为接入路由器部署在虚拟网络的边缘节点。
在物理网络中,虚拟路由器设备是作为端系统,直接接入某台物理路由器上的。虚拟路由器实例之间,借助物理网络的路由机制实现可达性,这种可达性是通过多条物理链路相互连接来实现的。为向虚拟网络提供直连链路的效果,虚拟路由器之间建立点到点的隧道,称为虚链路,来封装虚拟网络的通信流量。虚链路连接的节点之间,运行虚链路状态协议,检测链路的延迟、抖动等状态信息,并检测底层物理网络的链路故障及重路由等事件。利用虚链路来互联虚拟路由器,允许研究人员根据具体要求,定制虚拟网络节点之间的连接关系,使得虚拟网络对外呈现出特定的拓扑结构特征。
软件虚拟路由器中,利用虚拟化技术,可以同时运行多个路由器实例,使得虚拟网络的节点规模,可以突破实际部署节点的数量的限制。宿主于同一虚拟路由器的多个实例之间相互独立,通过虚链路连接方式,各个虚拟实例可以分配到不同的拓扑结构之中。这样一来,在同一物理网络之上,VegaNet对不同的研究者,可以同时提供相互隔离的网络实验环境,这些网络环境的拓扑结构均可由用户自行定制。
虚拟路由器之间利用虚链路互相连接,构成了VegaNet虚拟网络的传输子网,用户边缘网络可以通过以下几种方式来接入到虚拟网络中:直连方式,代理方式和静态路由方式。直连方式等同于传统的局域网接入方式,端系统机器直接连接一台虚拟路由器实例,并指定默认网关为该虚拟路由器。代理接入方式,要求用户机器或者默认网关,将某一虚拟路由器实例设置为代理或者VPN服务器;相应的虚拟路由器实例运行代理或者VPN服务,承载用户的数据流量,在虚拟网络中进行路由转发。静态路由方式,要求研究人员对物理网络的路由器进行静态路由配置,将特定流量的数据包对应的路由表项的下一跳,设置为与该路由器直接相连的虚拟路由器实例。
2.VegaNet体系结构
从TCP/IP网络体系结构来看,VegaNet虚拟网络,是构建在物理网络之上的覆盖网络,它以整个物理网络作为自己的物理基础设施。VegaNet所构建的网络环境,是TCP/IP协议之上的一个分布式应用。VegaNet虚拟网络按照功能来划分,构成四层体系结构,各层的功能依次描述如下:
(1) 虚拟拓扑层,以研究人员的配置信息为输入,在相应的虚拟路由器之间建立虚链路,生成虚拟网络的拓扑结构。虚拟拓扑层屏蔽了物理链路的连接关系,为虚拟网络的上层提供点到点的逻辑连接;它将虚拟节点之间的连接关系作为配置接口向管理人员开放,支持多个不同的拓扑结构并行部署。
(2) 转发层,工作在虚拟拓扑之上,在虚拟节点之间提供逐跳的数据转发服务。转发层是虚拟网络的数据平面,执行路由查找功能,获得数据包到达目的地所经过的下一跳虚拟节点,然后对报文进行封装操作,利用相应的虚链路进行转发。
(3) 路由层,是虚拟网络的路由协议的控制平面,运行OSPF、BGP等路由协议,负责虚拟网络中路由信息的交互,宣告虚拟路由器连接的路由前缀,确保虚拟网络的可达性,为转发层提供转发依据。虚拟网络的路由协议,与物理网络的路由协议相互独立,可以采用不同的路由机制。
(4) 应用层,该层部署虚拟网络的管理程序和用户级应用程序,为虚拟网络用户提供应用和服务支持。由于转发层通过虚链路提供对应用程序透明的数据转发服务,应用层程序不会感知的虚拟网络的存在,不需要修改就可部署于虚拟网络之上;同样,在虚拟网络中进行试验和评测之后,应用程序可以直接移植到互联网中进行部署和应用。
3. VegaNet的应用场景
VegaNet可以对物理网络CNGI-CERNET2进行模拟和监控。在VegaNet中,虚拟路由器将作为CERNET2的端系统,与CERNET2网络的核心路由器直接相连,对于核心路由器的性能和运行状况具有很好的感知能力。虚拟路由器集成CERNET2物理网络的分布式监控系统,对于网络的延迟、抖动、故障、丢包率等进行有效的感知和测量。
此外,VegaNet提供了研究人员对各种网络协议和应用的实验研究平台。VegaNet的虚拟拓扑层,借助于虚链路封装技术,可以突破物理网络节点的约束,构建满足特定拓扑结构要求的网络环境,为拓扑规划和生成算法的研究提供了很好的支持。在VegaNet虚拟路由器中,实现了路由协议的控制平面和数据平面的分离。对于路由协议数据平面的研究,如转发信息表的组织结构以及查询算法的优化设计,可以在虚拟路由器实例中进行实现,借助于VegaNet虚拟网络数据流量进行性能评测和分析。路由层开放了典型路由协议RIP、OSPF和BGP等的编程接口,提供了一个实现和部署路由协议改进和创新方案的平台。虚拟路由器通过多实例技术,支持路由协议的开发和部署并行进行,不同的新型路由协议部署在相互隔离的虚拟子网内,可以同时进行试验而不会彼此影响。
VegaNet虚拟网络,结合虚拟化技术和覆盖网络研究的成果,在采用纯IPv6技术的CERNET2主干网络上,提供了一个接近真实互联网的大规模网络实验平台。VegaNet采用软件路由器和硬件路由器相结合的异构技术,实现了灵活性、可控性和高性能;通过开放路由器的编程接口,为研究人员的创新提供了很好的支持;虚拟节点之间利用虚链路进行互联,提高了节点之间连接关系的多样性,支持灵活多样的拓扑结构。
(作者单位1为清华大学,2为北京科技大学)
文章来源:《中国教育网络》杂志7月刊
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。