分布式网关中Spine设备不需要感知到Vxlan隧道的存在,只负责报文的高速转发。
同网段互通:
1、首先Leaf之间建立BGP EVPN对等体邻居,创建二层广播域并关联二层VNI配置RD、RT等,全部配置完后。Leaf会生成EVPN路由(携带EXPORT RT,EVPN TYPE-3路由),含有二层VNI,检查完RT和VTEP下一跳等信息后,建立到对端的Vxlan隧道,为相同二层VNI建立一个头端复制表,来发送BUM报文。(广、未知单、组)
跨子网互通:通过IRB发布主机IP路由:
2、Leaf1学习到动态ARP,并获取三层VNI,然后生成IRB类型路由(TYPE-2路由),三层VNI存在Label2。Leaf1将主机路由从EVPN实例发送到本端L3VPN实例路由表(用于本地跨网段转发?)。Leaf1将EVPN路由发送给Leaf2,Leaf2同时两种处理方式:
- Leaf2检查报文中ERT与本端EVPN实例IRT是否相同,相同则提取其中的ARP类型路由,用于ARP主机通告(2种用途)。
- Leaf2检查报文中ERT与本端L3 VPN实例eIRT相同,然后提取其中的主机IP、三层VNI,保存在L3 VPN路由表,下一跳为对端VTEP IP。
- 无论是EVPN还是L3 VPN接收到路由后,当VTEP IP三层可达,都会生成一条Vxlan隧道。
注:无论是TYPE-2还是TYPE-3都会生成Vxlan隧道,TYPE-2是两端必须有相同的二层VNI,TYPE-3是两端有相同的三层VNI。
跨子网互通:通过IP前缀类型发布主机IP路由:
3、Leaf1将主机IP生成直连路由,在L3 VPN实例中引入直连路由,并关联三层VNI(与IRB类型路由不同,先到L3 VPN实例),也可以引入动态路由。L3 VPN实例将路由发布给EVPN实例生成IP前缀路由,包含主机路由和三层VNI(TYPE-5路由),Leaf1向Leaf2发送EVPN路由携带L3 VPN的eERT的TYPE-5路由,Leaf2有以下两种处理:
- 检查eERT如果和EVPN实例IRT相同则接收该路由。
- 检查eERT如果和L3 VPN实例eIRT相同,则接收该路由,并提取其中的路由信息添加到其路由表。
- 同上,无论哪一种处理方式通过,都会生成Vxlan隧道。
同网段MAC地址学习,通过TYPE-2类型路由进行学习。
Leaf间跨网段通信:
1、Leaf1收到报文后,发现目的MAC是自己的MAC,判断需要进行三层转发。
2、Leaf根据VBDIF绑定的L3 VPN实例查看对应的三层路由表,找到三层VNI和下一跳VTEP IP,替换报文原先的内层原目MAC、添加三层VNI,外层目的IP指向下一跳VTEP IP。
3、Leaf2收到报文后解封装后,发现目的MAC是自己的,判断需要三层转发,找到三成VNI对应的路由表,修改原目MAC进行转发。