北京白癜风较好 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/mbbdf_zx/emwsafw/1.前言
新代数据中的典型特点是从“物理服务器互联”转变为“虚拟机”互联。虚拟化技术为数据中带来了服务器整合、业务连续性和弹资源性等优势,也给数据中带来了新的挑战,即:如何实现针对虚拟机的服务器络接技术。
2.VEB技术
VEB(VirtualEthernetBridge,虚拟以太交换机)是虚拟机与服务器络接层之间的个新的络层。解决的是同服务器中不同虚拟机如何通过同张物理卡与外部络进通信,以及这些虚拟机之间如何互相通信的问题。最初为通过纯软件式实现的vSwitch,后续为了解决性能问题也出现了基于SR-IOV卡的Hardware-basedVEB实现。
vSwitch
以软件实现的vSwitch:实现式简单,技术兼容性好,典型软件有:OpenvSwitch、VMwareESXi。
VMwareESXi,由VMM内嵌的VEB:
OpenvSwitch,在服务器上运的(第三)VEB:
vSwitch案具有以下优点:
本地虚拟机之间的报转发性能好,流量不出卡。节省接层物理交换机设备,张物理卡持多个虚拟机。
与外部络的兼容性好,不需要对外部络进改造。缺点:
占服务器的CPU资源。只能实现简单的L2转发。缺乏络流量的可视性,例如:端报统计、端流镜像、NetStream等,导致虚拟机之间的流量法被管系统所监管,另也使得络发故障时,难于定位问题原因。缺乏络控制策略的实施能,例如:端安全,QoS、ACL等,导致限制了数据中的端到端络控制策略的部署能。缺乏管理可扩展性,vSwitch数量剧增,且与外部络法进统管理。VEB的以上这些缺陷,最终导致了计算资源和络资源的管理界模糊,继解决了服务器团队和络团队的管理定界问题。
HWVEB
以硬件实现的SR-IOV卡设备:借助持SR-IOV特性的卡可以实现基于HWVEB。
HWVEB的设计思想是:将vSwitch的交换功能offload到硬件设备,通过卡硬件改善vSwitch占CPU资源影响虚拟机性能的问题。HWVEB案必须采持SR-IOV(Single-RootI/OVirtualization)特性的PCIe卡,否则张物理卡法映射到多个虚拟机上。
IntelxVEB
在HWVEB案中的VMM(e.g.ESXi、KVM)只需要实现SR-IOV卡设备的驱动程序(e.g.资源分配、中断处理等)不再参与虚拟机与外部络,以及虚拟机之间的报转发流程。
对于虚拟机发往外部络的报,由虚拟机操作系统的驱动程序直接操作卡寄存器进发送;对于外部络发往虚拟机的报,卡设备根据dstMAC,将报放虚拟机对应的接收队列,虚拟机操作系统的驱动程序再通过DMA或中断式进接收处理;对于同物理服务器中的虚拟机之间的报转发,卡通过查讯内部MACtable(静态配置,通常不持MAC学习)进转发处理。
基于SR-IOV技术的HWVEB案的优点:
硬件设备、SR-IOVVF直通,所以报转发性能。
但是,HWVEB依然存在不能有效解决虚拟机流量可视化、络策略实施及管理可扩展性等问题,甚会由于硬件设计、成本等原因还恶化了这些问题。
3.虚拟机流量感知技术
为了解决VEB技术存在的问题:缺乏络流量的可视性、缺乏络控制策略的实施能、缺乏管理可扩展性,需要反思两点原因:
1.虚拟机之间的本地流量不出卡。
2.虚拟机在外部络的流量没有标识信息。
所以,解决问题的办法然是:
1.把虚拟机的络流量纳传统络交换设备的管理之中
2.同时还需要对虚拟机的流量做标识。
这就是所谓的虚拟机流量感知技术。对此,思科和惠普两联盟分别提出了的解决案:
思科和VMware主推的是VN-Tag技术,标准为.1QbhBPE(BridgePortExtension,端扩展设备):尝试从接层到汇聚层提供个完整的虚拟化络解决案,尽可能达到软件定义个可控络的的。它扩展了传统的络协议,因此需要新的络设备持,成本较。惠普、Juniper、IBM、Qlogic、Brocade主推的是VEPA(VirtualEthernetPortAggregator,虚拟以太端汇聚器),标准为.1QbgEVB(EdgeVirtualBridging,边缘虚拟交换机):尝试以较低成本利现有设备改进软件模拟的络。
EVB
EVB将VEPA作为基本实现案,将多通道技术(Multi-ChannelTechnology)作为扩展案。由于EVB要求将所有的虚拟机流量都引向外部的物理交换机,因此与虚拟机相关的流量监管、控制策略和管理可扩展性问题得以解决。但同时也带来了更多络带宽开销和转发时延的问题。需要注意的是,EVB的出现并不是完全替换VEB案,但是EVB对于需要对虚拟机流量进感知的场景,是种优选的案。
VEPA
上图显示了VEPA的基本概念:在服务器中,物理卡将虚拟端根据定的规则进分组,完成端分组(PortGroup)功能。同时这个卡设备能够对外抽象出被分为组的端,将属于同组端的数据起投递出去,完成端汇聚功能(PortAggregation)。
VEPA的核思想是:将虚拟机产的络流量(包括本地流量和外部流量)全部强制地交由与服务器相连的物理交换机进处理,然后物理交换机再将数据返回进来,不再通过本地虚拟交换机来处理。我们知道,传统物理交换机的数据帧是不能从进出去的,所以需要对物理交换机硬件作修改,允许其绕回。如下图,由VM1发往VM2或VM3的报,先被发往外部交换机,查表后,报沿原路返回服务器,这种作模式称之为发卡弯(hairpinturn)转发。
NOTE1:以太交换机在处理报转发时,对于从个端上收到的报,不会再将该报从该端发回。因此,当使能VEPA特性的服务器接到个外交换机上时,该交换机相应端必须持上述“发卡弯”转发式。可幸的是,当前多数交换机的硬件芯都能持这种“发卡弯”转发特性,只要修改驱动程序即可实现,不必为持“发卡弯”式增加新的硬件芯。
NOTE2:另个由VEPA技术引起的变化是服务器对从外部络接收到组播或播报的处理式。由于VEPA从物理卡上收到的报可能是来外部交换机的“发卡弯”报,也就是说srcMAC可能是服务器上的虚拟机的MAC地址,这种报必须进过滤处理,以避免发送该报的虚拟机再次从络上收到发出的组播或播报。因此,当前的操作系统或卡驱动都需要做相应的修改。
相对于VN-Tag,VEPA的优点在于:完全基于IEEE标准,不需要专的报格式,且容易实现。通常只需要对卡驱动、VMM的Bridge模块和外部交换机的软件做很的改动,从实现低成本案标。
与VEB类似,VEPA也同样具有纯软件和基于SR-IOV技术的硬件两种实现式:
IntelxVEPA:
Multi-Channel
在数通络,想要标识流量,肯定是要使特定的字段来做。HP使的是QinQ(.1ad),在标准VEPA的基础上使QinQ的S-TAG来标识虚拟机流量,形成了增强型VEPA,即:.1QbgMultiChannel(多通道技术)。
多通道技术是种通过给虚拟机报增加IEEE标准报标签,以增强VEPA功能的案。通过标签机制,可以实现VEB、DirectorIO和VEPA的混合部署案,借助多通道技术,管理员可以根据络安全、性能以及可管理等的需求,灵活的选择虚拟机与外部络的接案(VEB、DirectorIO或VEPA)。
多通道技术由HP公司提出,最终被IEEE.1作组接纳为EVB标准的种可选案。多通道技术案将交换机端或卡划分为多个逻辑通道,并且各通道间逻辑隔离。每个逻辑通道可根据户需要定义成VEB、VEPA或DirectorIO的任何种。每个逻辑通道作为个独的到外部络的通道进处理。多通道技术借了.1adS-TAG(QinQ)标准,通过个附加的S-TAG和VLAN-ID来区分卡或交换机端上划分的不同逻辑通道。
多通道技术使外部物理交换机通过报的S-TAG识别络流量来哪个VEAP/VEB,或来哪个DirectorIO的卡。反之亦然。
如上图,多通道技术可组合出多种案:
1.管理员通过多通道技术解决VEB与VEPA共享个外部络(卡)的需求,多个VEB或VEPA共享同个物理卡。管理员可以为特定的虚拟机使VEB,以获得较好的交换性能;也可以为其他虚拟机使VEPA,以获得更好的络控制策略可实施性和流量可视性。
2.直接将个虚拟机映射到物理卡上(SR-IOVVFDirectorIO),其它的虚拟机仍然通过VEB或VEPA共享物理卡。
BPE
BPE(BridgePortExtension,端扩展设备)是种功能有限的物理交换机,通常作为个上物理交换机的线卡使。端扩展技术需要在标准的以太数据帧中增加段TAG,端扩展设备借助TAG中的信息,将端扩展设备上的物理端映射成上物理交换机上的个虚拟端,并且使TAG中的信息来实现报转发和策略控制。当前市场上的端扩展设备主要由思科的Nexus2K和Nexus5K。
BPE有VN-Link和FEX两部分组成。VN-Link部署在服务器的交换组件上,负责虚拟机的接,FEX部署在接层的物理交换机上,负责虚拟机间的互通。两者配合在起实现了虚拟机的实时感知和分布式接,接配置和策略的集中式分发保证了虚拟机的缝迁移。
图中,PortExtender向下为VN-Link技术,向上为FEX技术:
VN-Link由持VN-TAG的卡实现,如CiscoUCS服务器中集成的Palo,该卡只负责VNTAG的封装/解封装,不做任何策略相关的作。FEX技术由Cisco的N2K/N5K组合实现,持以级联式组,其中N5K负责寻址转发和策略的制定,N2K则作为N5K的远端板卡部署在TOR实现分布式接,N5K通过VIC协议分发给N2K,实现分布式转发。
VN-TAG体系将数据中的接络虚拟成了个的接交换机,由VN-Link充当线,由N2K充当分布式线卡,N5K充当主控板,处于任何物理位置的虚拟机都好像连接在这个的接交换机上。带宽、阻塞和低时延的优良特性使得N2K/N5K间络连接能够与单机内总线相当,保证了分布式接的性能。在N5K上可以基于虚拟机对应的SVI_ID/DVI_ID制定ACL,QoS和流控等级接策略,持络策略随虚拟机任意的漂移。
VN-Tag
为了实现端扩展(PortExtension),思科和VMware共同推出了VN-TAG标准。其核思想是:在标准以太数据帧中增加段专的标记VN-Tag,以区分不同的vNIC(虚拟机的虚拟接),从识别特定的虚拟机的流量,并且标明了报的播域。可VN-Tag技术是思科的套闭源的全栈案,VN-Tag报格式并不建在IEEE已定义的各种标准之上的。
VN-TAG将6个字节的新字段插到VLAN的前,这些字节只在VN-TAG设备中出现,现有的协议(包括VLAN的使)不会受到任何的影响。其中,DVIF_ID/SVIF_ID是的/源虚拟机被分配的唯标识,各有12位,通过PortProfile的配置与虚拟机接端进对的通道绑定,VN-TAG物理交换机将根据这个标识来识别虚拟机,实现络接虚拟化。其他的标志位于FEX系统中,D位标识报的向,P位标识报是否需要复制,L位标识源主机和的主机是否连接在同台物理交换机上,R位作为保留。
通信流程:服务器中的交换组件不进MAC寻址,它接受源虚拟机的流量,封装好VN-TAG(标记SVI_ID),然后直接交给上游的物理交换机,上游的交换机完成SVI_ID对源MAC地址、VLAN和端的学习,根据的MAC地址标记DVI_ID,然后转发给标服务器,标服务器根据DVI_ID进通道转发,剥掉VN-TAG后转发给标虚拟机。
思科针对VN-Tag推出了名为Palo的虚拟服务器卡,Palo卡为不同的虚拟机分配并打上VN-Tag标签。如下图,上联交换机与服务器之间通过VN-Tag,使上联交换机能区分不同虚拟机产的流量,并在物理交换机上成对应的虚拟接vIF(VirtualInterFace),和虚拟机的vNIC对应起来,这就好像把虚拟机和物理交换机直接对接起来,全部交换作都在上联交换机上进,即使是同个物理服务器内部的不同虚拟机之间的流量交换,也通过上联交换机转发。
相对于VEPA,VN-TAG技术有些缺点:
VN-TAG是种新提出的标签格式,没有沿现有的标准(如IEEE.1Q、IEEE.1ad、IEEE.1Xtags)。必须要改变交换机和卡的硬件,不能只是简单的对现有的络设备软件进升级。也就是说,VN-TAG的使需要部署持VN-TAG的新络产品(卡、交换机、软件)。
最初IEEE.1作组曾考虑将“端扩展”作为EVB标准的部分,但是最终决定将端扩展发展成个独的标准,即.1BridgePortExtension。Cisco曾向IEEE.1Q作组建议,将其私有的VN-TAG技术作为实现EVB的种可选案,但作组最终没有接纳这个提案。Cisco后来修改了VN-TAG技术草案,修改后的草案称为M-TAG,该案的主要标仍是为了实现端扩展设备与上交换机
之间的通信标准化。
参考档: