3. EVPN控制平面基础
EVPN(Ethernet VPN)之所以能替代传统VPLS,核心在于它把二层转发信息搬到了BGP控制平面。要真正掌握Comware上的EVPN VXLAN,必须先弄清三件事:BGP用哪个地址族承载EVPN、EVPN定义了哪些路由类型、以及本地EVPN实例如何与BD(Bridge Domain)绑定。这三者构成了整个控制平面的“地基”。
一、EVPN地址族:L2VPN EVPN
普通BGP用IPv4单播地址族(ipv4 unicast)传递IP前缀,而EVPN使用一个独立的地址族——L2VPN EVPN,在Comware中通过 address-family l2vpn evpn 进入。它承载的不是IP前缀,而是MAC/IP可达性、IMET(包含多播以太网标签)等EVPN路由。NLRI(网络层可达信息)的格式由RFC 7432定义,包含Route Distinguisher(RD)、Ethernet Segment Identifier(ESI)、Ethernet Tag ID、MAC地址长度、MAC地址、IP地址长度、IP地址、MPLS标签等字段。
需要特别注意的是,EVPN对等体的建立与普通BGP对等体没有本质区别:先建立TCP连接(179端口),再交换Open报文协商能力。关键点在于Open报文中必须携带MP-BGP能力,且AFI=25(L2VPN)、SAFI=70(EVPN)。如果一端没有配置 address-family l2vpn evpn 或未使能该地址族,对等体虽然能建立,但EVPN路由无法交换,表现为邻居状态Established但路由表为空。
二、EVPN路由类型:五类核心路由
EVPN定义了多种路由类型,Comware VXLAN场景中最常用的是以下五类:
- Type 1(Ethernet Auto-Discovery,以太网自动发现):用于多归场景下的水平分割和快速收敛,携带ESI和标签。单归场景通常不产生。
- Type 2(MAC/IP Advertisement,MAC/IP通告):最核心的路由,用于通告本地MAC地址和ARP信息。每条Type 2路由包含RD、ESI、Ethernet Tag、MAC、IP(可选)、MPLS标签(VXLAN VNI)。它实现了“MAC学习从数据平面转到控制平面”。
- Type 3(Inclusive Multicast Ethernet Tag,包含多播以太网标签):用于VTEP自动发现和BUM(广播、未知单播、组播)流量转发。它携带VTEP的源IP地址和VNI,相当于告诉其他VTEP“我在这里,请把BUM流量发给我”。
- Type 4(Ethernet Segment Route,以太网段路由):用于DF(指定转发者)选举,多归场景下决定哪个PE负责转发。
- Type 5(IP Prefix Route,IP前缀路由):用于三层网关场景,通告IP前缀,实现跨子网路由。
在Comware中,可以通过 display bgp l2vpn evpn 查看这些路由。例如,Type 2路由的显示信息中会包含 [2][0][48][MAC][32][IP] 这样的前缀格式,其中方括号内的数字分别代表路由类型、ESI、MAC长度、MAC地址、IP长度、IP地址。
三、BGP EVPN对等体建立与Comware EVPN实例绑定BD
在Comware上部署EVPN VXLAN,控制平面配置分为两大块:BGP EVPN对等体配置和EVPN实例与BD绑定。
BGP EVPN对等体建立:首先在BGP视图下配置对等体,然后进入 address-family l2vpn evpn 子视图,使用 peer <ip> enable 使能EVPN地址族。如果使用RR(路由反射器),还需要配置 peer <ip> reflect-client。对等体之间必须路由可达,且建议使用Loopback接口地址作为更新源,配合 peer <ip> connect-interface LoopBack0 保证稳定性。
EVPN实例与BD绑定:Comware中通过 evpn instance <vni> 创建EVPN实例,然后在BD视图下使用 evpn instance <vni> 将BD与EVPN实例关联。同时,VXLAN隧道接口(通常为 interface Tunnel 或 interface VXLAN)需要指定源地址和VNI。绑定完成后,BD内的MAC地址学习会通过EVPN实例生成Type 2路由并发布给BGP对等体。
下面这张图展示了从BGP对等体建立到EVPN实例绑定BD,再到路由发布的完整控制平面关系。图中左侧是本地VTEP的配置层次,右侧是远端VTEP,中间通过L2VPN EVPN地址族交换Type 2/Type 3路由。
四、关键配置与验证要点
在Comware上完成上述配置后,建议按以下顺序验证:
- 检查BGP对等体状态:
display bgp peer l2vpn evpn,确认State为Established,且Up/Down时间稳定。 - 检查EVPN路由表:
display bgp l2vpn evpn,应能看到本地生成的Type 2和Type 3路由,以及从对等体学到的远端路由。 - 检查EVPN实例与BD绑定:
display evpn instance,确认VNI、RD、VPN Target与BD对应关系正确。 - 检查VXLAN隧道:
display interface tunnel或display vxlan tunnel,确认隧道状态Up,源地址和VNI匹配。
address-family l2vpn evpn 并执行了 peer enable;如果路由存在但VXLAN隧道未建立,检查VNI是否一致、源地址是否可达、以及EVPN实例是否已绑定到正确的BD。
理解这三层关系——地址族承载、路由类型表达、实例绑定落地——是后续学习EVPN VXLAN数据平面转发、多归接入和分布式网关的前提。在Comware中,配置命令的层次感很强,建议在实验环境中逐条验证,观察每一步对BGP路由表和EVPN实例状态的影响。