当VXLAN网络中VTEP设备成为单点故障风险、一台设备故障将导致整个VXLAN隧道中断时,EVPN VXLAN支持M-LAG技术将两台VTEP虚拟为一台逻辑设备,彻底消除了VTEP单点故障。新华三集团发布的这份技术白皮书,系统阐述了EVPN VXLAN与M-LAG的融合架构——从有peer link(以太网聚合链路)和无peer link(VXLAN隧道)两种组网模式,到MAC/ARP/ND表项同步、VXLAN隧道建立、用户侧链路备份,再到M-LAG接口与单挂接口的单播/BUM流量转发,以及下行/上行链路故障的完整处理机制,为数据中心VXLAN网络的高可靠性设计提供了完整的技术方案。
EVPN VXLAN支持M-LAG的架构与组网
双活VTEP虚拟化:有peer link与无peer link两种组网模式
EVPN VXLAN采用M-LAG技术将两台物理设备虚拟成一台逻辑设备,使用该虚拟设备作为VTEP(既可以是仅用于二层转发的VTEP,也可以是EVPN网关),避免VTEP单点故障对网络造成影响。两台VTEP具有相同的虚拟VTEP地址,对外表现为一台虚拟VTEP设备。
M-LAG设备间的peer-link连接有两种模式。有peer link组网:以太网聚合链路作为peer-link连接。无peer link组网:VXLAN隧道作为peer-link连接,该隧道自动与设备上的所有VXLAN关联。相较于有peer link组网,无peer link组网不占用单独物理链路,同时具有三层可达的优势。
表项同步与VXLAN隧道建立
作为M-LAG设备的两台VTEP通过peer-link同步MAC地址、ARP/ND表项和ARP/ND泛洪抑制表项,确保两台VTEP上的表项信息一致。M-LAG接口的表项通过peer-link同步到对端M-LAG设备后,添加到本地对应的M-LAG接口;单挂接口的表项同步到对端后,添加到peer-link接口。
VXLAN隧道建立方面,VTEP之间根据BGP EVPN的IMET路由、MAC/IP发布路由和IP前缀路由建立VXLAN隧道。在EVPN VXLAN组网中,VTEP之间可以根据BGP EVPN的多种路由类型自动建立VXLAN隧道。
用户侧链路备份与流量转发
用户侧链路备份:peer-link自动创建AC或VXLAN隧道实现备份
在用户侧,两台VTEP均通过以太网链路接入同一台虚拟机,跨设备在两条链路间建立二层聚合接口,将该聚合接口配置为AC(在聚合接口上创建以太网服务实例、配置报文匹配规则并关联以太网服务实例与VSI),避免单条以太网链路故障导致虚拟机无法访问网络。
peer-link为以太网聚合链路时,VTEP在peer-link上根据用户侧AC或用户所属的VXLAN ID自动创建AC。当一台VTEP上的AC故障后,从VXLAN隧道接收到的发送给该AC的报文通过peer-link转发到另一台VTEP,该VTEP根据AC判断报文所属VSI并转发。无peer link组网(peer-link为VXLAN隧道)时,故障VTEP为报文添加VXLAN封装,通过作为peer-link的VXLAN隧道转发到另一台VTEP。
单播与BUM流量转发:本地优先、单向隔离与负载分担
M-LAG接口的上行单播流量:接入服务器通过聚合接口负载分担发送到多台M-LAG设备,各设备按本地转发优先原则通过本地VXLAN隧道转发给远端VTEP。M-LAG接口的下行单播流量:外网通过VXLAN隧道转发,Underlay网络中M-LAG设备均发布到达虚拟VTEP地址的路由形成等价路由,流量负载分担到多台M-LAG设备后本地AC转发。
单挂接口的单播流量:上行通过本地VXLAN隧道转发;下行仅发送给单挂接口所在的M-LAG设备,避免绕行peer-link。单挂接口互通时,通过peer-link实现跨设备转发——peer-link为以太网聚合链路时在peer-link上自动创建AC;peer-link为VXLAN隧道时添加VXLAN封装转发。
BUM流量:M-LAG设备判断流量所属VSI,通过该VSI内除接收AC外的所有本地AC(包括单挂AC)、VXLAN隧道和peer-link转发。从peer-link上接收到BUM流量后,仅转发给本地的单挂AC,利用单向隔离机制避免环路。
组播VXLAN支持M-LAG
组播源与接收者侧备份:通过peer-link同步组播流量与加入请求
组播VXLAN利用M-LAG将两台物理设备虚拟成一台设备,避免单点故障。组播源侧:组播源通过M-LAG接入后,组播流量发送到其中一台VTEP,接收到流量的VTEP通过peer-link同步到另一台VTEP,实现流量备份。组播接收者侧:加入请求发送到其中一台VTEP,接收到请求的VTEP通过peer-link同步到另一台VTEP,两台设备上都建立组播转发表项,出接口为M-LAG接口。
三层组播流量采用奇偶原则负载分担:M-LAG系统编号为奇数的成员设备转发组播组地址为奇数的流量,偶数成员设备转发组播组地址为偶数的流量。二层组播流量不支持奇偶负载分担。
三层组播数据中心互联支持M-LAG
在三层组播VXLAN跨数据中心互联场景中,为了提高ED的可靠性,在数据中心边缘部署两台ED设备组成M-LAG系统。组成M-LAG系统的ED设备具有相同的虚拟ED地址,使用虚拟ED地址与VTEP、远端ED建立隧道,实现冗余保护和负载分担。该组网中ED上不存在M-LAG接口。