数据中心网络虚拟化技术及演进

发布时间:2014-11-01 作者:夏迎春(中兴通讯)

       随着Web2.0、多媒体技术和移动互联网技术的发展,传统数据中心面临诸多挑战:资源和业务强绑定,可扩展性差;业务部署慢;资源利用率低;资源管控困难、能耗高,运营成本居高不下。用户希望新型数据中心能够方便地支持业务创新、快速部署以及有效降低运维成本。在此背景下,云计算数据中心应运而生并取得快速发展。云计算数据中心按照云计算的需求和技术来构建数据中心,提供三种类型和层次的数据中心服务:IaaS(架构即服务)、PaaS(平台即服务)、SaaS(软件即服务),其中IaaS是基础和主要提供方式。实现IaaS过程中,数据中心虚拟化是成功的关键,包括服务器(计算)虚拟化、存储虚拟化和网络虚拟化。数据中心虚拟化的本质就是将数据中心的资源(计算、存储和网络)进行抽象和颗粒化,按需分配和管理。这不仅可以帮助企业或机构减少服务器数量、优化资源利用率、简化管理,还可以实现动态IT基础设施环境,从而降低成本、快速响应业务需求的变化。


  虚拟化进程中,服务器虚拟化和存储虚拟化因为大部分属于软件技术,发展较为迅速,并快速商用。网络虚拟化,是对网络资源如端口、带宽、IP地址等进行抽象,并支持按照租户和应用进行动态分配和管理。网络虚拟化因为网络标准、网络处理芯片更新周期长而发展较为滞后,成为数据中心虚拟化过程中的难点和关键点。网络虚拟化技术走过了一条由软件到硬件、由服务器内部到物理网络的发展道路。

 

软件虚拟交换机,网络虚拟化的起始点


  服务器虚拟化通过嵌入在基础物理服务器和操作系统之间的中间软件层Hypervisor实现,其接管操作系统对CPU、内存、I/O资源的控制,为每个VM(Virtual Machine,虚拟机)分配一定的资源,并实现VM之间的隔离和通信。Hypervisor提供一个或多个模拟物理交换机的软件虚拟交换机vSwitch(Virtual Switch)来进行VM之间的通信,并为每个VM分配一个虚拟网口和一定的带宽。vSwitch除了具备物理交换机基本的MAC学习和转发、VLAN功能外,还具有配置灵活和成本低廉的优点。由于vSwitch通过软件实现,其分配的网络资源实际还是由服务器CPU资源来保证。


  目前业界比较常用的vSwitch有两类。


  一类是以VMware为代表的商业闭源vSwitch,功能丰富、运行稳定,除了转发功能外,还提供比较强大的网络部署和管理组件。此类vSwitch一般和虚拟化软件Hypervisor集成,作为Hypervisor的重要部件。


  另一类是以Open vSwitch为代表的开源vSwitch。随着VM的广泛部署,vSwitch的需求量也快速上升,而商业vSwitch的价格昂贵。为此,开源社区开发了开源的多层软件虚拟交换机Open vSwitch,遵循Apache 2.0开源代码版权协议,实现类似于商业vSwitch功能。Open vSwitch的强大之处在于:一,开源,各种软件交换机功能被快速开发出来;二,可以独立的软件方式在各种虚拟机支撑平台上运行,如XEN、KVM等;三,可以部署到物理交换机上作为其控制面。

 

服务器硬件对网络虚拟化性能优化所做的努力


  纯软件vSwitch消耗了大量的CPU和I/O资源,为提升性能,服务器硬件厂商特别是CPU厂商以及相关工业协会一直在做提升虚拟交换性能的努力,如Intel的VT-c(支持连接的虚拟化技术),借助以下两种关键技术提升虚拟化软件网络性能:一是VMDq(虚拟机设备队列)技术,为不同的虚拟机分配不同的报文队列,把原来由VMM(VM Monitor)完成的报文分类功能卸载到网卡硬件上来完成,减少处理器占用周期,提升网络I/O吞吐率,减少网路延迟;二是VMDc(虚拟机直接互联)技术,通过支持SR-IOV标准的网卡实现虚拟机之间的数据交换功能,控制面依然运行在vSwitch上,转发面由网卡硬件实现,从而大幅减少CPU的资源占用。

 

