TYPE-2-ROUTE 能够同时携带主机 MAC-ADDR/IP-ADDR,所以该路由也能够用来在 VTEP 间传递主机 ARP 表项,实现主机 ARP 通告。此时的 MAC/IP ROUTE 也称为 ARP 类型路由。鉴于其能够携带 MAC-ADDR/IP-ADDR,所以也称之为 MAC/IP ROUTE;
报文格式
当进行主机 ARP 信息通告时,其用于集中式网关部署场景下通告 ARP 类型路由,包含主机 IP 信息、MAC 信息和二层 VNI:
Route Distinguisher
Ethernet Segment Identifier
Ethernet Tag ID
MAC Address Length = MAC 地址长度
MAC Address = MAC 地址
IP Address Length = IP 地址长度
IP Address = IP 地址
MPLS Label1 = VNI(二层)
MPLS Label2
其中:
1)MAC Address 和 MAC Address Length 字段为主机 MAC 地址;
2)IP Address 和 IP Address Length 字段为主机 IP 地址。
分布式网关场景
所示如图,BGP EVPN 使用 TYPE-2-ROUTE 实现主机 ARP 通告:
在分布式网关中,主机 ARP 通告主要用于以下两种场景:
1)ARP 广播抑制。当三层网关学习到其子网下的主机 ARP 时,生成主机信息(包含:主机 IP 地址、主机 MAC 地址、二层 VNI、网关 VTEP IP 地址),然后通过传递 ARP 类型路由将主机信息同步到二层网关上。这样当二层网关再收到 ARP 请求时,先查找是否存在 DST-IP-ADDR 对应的主机信息。如果存在,则直接将 ARP 请求报文中的广播 MAC 地址替换为目的单播 MAC 地址,实现广播变单播,达到 ARP 广播抑制的目的;
2)分布式网关场景下的虚拟机迁移。当一台虚拟机从当前网关迁移到另个网关下之后,新网关学习到该虚拟机的 ARP(一般通过虚拟机发送免费 ARP 实现),并生成主机信息(包含主机 IP 地址、主机 MAC 地址、二层 VNI、网关 VTEP IP 地址),然后通过传递 ARP 类型路由将主机信息发送给虚拟机的原网关。原网关收到后,感知到虚拟机的位置发生变化,触发 ARP 探测,当探测不到原位置的虚拟机时,撤销原位置虚拟机的 ARP 和主机路由;
集中式网关场景
在集中式网关中,主机 ARP 通告,主要在 VXLAN 集中式网关+BGP EVPN 场景下使用,在 BGP EVPN 中向对等体通告 ARP 路由或者 IRB 路由为互斥选项,只能配置其中一种路由对外发布,一般在 VXLAN 集中式网关+BGP EVPN 场景下选择发布 ARP 路由,而且 VXLAN 分布式网关+BGP EVPN 场景下选择发布 IRB 路由;
在集中式网关场景下,使用 BGP EVPN 时,跨子网报文转发过程与此前介绍过的静态 VXLAN 场景相似,不再赘述;