边缘虚拟桥EVB(Edge Virtual Bridging)技术是当前用于解决虚拟化环境的虚拟机VM(Virtual Machine)与网络之间的连接与管理边界问题而产生。并在此标准802.1Qbg定义的框架基础上可以实现VM生命周期与网络的自动化关联、网络属性的灵活变更。
一、EVB数据转发层面标准化实现
EVB原来由802.1Qbg和802.1Qbh组成,数据层面的实现一共有四种(如图1所示):其中802.1Qbg包含了三种,即VEB(Virtual Ethernet Bridging)模式、VEPA(Virtual Ethernet Port Aggregator)模式和Multi Channel模式;802.1Qbh为PE(Port Extender)模式。当前802.1Qbh已经在EVB内取消,因此EVB目前也就是802.1Qbg。802.1Qbg的各种模式具体转发行为,请参考本刊《802.1Qbg、802.1Qbh、802.1BR、VN-Tag技术比较》一文,此处不再赘述。
图1 EVB的多种数据转发实现
从技术实现的角度,以及某些特殊应用场景下,802.1Qbg的不同模式是可以同时存在的,并且技术上要求能够多层级联,这在标准预备文档中也进行了描述。但在更多的场景下,并不需要复杂的级联拓扑和层次,标准在使用上建议了一个基本的EVB架构,如图2所示。
图2 EVB转发层面基本架构
图2中边缘中继单元ER(Edge Relay)指代了VEB/VEPA各种部件。EVB技术中,ER位于服务器一侧,对服务器的流量进行转发,ER转发的流量包括虚拟服务器之间,和虚拟服务器与边缘交换机(与物理服务器直连)之间的全部流量。ER既可以通过软件实现,也可以使用专门的硬件单元实现(虚拟化网卡功能)。 ER-1标识了一种双端口的VEB或VEPA,在实现上完全作为一个通道,无需地址学习表项管理;ER-2标识VEPA;ER-3标识VEB。所有的VM通过Virtual Station Interface(VSI)连接在ER上,基于级联性架构,ER逻辑上挂接在Multi Channel的S-Component组件上,S-Component组件是实现Multichannel的核心逻辑组件,每个通道称为S-Channel。#p#
二、EVB控制协议简析
EVB的控制协议最关键有两个:VDP(VSI Discovery Protocol) 和CDCP(S-Channel Discovery and Configuration Protocol)。
1.CDCP协议
CDCP是专门用于建立Multi Channel模式下S-Component组件与网络连接的通道,这些通道逻辑上只在服务器和物理网络端口本地有效,如图3所示。
图3CDCP建立多通道
1)CDCP基本操作内容
S-Channel配置由交换机决定,并保存在交换机上;
由服务器向交换机发起S-Channel资源请求;
交换机根据请求提供最佳资源集;
如果交换机不能提供所有资源则提供资源子集;
2)CDCP交互过程
以太网接口上使能EVB功能后,交换机通过LLDP报文向外发布S通道状态,与服务器的交互机制如图4所示。
图4 CDCP协议交互示意图
当VM有创建S通道的请求,或者原有的请求发生变化时,向交换机发出请求报文(消息1)。交换机为其分配或者释放SVID,创建或者删除对应的S通道接口。随后回复响应报文,通知服务器分配的SVID(消息2)。服务器和交换机都在后续的报文中携带当前存在的S通道的信息作为状态通告。
3)CDCP报文格式
CDCP 协议TLV字段如图5所示,包括角色(交换机为bridge,服务器为station)、对S组件的支持能力(SComp)、支持的S通道的个数、以及S通道ID与对应的SVID对( <SCID,SVID> )。CDCP TLV与LLDP中其它dot1q的TLV一样,type取值为127,subtype取值0x0E。
图5 CDCP协议TLV格式
本设备角色(Role):等于1表示本设备为服务器(station),等于0表示本设备为交换机(bridge)。
保留位(Resv):暂不使用,以0填充。
S组件支持能力(SComp):等于1表示能支持S-VLAN组件,等于0时表示不支持。
本设备支持的S通道数目(Chncap):包括已经成功创建和尚未创建的。
SCID/SVID对:S通道索引和对应的SVID。第一个必须是缺省S通道,即<1,1>。CDCP报文中最多支持167个SCID/SVID对,包括缺省S通道的SCID/SVID。
服务器发出的请求中,SVID为0,形式如<a,0>。如果交换机成功为其创建S通道,那么回复报文的形式如<a,b>,b为有效的VLAN ID。如果交换机不能创建,则回复报文中仍然维持<a,0>的形式。如果服务器将某一已经生效的SCID/SVID对从本方报文中删除,表示向交换机申请删除该S通道。
2.VDP协议
VDP协议报文由服务器发起。服务器发送的VDP请求分为预关联、资源预留的预关联、关联和去关联请求四种。交换机只回复对应的响应报文。
VM创建时,服务器向交换机发送关联或者预关联请求。关联请求处理成功时,VM的流量就可以开始经由交换机转发。预关联请求处理成功时,VM处于一种就绪等待的状态,直到发送关联请求处理成功后,才开始收发流量。
VM关闭时,向交换机发送去关联请求,边缘交换机将对应的流量转发通道关闭。
一般来说,VM迁移时,新的VM先处于预关联状态下,等待虚拟机管理中心指令原有VM发送去关联请求。原有VM发送去关联请求后,新VM发送关联请求,接替原有VM的流量收发工作。
1)VDP交互过程
服务器发送关联请求时,与交换机、VSI管理服务器的交互过程如图6所示。
图6关联请求处理
服务器先发送预关联请求再发送关联请求的交互过程如图7所示。
图7预关联请求处理
服务器发送去关联请求的交互过程如图8所示
图8去关联请求处理
2)VDP报文信息
VDP是VM与网络关联、创建迁移感知的关键协议,这里仅针对其中比较关键的消息内容进行介绍。
关联消息。如图9所示的关联消息类型,传递了VM和网络之间的关联、解关联操作请求。
图9VDP关联消息类型
VM迁移信息。图10的VDP消息位向网络通告了VM的迁移性质。
图10VM的迁移告知
VDP中VSI过滤信息(由具体支持的特征信息类型决定取值)。图11的VSI过滤信息提供了VM关联信息:VLAN、MAC、GroupID(可用于>4KVLAN扩展),这些信息的组合可以保证VM连接网络的正确属性以及策略匹配。
图11VSI过滤信息
在EVB控制协议作用下,便可实现VM的自动化关联网络,如图12所示,A中VM不进行VDP关联,网络不对其下发相应的属性,网络没有针对此VM的相关配置,则VM流量不能进入网络。B中VM经过VDP正常关联网络,网络管理系统基于VM信息合理性下发针对VM的网络策略与配置,可保证VM正常服务提供。C中VM虽然关联网络,但其属性被网络系统判断为非法VM,网络拒绝VM接入,不为VM分配资源和配置。
图12EVB协议VM关联网络#p#
三、EVB网络中虚拟机的创建与迁移过程
在EVB技术关联的计算与网络系统中,定义了两个管理系统:虚拟机管理系统VMM和网络管理系统NMS(H3C的EVB NMS有专用组件iMC CRM---Connection Resource Manager)。
1)VM创建过程
在虚拟化环境中,VM基于业务要求具有其网络属性(VLAN、MAC、VSIID…),大量的VM属性信息必须如图13所示在虚机管理系统与网络管理系统之间同步识别,这样无论是主机侧还是网络侧,对一个VM或一类虚拟服务的业务要求、控制策略都能完全统一,并且能够基于VDP信息的传递、管理系统之间的交互而进行更新。
图13VMM与NMS交互VM的属性
如图14所示为VM创建,消息从主机侧向网络侧传递的过程:
虚机管理系统使用VSI相关信息创建VM;
VM/ER使用VDP关联网络;
交换机将VM信息传递给网络管理系统(H3C iMC CRM)。
图14创建VM过程一
如图15所示为VM创建,消息从网络侧向主机侧传递的过程:
网络管理系统对VM信息进行判定后下发Profile
交换机允许VM接入网络,向VM返回关联响应
图15创建VM过程二
2)VM迁移过程
VM迁移前,先需要在目标主机上创建VM,该VM与原VM具有相同的VLAN、MAC、IP、VSI等信息(如图16所示)。
1)目标VM创建
2)目标VM关联网络
3)源VM与目标VM的状态信息同步
图16VM迁移:创建目标VM
VM切换,当目标VM创建完成,虚拟机信息同步一致后便可进行VM切换,完成迁移
4)拆离释放原VM
5)激活目标VM
6)原VM主机VDP解关联请求
7)网络删除profile,释放网络资源
8)网络HTTPS通告管理系统解关联,释放网络资源
图17VM切换
四、结束语
EVB定义了标准化的主机与网络之间虚拟化信息的关联控制,使得虚拟机的服务变更可以通过网络的感知来自动化响应,同时需要在虚拟计算管理与网络管理系统之间针对VM服务定义统一的业务类型描述,保证主机侧的虚拟机EVB属性与网络侧的属性一致,才能实现EVB的控制目的。