未来网络虚拟化关键技术研究

发布时间:2011-03-23 作者:韩言妮,覃毅芳,慈松 阅读量:

基金项目:国家自然科学基金项目(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头中具有一个共同的VLAN ID,支持VLAN的交换机实用目的媒体访问控制(MAC)地址和VLAN ID来转发帧。多个交换机上的不同VLAN可以通过中继的方法连接起来。

 

1.2 虚拟专用网
    一个或多个企业的专用通信网,其节点是分布式的,通过公共通信网以隧道方式连接起来。每个虚拟专用网(VPN)包括一个或多个用户边缘(CE)设备,这些CE连接到提供商边缘(PE)路由器上。VPN曾经取得了巨大的成功,但是VPN距离网络虚拟化还有一些差距:所有的VPN网都基于相同的技术和协议栈,限制了多种组网方案的共存;虚拟网资源无法实现真实的隔离,VPN服务提供者和设施提供者的角色依然没有分开。

 

1.3 重叠网
    重叠网是在现有网络物理拓扑结构之上创造的虚拟拓扑结构。重叠网中的节点通过虚拟链路相连接,对应底层网络中的路径。从路由器的性能和利用率、多播、服务质量(QoS)、服务攻击的保护、内容分发到文件共享和存储系统,重叠网在研究中得到了广泛关注。重叠网通常是在应用层执行,如P2P网络是在应用层上的重叠。但重叠技术不能实现路径分离,同时只能在基于IP层上的应用层进行部署和设计,因此不能支持异构的网络架构。


    目前的网络虚拟化技术,例如ATM、MPLS和其他类似的技术主要是链路的虚拟化而不是全网络解决方案的虚拟化。而更高级的一些解决方案,例如VPN,仅仅是使用公用网络的技术来满足安全、共享、应用的可兼容执行环境,只能提供简单的虚拟连接或IP转发,不能用于端到端的部署或底层基础设施的全虚拟化。重叠虚拟网的许多方案通过引入应用层网络,更接近于全虚拟化的概念。为了支持未来网络“演进”式架构,需要使用网络虚拟化技术提供虚拟网络环境,允许多个服务提供商,将许多网络实例部署在一个公共的物理网络设施上,动态组合出异构、共存却相互隔离的虚拟网。但是这种虚拟化网络的类型一定不能与当前的技术混淆,如虚拟专有网络,仅提供一种通信隔离,而虚拟化网络需要在未来网络架构下将IP网络与并行的非IP网络进行自治的管理控制和灵活的安全隔离,以提高使用网络虚拟化作为未来网络的基础。


2 国际上的研究项目

 

2.1 PlantLab项目
    PlantLab[6]是一个支持新的网络服务而开发的全球性重叠网。PlantLab结合分布式系统和网络虚拟化的优势实现节点的虚拟化,用于设计、评价、部署地理上分布式的网络服务。PlanetLab架构的设计中心思路是切片。每个服务运行在PlanetLab的一个切片中,一个切片包含一定数量的进程、内存、存储和跨越很多分布式独立节点的网络资源。切片不仅仅是分布式资源的简单相加,更是虚拟机的网络。切片把物理资源分配到每个虚拟机上。

 

2.2 Geni项目
    Geni[7]借鉴PlantLab和其他类似的试验床,通过搭建一个开放、大规模、现实的实验设施,代表终端用户承载真实流量并连接现有互联网到外部站点。Geni实现评价新的网络架构创新的全球环境,从而为研究者提供一个创建定制虚拟网络和无限制实验的机会。GENI从空间和时间两个方面将资源以切片形式进行虚拟化,为不同网络实验者提供他们需求的网络资源(如计算、缓存、带宽和网络拓扑等),并提供网络资源的可操作性、可测性和安全性。

 

2.3 VINI项目
    VINI[8]类似于PlantLab但更接近于GENI。VINI同时支持X-Bone或VIOLIN的虚拟网络。VINI提供了比PlantLab更多的自由,因为PlantLab仅仅在路由器层次上实现虚拟化。VINI的原型在PlantLab上实现,通过将可获得的软件进行组合,实现运行软件路由器的重叠网的具体实例,并允许多个这样的重叠网并行存在。VINI使用XORP来路由,Click来进行包转发和网络地址翻译,并用OpenVPN服务器来连接终端用户。

 

2.4 CABO项目
    CABO[9]实现了完全虚拟化,将因特网业务提供商(ISP)的角色进行分解,允许服务提供者同时在不同的基础设施提供者拥有的设备上运行多个端到端的服务。CABO支持虚拟路由器的自动迁移,从一个物理节点到另外一个物理节点。同时CABO提出的多层路由计划具有可扩展特性,能快速响应网络条件的任何改变。在支持可编程路由器方面,CABO类似于主动网络的研究,但不允许用户对网络编程,而服务提供者可以定制网络来为终端用户提供端到端的服务。

 

2.5 4WARD项目
    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所示。资源发现主要是确定它们管理网络的拓扑和相应网络元素的状态,更进一步,邻近的域管理器也同样共享状态信息,在网络之间建立链路,实现域间虚拟网络的构建。虚拟资源映射主要是按照策略库中的约束对虚拟节点和虚拟链路分配到相应的物理的节点和路径上,目前主要有静态分配和动态分配两种方式[11-13]。

 


 

3.2 动态资源分配和控制
    虚拟化重叠层逻辑上可以分为虚拟化子层和控制子层,不仅可以实现网络隔离与资源共享,同时可以与业务层面进行交互,并对底层网络基础设施进行集成与管理,实现互联网的上下文感知和资源的优化配置。业务感知的动态资源分配和控制如图4所示。这里借鉴通信网络的认知技术,感知当前内外环境和网络状态的变化,并依据网络整体目标及端到端需求,通过执行适当的学习推理机制,利用感知到的网络环境和状态信息获取网络自主决策,实时动态地调整网络配置,从而使网络可以通过自管理和自学习能力来完成管理任务的自动化,最终实现对网络的自配置、自优化、自恢复和自保护等操作。

 



    可以看出这些需要感知的信息与资源或拓扑发现和资源消耗及资源可用性等相关。感知通常包括2个部分:网络资源感知(资源发现、可利用资源的定性和定量评价和故障检测)及网络状态感知(提供资源消耗和承载流量属性信息的操作)。通过监控网络运行的上下文以及运行的网络状态,以评估网络当前行为是否与其业务目标相符。规划单元的主要功能则是对所采集的信息进行学习和推理,实现对网络资源可用性,以及所处网络环境变化实现实时识别和感知的目的,并依据认知结果进行动态决策,从而指导网络进行智能重构。网络的智能重构可以采用基于策略的网络管理方式。网络管理策略是一组规则,每条规则由一组条件和动作组成。条件中定义了规则使用的参数,一旦规则的条件满足,规则中的动作就能够被触发,从而实现系统自动调整功能。基于策略的网络管理的是一个系统化的网络管理系统,它强调的是系统能够在运行时依据管理者设定的目标需求,对网络资源进行动态的配置和重配置,从而达到动态适应网络环境变化,优化网络资源利用率的目标。

 

3.3 虚拟网络的创建流程
    基于上述的分层架构和动态资源分配技术,可以实现虚拟网络的创建流程,其中虚拟资源的抽象、映射、管理是网络虚拟化的关键。虚拟网流程如图5所示。

 



    首先终端用户发起资源请求,通过统一资源描述的方式对用户需求与物理资源的描述进行相似度匹配,其中需求的描述包括节点的数目、处理能力、链路的带宽,拓扑信息等。目前的虚拟资源描述解决方案多是用可扩展标记语言(XML)进行描述,从而满足灵活性、可扩展性、层次性、安全性等需求。


    其次进行虚拟资源的映射,也称为“虚拟网的嵌入”。即在用户将需求准确的描述给域管理器后,域管理器将这些虚拟网络请求进行划分,分别映射到不同的基础设施提供者上,这也是虚拟网创建过程中最重要的环节。资源映射属于多目标多约束问题。一方面,要同时满足用户的节点、链路的需求;另一方面,要使得资源的开销最低、InP收益尽量最大化,还要兼顾负载均衡等问题。目前基于代理的集中式和基于策略的分布式映射算法是域间虚拟网络映射的热点研究问题。这个过程涉及到虚拟资源的动态探测,通过域管理器周期性的扫描本地域所管理的资源,将资源的属性和状态收集、储存起来,放到虚拟资源池中,并以列表的形式招贴出来,供其余的域管理器查看、调度。


    最后是虚拟网的实例化构建。域管理器选定可用的虚拟资源后,进行资源绑定而实现虚拟网络的实例化,将用户需要的虚拟环境安装到底层的设备中,在虚拟机中部署用户需要的协议、软件等,如支持某种路由协议的XORP软件,然后将这些资源连接起来,形成用户需要的特定虚拟网络。在虚拟网进行实例化后,用户可以通过域管理器提供的接口(Web接口或SSH接口等)对虚拟网络进行管理和控制。同时规划单元负责虚拟网状态的监控,按照用户反馈的信息对虚拟网进行动态的局部调整,如增加或者删减某些节点,扩大或者缩小链路的带宽等。在虚拟网的生存周期结束时,域管理器将会注销虚拟网,收回绑定的资源,并更新虚拟资源池中的资源状态。


4 结束语
    当前互联网“端到端透明”的原则设计只是提供简单尽力而为地传递信息,在服务质量、安全性、可扩展性和可管理性方面存在严重的缺陷。因此未来网络需要业务的上下文感知和网络资源的优化传输。本文通过虚拟化网络资源和动态资源分配和控制技术建立底层资源与上层服务之间的映射关系;通过虚拟化层,在应用层和底层基础网络间形成透明的隔离;采用认知管理的方式对虚拟化网络进行动态控制,改善和提升互联网能力,满足端对端QoS保证、安全性、可管理性等需求,适应服务和资源来满足用户的需求和业务目标。


5 参考文献
[1] BONIFACE M, SURRIDGE M, UPSTILL C. Position paper: Research challenges for the core platform for the future Internet[R]. University of Southampton IT Innovation Centre.2010(1):1-9.
[2] HUSTON G. Analyzing the Internet's BGP routing table [J]. The Internet Protocol Journal, 2001,4(1):2-15.
[3] SCHRECK G. The virtualization imperative: why virtualization is the key to IT flexibility [R]. Forrester Research, Inc, 2007.
[4] 4WARD -- Architecture and design for the future Internet, D-3.1.1 Virtualisation approach: Concept [EB/OL]. [2011-01-08]. Objective FP7-ICT-2007-1-216041/D-3.1.19(2010-09-09). http://www.4ward-project.eu/ index.php%3Fs%3D.
[5] MARQUEZAN C, NOBRE J, GRANVILLE L, et al. Distributed reallocation scheme for virtual network resources[C]// Proceedings of the IEEE International Conference on Communications (ICC’09), Jun 14-18,2009, Dresden, Germany. Piscataway, NJ, USA: IEEE, 2009.
[6] CHUN B, CULLER D. PlanetLab: An overlay testbed for broad-coverage services [J]. Computer Communications Review, 2003,33(3):3-12.
[7] WROCLAWSKI J. GENI: Global Environment for Network Innovations [R/OL]. [2011-01-08]. Using the Component and Aggregate Abstractions in the GENI Architecture, GDD-06-42(2006-12-19). http://www. geni.net
[8] About VINI:What is VINI [EB/OL]. [2011-01-08]. http://www.vini-veritas.net/.
[9] FEAMSTER N, GAO L. REXFORD J.? How to lease the Internet in your spare time [J]. Computer Communication Review, 2007, 37(1): 61-64.
[10] MOSHARAF KABIR CHOWDHURY N M, RAOUF BOUTABA R. A survey of network virtualization [J]. Computer Networks,2010,54(5):862-876.
[11] YU M, YI Y, REXFORD J,?et al. Rethinking virtual network embedding: Substrate support for path splitting and migration [J]. Computer Communication Review, 2008,38(2): 17-29.
[12] HOUIDI I, LOUATI W, ZEGHLACHE D. A distributed virtual network mapping algorithm [C]// Proceedings of the IEEE International Conference on Communications (ICC’08),May 19-23,2008, Beijing, China. Piscataway, NJ,USA: IEEE,2008:5634-5640.
[13] ZHU Y, AMMAR M. Algorithms for assigning substrate network resources to virtual network components[C]//Proceedings of the 25th IEEE International Conference on Computer Communications(INFOCOM’06),Apr 23-29,2006,Barcelona,Spain.Piscataway,NJ,USA:IEEE, 2006: 12p.

 

收稿日期:2011-01-23

[摘要] 网络虚拟化可使得多个服务提供商动态组合多个异构的共存却相互隔离的虚拟网。文章提出一种支持上下文感知的网络虚拟化实现方法,通过虚拟化网络资源和动态资源分配与控制技术建立底层资源与上层服务之间的映射关系,通过虚拟化层在应用层和底层基础网络间形成透明的隔离,同时采用认知管理的方式对虚拟化网络进行动态控制,以改善和提升互联网能力,满足端对端服务质量、安全性、可管理性等需求。

[关键词] 未来网络;网络虚拟化;资源分配;认知网络

[Abstract] Network virtualization allows different service providers to dynamically establish concurrent but isolated heterogeneous virtual networks. This paper proposes network virtualization that supports context-aware. Using allocation and control technology for virtualization network resources and dynamic resources, a mapping relationship is established between substrate resources and upper service. A transparent separation can also be introduced in the virtualization layer between application layer and substrate infrastructure layer, and cognitive management can be implemented to dynamically control the virtualization network. In this way, the Internet can be greatly improved so that end to end QoS, security, and manageability are met.

[Keywords] future network; network virtualization; resource allocation; cognitive network