文档基于华为vxlan-evpn特性:
1、VXLAN多活网关:
Server2采用双归接入的方式接入到VXLAN网络。通过M-LAG技术将服
务器双归的两台接入设备虚拟成一台设备。两台双归的设备使用的是同一个VTEP,对
于远端设备,相当于是通过一台逻辑设备接入到VXLAN网络中。
2、EVPN ESI 多活功能
在部署BGP EVPN方式的VXLAN场景中,为了避免因接入侧链路或节点故障导致业务
中断,需要在VXLAN接入侧部署可靠性方案。当前采用的M-LAG双活接入可靠性方案
存在以下不足:
● M-LAG接入VXLAN是非标准定义的EVPN多归方案,不同厂商设备可能因实现差
异而无法互相兼容。
● M-LAG需要在双活设备之间部署物理连线,且不能扩展到多归多活,可扩展性无
法满足需要。
EVPN ESI多活是一种按照RFC标准定义的方式实现的VXLAN网关多归多活方案,可以
很好的解决M-LAG方案的问题,有效提升VXLAN接入侧的可靠性。
在EVPN ESI多活场景中,流量转发模型包括L2本地单播、L2远端单播、L2本地BUM、
L2远端BUM、L3本地单播、L3远端单播。其中涉及以下几项关键技术:
● DF选举
VM1双归属至Leaf1和Leaf2,VM2发送BUM流量至Leaf1和
Leaf2,为了避免VM1从Leaf1和Leaf2收到重复的流量而造成的网络资源浪费,
EVPN引入了DF选举机制,即从Leaf1和Leaf2中指定一个来转发BUM流量。如果
Leaf1被选举为主DF,则从VM2方向发来的BUM流量将只从Leaf1向VM1转发,而
未被选中的Leaf2则成为备份DF。
● 路由负载分担与别名
VM1双归属至Leaf1和Leaf2,且Leaf1和Leaf2处于多活模式。此
时,Leaf1和Leaf2通过以太自动发现路由(Per ES)将多活模式信息发送给
Leaf3,之后Leaf3在向VM1发送单播流量时,会同时向Leaf1和Leaf2发送,从而
形成负载分担。
此外,EVPN还支持别名功能。在VM多归多活场景中,多归的Leaf中有些Leaf可
能学习不到VM侧的MAC地址,此时远端Leaf可以通过多归Leaf发来的以太自动发
现路由(Per EVI)携带的ESI值来感知到VM侧的MAC地址可达性,这个功能被称
为别名。如图5-17所示,Leaf1和Leaf2中仅有Leaf1向Leaf3发送了携带VM1侧
MAC地址的MAC/IP路由(Type2路由),但是Leaf3可以通过以太自动发现路由
感知到Leaf2也可以到达VM1,则此时同样可形成负载分担。
● MAC路由快速收敛
当VM1和Leaf1之间的链路出现故障时,Leaf1会对Leaf3发布撤销
类型的以太自动发现路由(Per ES),即向Leaf3通告其对VM1不可达。当Leaf3
收到该以太自动发现路由后,立即更新去往VM1的MAC路由,从而仅向Leaf2发
送去往VM1的流量,这样可以避免逐条发送MAC路由撤销信息,大大减少MAC路
由的收敛时间。
● MAC路由重定向
MAC路由重定向可以使连接同一个VM的Leaf都将去往该VM的MAC路由出接口重
定向到本地的AC接口,这样可以避免远端Leaf通过VXLAN隧道发来的流量,因为
水平分割而无法正常转发的问题。同时,当其中一个Leaf的AC接口故障时,MAC
路由可以快速重定向出接口到VXLAN隧道,通过另外的多活Leaf转发,提升可靠
性。
Leaf2通过AC2接口学习到VM1侧的MAC地址,生成MAC路由并
通过MAC/IP路由发送给Leaf1,该路由额外携带了VLAN私有扩展团体属性。
Leaf1收到该MAC路由后,根据ESI找到本地的AC1接口,若AC1接口是Up的,并
且AC1接口的VLAN ID与收到的VLAN私有扩展团体属性中携带的VLAN ID相同,
则将该MAC路由的出接口重定向到本地AC1接口。
此外,当Leaf1的AC1接口故障后,以AC1为出接口的MAC路由将重定向出接口到
指向Leaf2的VXLAN隧道上,最终Leaf2通过AC2接口转发给VM1。这样就可以保
证流量不中断,提升可靠性。
● 本地偏置
VM1双归到Leaf1和Leaf2,当Leaf1从VM1收到了
BUM流量后,Leaf1会将BUM流量转发至Leaf2。为了避免Leaf2继续将流量转发
至VM1形成环路,EVPN实现了本地偏置功能。当Leaf2收到Leaf1发来的以太自动
发现路由(Per ES),Leaf2会基于ES生成多归Leaf列表,在该列表中,每个AC出
接口都有对应的多归Leaf源IP地址。如果收到BUM流量的源IP地址在该列表中,
则Leaf2不会转发BUM流量至对应的AC出接口。本例中,Leaf1收到来自VM1的
BUM流量后转发给Leaf2,Leaf2检查到Leaf1的源IP地址在多归Leaf列表中,则不
会将该BUM流量转发到AC2出接口,从而避免形成环路。