2. EVPN路由类型与NLRI精讲

EVPN的NLRI(Network Layer Reachability Information)是BGP的一个新地址族,AFI=25(L2VPN),SAFI=70(EVPN)。所有EVPN路由都封装在MP_REACH_NLRI/MP_UNREACH_NLRI属性中,由Route Type字段区分语义。理解Type-1到Type-5的字段含义,是读懂EVPN控制平面、排查MAC学习异常、判断ARP代理是否生效的前提。本节按“字段语义—通告场景—典型用途”三条线索逐一展开。

一、EVPN NLRI的公共结构

每条EVPN NLRI由三部分组成:Route Type(1字节)、Length(1字节,指后续Route Type Specific字段的字节数)、Route Type Specific(变长)。Route Distinguisher(RD)位于Route Type Specific内部,用于在同一VRF/实例内区分不同PE通告的相同MAC或IP前缀;Route Target(RT)则作为BGP扩展团体属性携带,用于控制导入导出。需要特别区分:RD只解决“同一前缀由不同PE通告时的唯一性”,不决定路由是否被接收;RT才决定接收与泄露范围。

二、Type-1:Ethernet Auto-Discovery(A-D)路由

Type-1用于多归场景下的水平分割与快速收敛,字段包括:RD、ESI(10字节)、Ethernet Tag ID(4字节,通常为0)、MAC Address Length + MAC Address(可选)。当一台CE双归到两台PE时,两台PE为同一ESI通告Type-1路由,对端PE收到后知道“该ESI由多个PE共同接入”,从而在BUM转发时执行水平分割——从某一PE收到的BUM流量不再回送到同一ESI的其他PE,避免环路。Type-1还携带LACP端口状态,用于All-Active模式的DF选举与快速切换。

三、Type-2:MAC/IP Advertisement路由

Type-2是EVPN最核心的路由,承载MAC地址与可选IP地址的通告。字段顺序为:RD、ESI、Ethernet Tag ID、MAC Address Length、MAC Address、IP Address Length、IP Address(可选)、MPLS Label1(L2 VNI标签)、MPLS Label2(可选,L3 VNI标签)。

当PE从本地AC学习到MAC后,生成Type-2路由,RT匹配的对端PE将其安装到MAC-VRF表项,形成“MAC—下一跳—VNI标签”的映射。若同时携带IP字段,则对端PE可将其安装到ARP/ND抑制表(ARP suppression table),实现ARP/ND代理:主机A发ARP请求时,PE直接以本地抑制表应答,无需泛洪到远端,显著降低BUM流量。Label2存在时表示该MAC同时具备L3网关能力,用于对称IRB(Integrated Routing and Bridging)场景下的分布式网关。

四、Type-3:Inclusive Multicast Ethernet Tag(IMET)路由

Type-3用于建立BUM流量的转发隧道,字段为:RD、Ethernet Tag ID、IP Address Length、Originating Router's IP Address。它不携带MAC,只通告“本PE属于某个VNI,且BUM流量应发往此IP”。对端PE收到后,将本端VTEP IP与对端VTEP IP组成Ingress Replication列表,BUM报文按列表逐份复制并封装VXLAN发送。IMET是EVPN中BUM转发的基础,没有IMET就无法建立泛洪隧道。

五、Type-4:Ethernet Segment Route

Type-4用于DF(Designated Forwarder)选举,字段为:RD、ESI、IP Address Length、Originating Router's IP Address。同一ESI下的所有PE互相通告Type-4,结合Type-1中的LACP状态,按ESI优先级和IP地址大小选举出DF。DF负责向该ESI的AC转发BUM流量,非DF则丢弃,从而在多归场景下避免重复泛洪。

六、Type-5:IP Prefix Route

Type-5用于通告IP前缀路由,字段为:RD、ESI、Ethernet Tag ID、IP Prefix Length、IP Prefix、GW IP Address、MPLS Label(L3 VNI)。它把传统L3VPN的前缀通告能力引入EVPN,使EVPN可以承载子网间路由。Type-5通常与Type-2配合:Type-2负责主机MAC/IP的精确通告,Type-5负责网段前缀的通告。在分布式网关中,Type-5用于跨子网转发,Label字段指示L3 VNI,对端PE据此封装VXLAN并转发到目标VTEP。

EVPN NLRI Type-1 ~ Type-5 字段语义与转发关系 Type-1 A-D RD | ESI | EthTag MAC Len | MAC(可选) 用途:水平分割 DF选举 / 快速收敛 Type-2 MAC/IP RD | ESI | EthTag | MAC Len MAC | IP Len | IP(可选) Label1(L2 VNI) | Label2(L3 VNI) 用途:MAC学习 / ARP代理 Type-3 IMET RD | EthTag IP Len | Origin IP 用途:BUM隧道建立 Ingress Replication Type-4 ES Route RD | ESI IP Len | Origin IP 用途:DF选举 多归接入控制 Type-5 IP Prefix Route RD | ESI | EthTag | IP Prefix Len | IP Prefix | GW IP | Label(L3 VNI) 用途:跨子网路由通告 / 分布式网关L3转发 与Type-2配合:主机精确路由 + 网段前缀路由 控制平面 → 数据平面映射关系 Type-2 到达 MAC-VRF表项 ARP抑制表 IP→MAC→VTEP Type-3 到达 BUM复制列表 Type-5 到达 IP-VRF前缀表 Type-2携带Label2时同时进入MAC-VRF与IP-VRF,实现对称IRB Type-3仅建立BUM隧道,不参与单播转发 Type-5与Type-2共存时,最长前缀匹配优先选择Type-2主机路由

七、ARP/ND代理与别名机制

ARP/ND代理依赖Type-2中的IP字段。当PE收到远端Type-2且携带IP时,将其写入本地ARP抑制表。主机A发起ARP请求时,PE查询抑制表,若命中则直接以本端MAC应答,不再向VXLAN泛洪。这要求所有PE对同一子网内的主机IP都有Type-2条目,否则未命中的请求仍需泛洪。

别名(Alias)机制用于多归场景下的MAC迁移。当CE从PE1切换到PE2时,PE2通告新的Type-2,但旧路径可能仍有流量在途。Alias机制允许PE在Type-2中携带额外的“别名”信息,使对端PE在收到新路由前仍能通过旧路径转发,减少丢包。在Arista EOS中,可通过show bgp evpn route-type mac-ip查看Type-2条目,通过show bgp evpn route-type imet确认IMET是否建立,通过show bgp evpn route-type ip-prefix检查Type-5前缀。

排查提示:若主机间单播不通,先确认Type-2是否携带正确的Label1;若BUM不通,检查Type-3的Origin IP是否可达;若跨子网不通,检查Type-5的GW IP与L3 VNI是否匹配。

八、字段速查与典型判断

Route Type关键字段典型用途缺失后果
Type-1ESI、MAC水平分割、DF选举多归环路、重复泛洪
Type-2MAC、IP、Label1/Label2MAC学习、ARP代理、对称IRB单播不通、ARP泛洪
Type-3Origin IPBUM隧道广播/组播/未知单播不通
Type-4ESI、Origin IPDF选举DF无法选出、BUM重复
Type-5IP Prefix、GW IP、Label跨子网路由子网间不通