©2013绿盟科技(H3C)/IBM等服务器厂家模式本质vSwitch简化的vSwitch通道要求网络hairpin转发支持网络功能进入服务器服务器内支持部分网络功能网络功能只在服务器外部性质标准标准进展文稿完成,框架确定/标准流程审议VM通信标准802.1Qbh802.1BRVN-Tag提出方CiscoCiscoCisco模式本质通道通道通道部分网络功能回复到服务器内性质标准标准私有标准进展废除标准讨论私有应用802.1Qbg标准介绍802.1QbgIEEE802.1QBG技术实现原理VEB概述VEB指的是VirtualEthernetBridges(虚拟以太网网桥),该网桥上也有虚拟端口(VLANBridgePorts),虚拟网卡对应的接口就是和网桥上的虚拟端口连接,这个连接称为VSI(VirtualStationInterface,虚拟终端接口)。VEB实际上就是一个常规的以太网网桥,可以等同于视作前面提到的vSwitch技术。此外,VEB也负责虚拟网卡和外部交换机之间的报文传输,但不负责外部交换机本身的报文传输,如左图所示,1表示虚拟网卡和邻接交换机通讯,2表示虚拟网卡之间通讯,3表示VEB不支持交换机本身的互相通讯。VEPA介绍VEPA指的是将虚拟机上若干个VSI口汇聚起来,交换机发向各个VSI的报文首先到达VEPA,再有VEPA负责朝某个VSI转发。另外一方面,VSI所生成的报文不通过VEB进行转发,而是统统汇聚在一起通过物理链路发送到交换机,由交换机来完成转发,交换机将报文送回虚拟机或将报文转发到外网。这样既可以利用交换机实现更多的功能(如安全策略、流量监控统计),又可以减轻虚拟机上的转发负担VEPA报文传输如下图所示,VEPA只支持虚拟网卡和邻接交换机之间的报文传输,不支持虚拟网卡之间报文传输,也不支持邻接交换机本身的报文传输。对于需要获取流量监控、防火墙或其他连接桥上的服务的虚拟机可以考虑连接到VEPA上。VEPA报文转发过程(一)VEPA需要支持虚拟机之间的报文转发,否则就无法取代VEB。如下图所示,假设服务器上有2个虚拟机VMA和VMB,服务器通过一根物理链接连接到交换机端口1上,交换机端口2和另外一个主机host连接,该主机没有运行虚拟机。当A和C通讯时,交换机查地址表,发现目的C关联端口2,则报文从端口2转发。VEPA报文转发过程(二)当A和B通讯时,交换机查地址表,发现目的端口是1,则报文从端口1转发。注意,此时使用了reflectrelay机制。VEPA报文转发过程(三)当A发送广播报文时,报文从端口1和2发出,在VEPA上过滤,只向VMB发送。VEPA报文转发过程(四)当C发送广播报文时,报文从端口1发出,在VEPA上分别向VMA和VMB发送。基于VM的流量控制通过VEPA和VSI发现功能,将VM的流量统统转移到交换机上来进行传输,可以实现基于VM的流量控制。例如,网络管理员可以应用安全策略阻断某个VM和其他VM的通讯,或者控制该VM只能和某些指定的VM通讯。VM自动迁移通过VDP实现VSI和VSI类型的关联、解关联,使得当VM迁移时,VSI类型也能随之关联到新的端口上。具体迁移流程为:1.VMA起初在station1上,通过VDP关联某个VSI类型,并在bridge的port1上注册2.station1上的原VMA申请和原VSI类型解关联3.VMA迁移到station2上,通过VDP关联相同的VSI类型,并在bridge的port2上注册802.1Qbh标准介绍802.1Qbh标准概述除了802.1Qbg外,另外一项扩展802.1Qbh,来允许用户部署远程交换机--而不是和服务器机柜相邻的那些交换机——作为虚拟环境的策略控制交换机。这就是802.1Qbh起作用的地方:它允许边缘虚拟桥复制帧到多个虚拟通道上以便发送给一组远程端口。这样一来,用户便能够利用瀑布式的串联端口灵活地设计网络,更有效地为多播、广播和单播帧分配带宽。802.1Qbh的端口扩展能力允许管理员在将策略、ACL、过滤器、QOS和其他参数委托给虚拟机时可以选择交换机。端口扩展槽安放在刀片机柜的背板或者个别刀片上,其行为和控制交换机的线速卡类似。802.1Qbh报文802.1Qbh的报文在以太网帧格式中插入了一个E-TAG标记下图所示,用于标记VM连接的通道和映射到交换机的虚端口。如下图展示了标准中初步定义的E-TAG扩展字段基本内容。802.1Qbh报文802.1Qbh报文标签802.1Qbh以明确标出通道(ChannelID)的方式,在数据内容中显式标识数据的源端,并支持数据复制能力,这也是对性能的局部优化。此处需要补充一下,802.1Qbh的数据格式是经过了两个阶段的,以前叫M-Tag,后来才演进到E-TAG方式,两者之间定义有所差异。802.1Qbh中的报文标签802.1BR标准介绍802.1BR标准概述802.1BR标准用于网络对虚拟机迁移做出动态调整,可以将远程交换机部署为虚拟环境中的策略控制交换机,而不是部署成邻近服务器机架的交换机,通过多个虚拟通道,让边缘虚拟桥复制帧到一组远程端口,利用瀑布式的串联端口灵活地设计网络,更有效地为多播帧、广播帧和单播帧分配带宽。IEEE802.1Qbg与IEEE802.1BR的区别在于,前者主要是解决允许边界桥对虚拟机迁移进行恰当反应。它主要关注服务器设备(EVB终端站)和边界桥(EVB桥)之间的操作,以及两个设备之间的物理链路信道,在组播或大量信息通过物理链路时,会导致物理链路中相同帧出现多个副本的问题。而IEEE802.1BR可通过添加额外标签信息解决这个问题,也就是只允许一个帧副本被发送和复制在服务器中,从而减少了组播状况下的带宽占用,当然这需要更多的硬件资源来支持,可以看出IEEE802.1Qbg与IEEE802.1BR各有千秋。802.1BR报文格式802.1BR是802.1Qbh的替代协议,但基本内容有所修改,报文在以太网帧格式中插入了一个E-TAG标记如下图所示,用于标记VM连接的通道和映射到交换机的虚端口,差异处是将802.1Qbh中原来保留的字段进行了明确定义。下图展示了标准中初步定义的E-TAG扩展字段基本内容。802.1BR的报文格式802.1BR报文标签802.1BR中的报文标签802.1BR与802.1Qbh本身是同一技术,只是将通道属性信息填充到了保留位,前者在通道控制上更灵活。VN-Tag标准介绍VN-Tag标准概述(一)虚拟化平台软件如VMWareESX部署之后,会模拟出一整套硬件资源,包括CPU、硬盘、显卡,以及网卡,虚拟机运行在物理服务器的内存中,通过这个模拟网卡对外交换数据,实际上这个网卡并不存在,将其定义为一个虚拟网络接口VIF(VirtualInterface)。VN-tag是由Cisco和VMWare共同提出的一项标准,其核心思想是在标准以太网帧中增加一段专用的标记—VN-Tag,用以区分不同的VIF,从而识别特定虚拟机的流量。思科针对VN-Tag推出了名为Palo的虚拟服务器网卡,Palo卡为不同的虚拟机分配并打上VN-Tag标签,上联交换机与服务器之间虽然只有一条网线,但通过VN-Tag上联交换机能区分不同虚拟机产生的流量,并在物理交换机上生成对应的虚拟接口VEth,和虚拟机的VIF一一对应,好像把虚拟机的VIF和物理交换机的VEth直接对接起来,全部交换工作都在上联交换机上进行,即使是同一个物理服务器内部的不同虚拟机之间的流量交换,也通过上联交换机转发。这样的做法虽然增加了网卡I/O,但通过VN-Tag,将网络的工作重新交回到网络设备。VN-Tag报文格式VN-Tag是Cisco私有技术,曾经宣称其FE/PE设备能够同时兼容802.1Qbh和802.1BR。如下图所示,报文在以太网帧格式中插入了一个VN-TAG标记,用于标记VM连接的通道和映射到交换机的虚端口。下图展示了标准中初步定义的E-TAG扩展字段基本内容。VN-Tag的报文格式VN-Tag报文标签从VN-Tag与802.1BR/802.1Qbh报文显著的差异来看,两者之间是无法互相解释的,Cisco在产品中说VN-tag的设备会同时兼容802.1Qbh,应该难度较大,一则VN-Tag出来的早,802.1Qbh讨论比较晚(802.1Qbh的报文格式两个阶段也是不同的);,二则802.1Qbh废除后到了802.1BR,格式更加不一样了。VN-Tag中的报文标签各种标准比较(一)控制协议比较各种标准比较(二)转发差异比较总结总结从技术模型的比较可看出,802.1BR的功能完全是网络向服务器内的扩展,针对VM的连接、感知并没有定义内容,因此如果在此基础上叠加802.1QbgVDP协议,并进行一些802.1BR的修改,从技术角度上也是可以支持一定的VM关联感知能力;802.1Qbg和VN-Tag具有比较完善的网络扩展与VM关联感知能力,所不同的是802.1Qbg定义了分工明确的协议,并且由网络部件和服务器内ER部件交互完成,标准化互通方式灵活,而VN-Tag的VIC协议并未定义在网络设备与ER之间,而是管理系统与ER之间,具有较大封闭性。802.1Qbg当前已经获得主流厂家的支持,如IBM、HP、H3C基本可以提供标准化的方案;802.1BR尚没有产品化,并且在802.1BR的基础上实现VM感知,还是需要使用802.1Qbg的控制协议;VN-Tag在Cisco网络产品上已经实现,其服务器需要使用支持VN-Tag的网卡来与网络配套。谢谢!