边缘交换机虚拟化,网络虚拟化从服务器内发展到物理网络


  软件虚拟化交换机(包括I/O加速的vSwtich)虽然有部署灵活和便宜的优点,但也存在着一些缺点:第一,性能提升受限于CPU以及网卡的I/O架构;第二,软件交换机实现的网络功能相对简单,只实现了转发功能,被称为VEB(虚拟网络桥),缺少交换控制、网络监视、QoS、安全等功能;第三,管理界限模糊,软件交换机运行在服务器内部,而服务器管理团队对于网络理解不深;第四,VM和vSwitch数量激增带来的管理难题。为进一步优化性能、简化管理并继承传统交换机特性,网络设备商和相关标准组织提出边缘交换机虚拟化技术,把VM交换功能再进一步由网卡卸载到物理交换机上来。涉及到的关键技术有VEPA(Virtual Ethernet Port Aggregator)/Multi-Channel和PE(Port Extender)两种,分别由IEEE 802.1Qbg和IEEE 802.1Qbh(现由IEEE802.1BR替代)两个标准定义和推动。


  VEPA是IEEE 802.1Qbg的标准功能,其核心思想是将虚拟机产生的网络流量全部交由服务器相连的物理交换机处理,即使同一台服务器的虚拟机间流量,也发往外部物理交换机进行转发处理。VEPA是物理交换机和vSwitch功能的一种扩展,旨在消除数据中心需要管理的大量交换要素,将网络的大部分功能重新返回给网络侧。VEPA需要网络设备支持Reflective Relay(反射中继)功能。同时定义了多个交互协议如VDP(VSI Discovery and Configuration Protocol)等,用于物理设备对VM的配置与控制。VEPA使得同一台物理服务器VM之间的流量也占用了上行链路带宽,但相对于管理的简化、CPU性能的提升来说,这些开销还是比较值得的。


  Multi-Channel是IEEE 802.1Qbg的可选功能,通过该技术,实现了VEB、VEPA和直连集中模式混合的功能。Multi-Channel通过在网卡和交换机的接口之间建立若干个虚拟通道,对发送到对端的帧都会添加一个MC-tag,用于标识不同的虚拟通道,从而实现不同流量的隔离。Multi-Channel的适应场景更加广泛,不足点在于组播流量在虚拟通道上依然通过单播转发,浪费了一些带宽。


  PE功能由IEEE 802.1    Qbh和802.1BR两个标准推动,其核心思想是将服务器内置的VEB只作为端口扩展(PE)设备,物理交换机作为控制桥(CB)设备,CB为每个PE的下行端口分配一个虚拟端口,控制和转发在CB上进行,减轻了PE的负担,同时CB为PE的组播、广播流量分配单独的虚拟通道,从而实现远程组播控制,让PE可以进行本地复制,优化了组播性能。

 

网络连接和拓扑新技术,解决网络虚拟化诸多问题


  传统的数据中心物理网络在面对服务器虚拟化、网络边缘虚拟化时出现诸多问题:


  ●   为解决单物理节点可用性对VM可用性的影响,VM需在不同物理主机上快速部署以及快速热迁移,为此需要大二层网络,传统的三层网络满足不了要求;

 

  ●   VM大规模部署,带来MAC地址的激增,传统交换机的转发容量和性能受到影响;


  ●   云服务支持海量租户,租户之间的流量需要进行有效隔离,传统的VLAN隔离方法因为VLAN的4K数量限制,虚拟化网络的规模受到限制;


  ●   数据中心容灾的需要,大型数据中心甚至要求网络具备跨数据中心VM迁移功能;

 

  ●   传统二层网络为解决环路问题启用STP(生成树协议),冗余链路处于阻塞状态,网络利用率不高。


  为解决以上问题,相关标准组织和设备商提出一些新型网络连接和拓扑技术,其中最具代表性的有:支持大二层多路径的TRILL(Transparent Interconnection of Lots of Links)和SPB(Shortest Path Bridge)技术、支持在传统三层网络上构建虚拟二层网络的NVO3(Network Virtualization Over layer3)技术,以及设备商提出的核心交换机跨机架链路捆绑技术。


  TRILL和SPB分别由IETF RFC5556和IEEE 802.1aq定义,两者原理类似,采用IS-IS路由协议来计算转发路径和等价路径,在报文头部增加跳数标签防止环路,通过扩展的24位标签实现16M租户空间。不同之处在于,TRILL采用了新的封装格式,在内部MAC和外部MAC增加TRILL头部,而SPB采用已有的PBB封装。


  NOV3旨在解决传统网络租户数量少、网络节点扩展性差等问题,在传统的三层网络基础上,利用隧道技术构建叠加网络(Overlay Network),其特点在于中间网络透明化,业务控制边缘化,虚拟网络高扩展性,支持构建超大规模虚拟网络以及跨数据中心虚拟网络。根据封装技术不同,NOV3有3种典型的技术:VxLan、NVGRE和STT,其中VxLAN已标准化。


  除了新的标准协议,传统网络核心设备通过私有技术实现跨设备的链路捆绑,避免STP的部署,这种方案可以提供中小规模无STP二层网络。

 

数据中心网络虚拟化的技术演进方向


  未来几年,IT软件商、CPU芯片商、通信设备商会继续在各自领域对虚拟化网络提出新的方案和改进技术。作为颠覆性网络技术,SDN(Software define Networks)在数据中心网络虚拟化上将会取得重大进展和应用。SDN控制网络的一个前提就是首先要对网络进行抽象和虚拟化,因此SDN天生具有虚拟化的特性,并提供虚拟化视图和编程接口,充分满足新型云计算数据中心网络可伸缩、易扩展、简化部署和管理以及可快速创新的需求。数据中心将是SDN商用的第一站,得到设备商、软件商和IDC运营商的重视和推动。SDN在数据中心虚拟化网络的应用将会体现在3个方向:一,作为NVO3 Overlay网络的控制面,降低设备CPU的负担;二,对传统网络进行集中控制,去除路由协议降低设备CPU负担的同时提升网络收敛性能,并扩大网络规模;三,对由新型纯Openflow交换机组成的数据中心网络进行流编程和创新,打造完全虚拟化的数据中心网络。