虚拟机的出现使数据中心网络接入层出现了VEB(Virtual
Ethernet Bridge)概念。在服务器虚拟化环境中最常见的“VSwitch”就是一种软件VEB。VSwitch的技术兼容性好,但也面临诸多问题,如VSwitch占用CPU资源导致虚拟机性能下降、虚拟机间网络流量不易监管、虚拟机间网络访问控制策略不易实施、VSwitch存在管理可扩展性问题等。
为此,IEEE Data Center Bridging (DCB)任务组(DCB任务组是IEEE
802.1工作组的一个组成部分)正在制定一套新标准——802.1Qbg Edge Virtual Bridging(EVB)。该标准将VEPA(Virtual
Ethernet Port Aggregator)作为基本实现方案。VEPA的核心思想是将虚拟机产生的网络流量全部交给与服务器相连的物理交换机进行处理,即使同一台服务器上的虚拟机间流量,也将在外部物理交换机上进行处理。VEPA方式不仅借助物理交换机实现了虚拟机间流量转发,同时还解决了虚拟机流量监管、访问控制策略部署、管理可扩展性等问题。另外,EVB标准还定义了“多通道技术(Multichannel
Technology)”,目的是实现传统VSwitch、 VEPA和Director IO(一种硬件VEB)的混和部署方案。
一、VEB(Virtual Ethernet Bridge)
1.虚拟化运行环境
服务器虚拟化是在物理服务器上借助虚拟化软件(如VMWare ESX、Citrix
XEN)实现多个虚拟机(Virtual Machine,VM)的虚拟化运行环境。安装在服务器上实现虚拟化环境的软件层被称为VMM(Virtual
Machine Monitor)。VMM为每个虚拟机提供虚拟化的CPU、内存、存储、IO设备(如网卡)以及以太网交换机等硬件环境,如图1所示。
图1.虚拟化运行环境
在虚拟化运行环境中,虚拟交换机提供了虚拟机之间,以及虚拟机与外部网络之间的通讯能力。IEEE的802.1标准文档中,“虚拟以太网交换机”正式名称为“Virtual
Ethernet Bridge”,简称VEB。VEB可以在VMM中采用纯软件方式实现,也可以借助支持SR-IOV特性的网卡通过全硬件方式实现。常见的虚拟化软件(如VMWare
ESX、Citrix XEN)缺省采用软件VEB方案(或称VSwitch),而硬件VEB的应用场景较少,因此后文主要讨论软件VEB,的技术特性。
2.VSwitch的技术特性
在虚拟化运行环境中,VMM为每个虚拟机创建一个虚拟网卡,对于在VMM中运行的VSwitch,每个虚拟机的虚拟网卡对应到VSwitch的一个逻辑端口上,服务器的物理网卡对应于VSwitch与外部物理交换机相连的端口。
虚拟机的报文接收流程:VSwitch从物理网卡接收以太网报文,之后根据VMM下发的虚拟机MAC与VSwitch逻辑端口对应关系表(静态MAC表)来转发报文。
虚拟机报文发送流程:当报文的MAC地址在外部网络时,VSwitch直接将报文从物理网卡发向外部网络;当报文目的MAC地址是连接在相同VSwitch上的虚拟机时,则VSwitch通过静态MAC表来转发报文。如图2所示。
图2.VSwitch方案架构
VSwitch方案具有以下优点:
1、虚拟机间报文转发性能好。VSwitch实现虚拟机之间报文的二层软件转发,VSwitch对报文的转发能力只受限于CPU性能、内存总线带宽,因此虚拟机间报文的转发性能(带宽、延迟)非常好;
2、节省接入层物理交换机设备。例如,数据中心需要部署WEB服务器,且WEB服务器网关指向防火墙。这里可将一台服务器虚拟化成多个虚拟机,每个虚拟机作为一个WEB服务器,将VSwitch作为WEB服务器的网络接入层设备,将服务器物理网卡与防火墙端口互联即可完成组网,无需额外的物理交换机;
3、与外部网络的兼容性好。VSwitch采用软件实现,对现有网络标准的兼容性好,所以VSwitch与外部网络设备不存在互联兼容性问题。
但VSwitch方案也存在一些缺点:
1、消耗CPU资源。虚拟机产生的网络流量越高,则基于软件实现的VSwitch就需要占用越多的CPU资源用于报文的转发处理,从而减弱了服务器支持更多虚拟机的能力。特别是在虚拟机到外部网络的流量很大时,CPU的开销会更大;
2、缺乏网络流量的可视性。VSwitch缺少内部流量监管能力,例如端口报文统计、端口流镜像、Netstream等特性。上述特性的缺失,一方面导致虚拟机之间的流量无法被网管系统所监管;另一方面也使得网络发生故障是,难于定位问题原因;
3、缺乏网络控制策略的实施能力。当前数据中心接入交换机都具有很多实现网络控制策略的特性,例如端口安全,QOS、ACL等。而VSwitch因顾及到CPU开销问题,通常不支持上诉特性。因此限制了数据中心的端到端的网络控制策略(如端到端的QOS、整网安全部署策略等)的部署能力;
4、缺乏管理可扩展性。随着数据中心虚拟机数量的增加,VSwitch的数量随之增加,而传统的VSwitch必须被单独的配置管理,由此增加了网络的管理工作量。VMWare公司推出了“分布式交换机(DVW)”技术,可以将最多64个VSwitch作为一个统一的设备进行管理。但这种技术只有限的改善了管理扩展性问题,并未从根本上解决外部网络管理与VSwitch管理的统一性问题。
二、802.1Qbg EVB标准
1.EVB标准的设计思想
IEEE 802.1工作组正着手制定一个新标准802.1Qbg Edge
Virtual Bridging(EVB),以解决VSwtich(软件VEB)的局限性。其核心思想是,将虚拟机产生的网络流量全部交给与服务器相连的物理交换机进行处理,即使同一台服务器的虚拟机间流量,也将发往外部物理交换机进行查表处理,之后再180度掉头返回到服务器上,形成了所谓的“发卡弯”转发模式,如图3所示。
图3.EVB/VEPA基本架构
EVB改变了传统的VEB对报文的转发方式,使得大多数报文在外部网络交换机被处理。EVB可通过软件方式实现(类似在VMM中的VSwitch软件模块)。由于将所有流量都引向外部交换机,因此与虚拟机相关的流量监管、控制策略和管理可扩展性问题得以很好的解决。但是,由于流量被从虚拟机上引入到外部网络,使EVB技术也带来了更多网络带宽开销的问题。例如,从一个虚拟机到另一个虚拟机的报文,占用的网络带宽是传统的报文转发的两倍,其中一半带宽用于从源虚拟机向外网交换机传输,另一半带宽用于从外部交换机向目的虚拟机传输。EVB的出现并不是去完全替换VEB方案,但是EVB对于流量监管能力、安全策略部署能力要求较高的场景(如数据中心)而言,是一种优选的技术方案。
以太网交换机在处理报文转发时,对于从一个端口上收到的报文不会再将该报文从该端口发回(将破坏生成树协议的实现)。因此,如果使能EVB特性的服务器接入到一个外网交换机上时,这台交换机的相应端口必须支持上述“发卡弯”转发方式。当前大多数交换机的硬件芯片都能支持这种“发卡弯”转发,只要改动驱动程序即可实现,不必为支持“发卡弯”方式而增加新的硬件芯片。
另一个由EVB技术引起的变化是服务器对从外部网络接收到组播或广播报文的处理方式。由于EVB从物理网卡上收到的报文可能是来自外部交换机的发卡弯报文,也就是说报文源MAC是虚拟化服务器上的虚拟机的MAC,这种报文必须进行过滤处理,以避免发送该报文的虚拟机再次从网络上收到自己发出的组播或广播报文。因此,当前的操作系统或网卡驱动都需要做相应的修改。
EVB标准具有如下的技术特点:
1、借助发卡弯转发机制将外网交换机上的众多网络控制策略和流量监管特性引入到虚拟机网络接入层,简化了网卡的设计,减少了虚拟网络转发对CPU的开销;
2、使用外部交换机上的控制策略特性(ACL、QOS、端口安全等)实现整网端到端的策略统一部署;
3、使用外部交换机增强了虚拟机流量监管能力,如各种端口流量统计,Netstream、端口镜像等。
前文仅描述了EVB的设计思路以及实现EVB方案带来的好处。实际上EVB定义了两种报文转发方案:VEPA(Virtual
Ethernet Port Aggregator)和多通道(Multichannel Technology)。VEPA是EVB标准定义的基本实现方案,VEPA方案不需要对虚拟机发出的以太网报文做改动即可实现发卡弯转发。多通道技术则定义了通过标签机制实现VEB、Director
IO(硬件VEB)和VEPA混和方案。多通道技术为管理员提供了一种选择实现虚拟机与外部网络连接的技术手段。
2.EVB的基本实现方案——VEPA
IEEE 802.1工作组在VEPA技术基础实现IEEE 802.1Qbg
EVB标准,是因为VEPA技术对当前网卡、交换机、现有以太网报文格式和标准影响最小(如图3所示)。
VEPA的实现是基于现在的IEEE标准,不必为报文增加新的二层标签,只要对VMM软件和交换机的软件升级就可支持VEPA的发卡弯转发。为了评估开发VEPA特性的工作量,HP公司的某新技术实验室开发了一种支持VEPA功能的原型软件,和一个支持发卡弯转发的外部以太网交换机原型。VEPA软件原型是在Linux内核的桥模块基础上,只做了很少代码修改即实现了发卡弯特性,即使在未对代码做优化的情况下,VEPA方案对报文的转发性能也比传统VSwitch提高了12%。
与VEB方案类似,VEPA方案可以采用纯软件方式实现,也能够通过支持SR-IOV的网卡实现硬件VEPA。其实,只要是VEB能安装和部署的地方,就都能用VEPA来实现,但VEB与VEPA各有所长,并不存在替代关系。
VEPA的优点:
1、完全基于IEEE标准,没有专用报文格式;
2、容易实现。通常只需要对网卡驱动、VMM桥模块和外部交换机的软件做很小的改动,从而实现低成本方案目标。
3、对VEPA的增强——通道技术(Multichannel Technology)
多通道技术是通过给虚拟机报文增加IEEE标准报文标签,以增强VEPA功能的一种方案,由HP公司提出,最终被IEEE
802.1工作组接纳为EVB标准的一种可选方案。
多通道技术方案将交换机端口或网卡划分为多个逻辑通道,并且各通道间逻辑隔离。每个逻辑通道可由用户根据需要定义成VEB、VEPA或Dircetor
IO的任何一种。每个逻辑通道作为一个独立的到外部网络的通道进行处理。多通道技术借用了802.1ad S-TAG(Q-IN-Q)标准,通过一个附加的S-TAG和VLAN-ID来区分网卡或交换机端口上划分的不同逻辑通道。如图4所示,多个VEB或VEPA共享同一个物理网卡。管理员可能需要特定虚拟机使用VEB,以获得较好的交换性能;也可能需要其他的应用使用VEPA,以获得更好的网络控制策略可实施性和流量可视性,并要求而上述使用的VEB或VEPA的虚拟机同时部署在一个物理服务器上。对于这些情况,管理员通过多通道技术即可解决VEB与VEPA共享一个外部网络(网卡)的需求。
图4.多通道技术的架构
多通道技术需要网卡和外部交换机支持S-TAG和Q-IN-Q操作。所以在某些情况下,可能要求网卡或交换机做硬件升级,而VEPA方案对设备硬件没有要求,几乎在所有的VMM和外部物理交换机都能实现。部署多通道技术时,并不必须同时部署VEPA,多通道技术只是为管理员提供了一种选择实现虚拟机与外部网络连接的技术手段。
4.关于802.1Qbh Bridge Port Extension标准
端口扩展(PE)设备是一种功能有限的是物理交换机,通常作为一个上行物理交换机的线卡使用。端口扩展技术需要为以太网报文增加TAG,而端口扩展设备借助报文TAG中的信息,将端口扩展设备上的物理端口映射成上行物理交换机上的一个虚拟端口,并且使用TAG中的信息来实现报文转发和策略控制。
当前市场上已有端口扩展设备,如Cisco的Nexus 2K就是Nexus
5K的端口扩展器。VN-TAG是Cisco为实现端口扩展而定义的一种私有以太网报文标签格式,这种报文格式不是建立在IEEE已定义各种标准之上。VN-TAG为报文定义了虚拟机源和目的端口,并且标明了报文的广播域。借助支持VN-TAG技术的VSwitch和网卡,也能够实现类似EVB多通道的方案,但是VN-TAG技术有以下一些缺点:
1、VN-TAG是一种新提出的标签格式,没用沿用现有的标准(如,IEEE
802.1Q、 IEEE 802.1ad、IEEE 802.1X tags );
2、必须要改变交换机和网卡的硬件,而不能只是简单的对现有的网络设备软件进行升级。也就是说,VN-TAG的使用需要部署支持VN-TAG的新网络产品(网卡、交换机、软件)。
最初IEEE 802.1工作组曾考虑将“端口扩展”特性作为EVB标准的一部分,但是工作组最终决定将端口扩展发展成一个独立的标准,即802.1
Bridge Port Extension。Cisco曾向802.1Q工作组建议,将VN-TAG技术作为实现EVB的一种可选方案,但IEEE
802.1工作组最终没有接纳这个提案。此后,Cisco修改了VN-TAG技术草案,修改后的草案称为M-TAG,该方案的主要目标仍是为了实现端口扩展设备与上行交换机之间的通信标准化。
5.802.1Qbg EVB的标准化进程
在本文写作的时候,IEEE 802.1Qbg的授权请求已经通过,正式的标准化过程正在进行中。IEEE
802.1选择VEPA技术草案作为EVB标准的基础,因其使用现有的技术标准,并对现有的网络产品和设备产生最小的影响。多通道技术作为一种可选项,也在EVB标准中定义。多通道技术提出了一种标准化TAG机制,以实现VEPA、VEB及Director
IO的灵活部署。同样的情况,IEEE 802.1工作组已接受Cisco提出的M-TAG技术草案作为端口扩展标准802.1gbh,并且标准化过程也在进行中,但其成为正式标准的时间要晚于802.1Qbg。
三、结束语
表1 VEB方案与EVB方案的综合对比
|
VSwitch |
802.1Qbg
EVB |
虚拟机间报文转发性能 |
5 |
3 |
虚拟机与外部网络报文转发性能 |
2 |
4 |
对服务器CPU的开销 |
1 |
3 |
虚拟机间流量的可视性 |
1 |
5 |
虚拟机流量的网络控制策略部署能力 |
1 |
5 |
管理可扩展性 |
4 |
5 |
在现有网络环境上实现的难易程度 |
4 |
4 |
*注:满分为5,分值越接近5,表示该项技术参数越优良。
“方案没有最好的,只有最适合的”。VEB的优点是虚拟机之间的报文转发性能高,而且软件EVB(VSwitch)的兼容性好,易于实现。而EVB的优点在于虚拟机流量的监管能力、网络策略部署能力以及管理可扩展性。EVB与VEB各有所长,并不存在绝对替代关系,也正因为这个原因,EVB标准又定义了“多通道技术”。建议用户在设计虚拟服务器接入层网络时,根据实际需求选择合适的技术方案。
另外,市场上现存的一些与虚拟服务器接入层网络相关的产品,采用的方案并不是802.1工作组承认的标准技术。建议用户在评估设备的过程中,从保护现有设备投资角度出发,充分评估特定厂商产品的技术特性,确认其是否能在将来与当前正在标准化进程中的EVB标准充分兼容。
|