未来网络虚拟化关键技术研究KeyTechnologiesinFutureInternetVirtualization2011-03-22作者:韩言妮,覃毅芳,慈松摘要:网络虚拟化可使得多个服务提供商动态组合多个异构的共存却相互隔离的虚拟网。文章提出一种支持上下文感知的网络虚拟化实现方法,通过虚拟化网络资源和动态资源分配与控制技术建立底层资源与上层服务之间的映射关系,通过虚拟化层在应用层和底层基础网络间形成透明的隔离,同时采用认知管理的方式对虚拟化网络进行动态控制,以改善和提升互联网能力,满足端对端服务质量、安全性、可管理性等需求。关键字:未来网络;网络虚拟化;资源分配;认知网络英文摘要:Networkvirtualizationallowsdifferentserviceproviderstodynamicallyestablishconcurrentbutisolatedheterogeneousvirtualnetworks.Thispaperproposesnetworkvirtualizationthatsupportscontext-aware.Usingallocationandcontroltechnologyforvirtualizationnetworkresourcesanddynamicresources,amappingrelationshipisestablishedbetweensubstrateresourcesandupperservice.Atransparentseparationcanalsobeintroducedinthevirtualizationlayerbetweenapplicationlayerandsubstrateinfrastructurelayer,andcognitivemanagementcanbeimplementedtodynamicallycontrolthevirtualizationnetwork.Inthisway,theInternetcanbegreatlyimprovedsothatendtoendQoS,security,andmanageabilityaremet.英文关键字:futurenetwork;networkvirtualization;resourceallocation;cognitivenetwork基金项目:国家自然科学基金项目(60372048、60496316、2010ZX03004-002)互联网从最初只考虑“尽力而为”的数据业务,发展到现在互联网的应用已经无所不包,并进入实时业务、流媒体等领域。据Internet系统协会2009年7月发布的数据显示,Internet已成为超过6亿个节点,核心节点系统处理能力达到每秒太比特级的全球超级信息系统[1-2]。然而,因为互联网是由多种服务提供商提供服务,使得采纳一种新的架构或者在现有架构上进行一些修改变得十分困难,导致现有的互联网技术不利于支持移动性,影响了核心路由的扩展性,降低了现有安全机制的效能,阻碍了网络新技术的发展。为了解决互联网的“僵化”问题并刺激未来网络研究的创新,网络虚拟化的方法被提出来,并成为未来网络研究工作的重点[3-5]。通过允许网络共享相同的物理链路和路由器等物理资源,构建健壮的、可信的、易于管理的虚拟环境,为各种各样的虚拟网请求分配合适的虚拟资源,实现资源共享,提高基础设施资源利用率,是网络虚拟化的主要目标。1虚拟化的发展历程及技术基础虚拟化在信息和通信领域是一个非常宽泛的概念。这个概念首次于1960年在计算机领域被提出,表示从物理资源中抽象出逻辑计算资源的通用技术。重要虚拟技术的发展历程如图1所示。虚拟技术与隐藏/共享物理有关,同样也包括虚拟资源,例如目标操作系统、硬件、CPU和嵌入系统、网络或实践中采用的存储。目前存在很多虚拟化概念。在计算机领域虚拟化技术已被应用到了内存虚拟化、存储虚拟化和桌面虚拟化中;在通信领域,虚拟化与许多技术相关,例如异步传输模式(ATM)虚拟电路、多协议标记交换(MPLS)虚拟路径、虚拟专有网络(VPN)、虚拟局域网(VLAN)、虚拟重叠网。1.1虚拟局域网一个虚拟局域网(VLAN)是逻辑上在同一广播域下连接起来的一组主机,而与它们的物理连接无关。虚拟局域网在网络执行、管理和重新配置等方面十分灵活。传统的VLAN基本上基于第二层构建。一个VLAN中的所有帧在MAC头中具有一个共同的VLANID,支持VLAN的交换机实用目的媒体访问控制(MAC)地址和VLANID来转发帧。多个交换机上的不同VLAN可以通过中继的方法连接起来。1.2虚拟专用网一个或多个企业的专用通信网,其节点是分布式的,通过公共通信网以隧道方式连接起来。每个虚拟专用网(VPN)包括一个或多个用户边缘(CE)设备,这些CE连接到提供商边缘(PE)路由器上。VPN曾经取得了巨大的成功,但是VPN距离网络虚拟化还有一些差距:所有的VPN网都基于相同的技术和协议栈,限制了多种组网方案的共存;虚拟网资源无法实现真实的隔离,VPN服务提供者和设施提供者的角色依然没有分开。1.3重叠网重叠网是在现有网络物理拓扑结构之上创造的虚拟拓扑结构。重叠网中的节点通过虚拟链路相连接,对应底层网络中的路径。从路由器的性能和利用率、多播、服务质量(QoS)、服务攻击的保护、内容分发到文件共享和存储系统,重叠网在研究中得到了广泛关注。重叠网通常是在应用层执行,如P2P网络是在应用层上的重叠。但重叠技术不能实现路径分离,同时只能在基于IP层上的应用层进行部署和设计,因此不能支持异构的网络架构。目前的网络虚拟化技术,例如ATM、MPLS和其他类似的技术主要是链路的虚拟化而不是全网络解决方案的虚拟化。而更高级的一些解决方案,例如VPN,仅仅是使用公用网络的技术来满足安全、共享、应用的可兼容执行环境,只能提供简单的虚拟连接或IP转发,不能用于端到端的部署或底层基础设施的全虚拟化。重叠虚拟网的许多方案通过引入应用层网络,更接近于全虚拟化的概念。为了支持未来网络“演进”式架构,需要使用网络虚拟化技术提供虚拟网络环境,允许多个服务提供商,将许多网络实例部署在一个公共的物理网络设施上,动态组合出异构、共存却相互隔离的虚拟网。但是这种虚拟化网络的类型一定不能与当前的技术混淆,如虚拟专有网络,仅提供一种通信隔离,而虚拟化网络需要在未来网络架构下将IP网络与并行的非IP网络进行自治的管理控制和灵活的安全隔离,以提高使用网络虚拟化作为未来网络的基础。2国际上的研究项目2.1PlantLab项目PlantLab[6]是一个支持新的网络服务而开发的全球性重叠网。PlantLab结合分布式系统和网络虚拟化的优势实现节点的虚拟化,用于设计、评价、部署地理上分布式的网络服务。PlanetLab架构的设计中心思路是切片。每个服务运行在PlanetLab的一个切片中,一个切片包含一定数量的进程、内存、存储和跨越很多分布式独立节点的网络资源。切片不仅仅是分布式资源的简单相加,更是虚拟机的网络。切片把物理资源分配到每个虚拟机上。2.2Geni项目Geni[7]借鉴PlantLab和其他类似的试验床,通过搭建一个开放、大规模、现实的实验设施,代表终端用户承载真实流量并连接现有互联网到外部站点。Geni实现评价新的网络架构创新的全球环境,从而为研究者提供一个创建定制虚拟网络和无限制实验的机会。GENI从空间和时间两个方面将资源以切片形式进行虚拟化,为不同网络实验者提供他们需求的网络资源(如计算、缓存、带宽和网络拓扑等),并提供网络资源的可操作性、可测性和安全性。2.3VINI项目VINI[8]类似于PlantLab但更接近于GENI。VINI同时支持X-Bone或VIOLIN的虚拟网络。VINI提供了比PlantLab更多的自由,因为PlantLab仅仅在路由器层次上实现虚拟化。VINI的原型在PlantLab上实现,通过将可获得的软件进行组合,实现运行软件路由器的重叠网的具体实例,并允许多个这样的重叠网并行存在。VINI使用XORP来路由,Click来进行包转发和网络地址翻译,并用OpenVPN服务器来连接终端用户。2.4CABO项目CABO[9]实现了完全虚拟化,将因特网业务提供商(ISP)的角色进行分解,允许服务提供者同时在不同的基础设施提供者拥有的设备上运行多个端到端的服务。CABO支持虚拟路由器的自动迁移,从一个物理节点到另外一个物理节点。同时CABO提出的多层路由计划具有可扩展特性,能快速响应网络条件的任何改变。在支持可编程路由器方面,CABO类似于主动网络的研究,但不允许用户对网络编程,而服务提供者可以定制网络来为终端用户提供端到端的服务。2.54WARD项目4WARD虚拟化框架允许多个网络在一个通用的平台上,通过网络资源运营级的虚拟化进行共存。4WARD可以支持异构虚拟网络在一个安全、可信的商业环境下,进行按需的实例化和可靠的互操作。4WARD同时支持异构网络技术的虚拟化(包括有线和无线)、异构终端用户设施和新型网络协议等。这些都是4WARD核心框架设计的一部分,但4WARD期望将网络虚拟化带给终端用户,而不仅仅把它限制在试验网络或试验床上。从上述研究计划中,可以看出目前虚拟化技术在网络技术、协议层次和虚拟粒度上出现了3种趋势[10-11]。(1)粒度越来越细早期的虚拟化项目只关注在连接的虚拟节点或在物理节点之间部署虚拟链路,实现虚拟网的隔离。最近的研究例如GENI、4WARD等,不仅仅实现节点或链路的虚拟化,更关注通过有效的完整隔离实现服务器、交换机、网络管理平面的虚拟化。(2)层次越来越低虚拟网络的研究存在着不同的分层,从物理层(如UCLP)到应用层(如VIOLIN),虚拟化的层次越低。虚拟网络对更高层的协议越来越不可知,虚拟网络的灵活性将更高。(3)越来越关注网络的异构环境随着移动和无线设备数量的增加,专门网络技术的出现(例如传感器网络)。网络虚拟化尝试在一个集成环境下兼容多种异构网络技术,更关注平滑不同技术的差异。3支持上下文感知的网络虚拟化技术可以看出,网络虚拟化技术可以不受现有互联网“僵化”设计缺陷影响,通过虚拟网络环境为新技术的测试、验证提供创新的试验平台,支持不同网络架构的共存与管理,激发网络技术的创新,提高网络的灵活性。另一方面,现有互联网的QoS保障机制存在缺陷,互联网仅提供“尽力而为”转发服务,难以满足上层业务的QoS需求,通过虚拟化的方法,对底层资源(包括链路资源、节点资源等)优化组合,可以动态获得较为可靠的QoS能力,从而支持上层业务的QoS需求。因此,本文提出一种支持上下文感知的网络虚拟化实现方法,从虚拟化的分层模型、动态资源分配与控制和虚拟网络创建流程3个方面进行介绍。3.1分层模型在网络虚拟化分层模型中,包含如下3层结构:基础设施层、虚拟化重叠层以及服务层,如图2所示。基础设施层由众多的基础设施提供者(InP)组成,每个InP包括大量的可编程的支持虚拟化的节点,例如路由器及终端服务器等。InP通过虚拟化资源统一描述方式将底层资源的细节屏蔽,为上层提供统一的虚拟资源抽象。虚拟化重叠层基于分布式智能多代理系统,由一系列分布的域管理器组成。每个域管理器对应相应的一个InP。域管理器负责资源的探测、抽象,虚拟资源的分配、调度,虚拟网的创建、实例化。服务层由众多相互隔离的虚拟网组成。这些虚拟网由用户或者用户代理发起的请求进行驱动,由域管理器进行调度、分配、创建,完成特定的功能。这些特定的功能主要包括两大方面:新型网络协议、架构的测试验证和针对特定的服务需求,实现特定的虚拟专网。对于虚拟化层中域管理器之间的协同和交互问题,可以采用集中或分布式的管理方式,按照特定的协议交互信息,以获得相关域管理器的资源信息。每个域管理器内部由一系列相应的功能模块构成:资源发现、情境建模、资源映射以及特定的策略库等组成,如图3所示。资源发现主要是确定它们管理网络的拓扑和相应网络元素的状态,更进一步,邻