2. EVPN VXLAN技术原理精讲

在QFX系列交换机上部署EVPN VXLAN,核心要理解两件事:一是数据面如何把原始以太网帧封装进VXLAN隧道,二是控制面如何通过BGP EVPN把“哪个MAC/IP在哪里”的信息同步给所有VTEP。本节围绕VXLAN封装结构、EVPN地址族、控制面与数据面交互、BGP EVPN路由类型及其在QFX上的实现机制展开。

一、VXLAN封装:从原始帧到UDP隧道

VXLAN的本质是MAC-in-UDP封装。VTEP(VXLAN Tunnel Endpoint)收到本地接入侧的二层帧后,先查VNI对应的二层转发表,若目的MAC属于远端VTEP,则把原始以太网帧整体作为载荷,依次加上VXLAN头、UDP头、外层IP头和外层以太网头,再送入物理网络转发。

各层关键字段如下:外层以太网头承载下一跳MAC;外层IP头源地址为本端VTEP地址、目的地址为对端VTEP地址;UDP目的端口固定为4789(QFX默认,可配置);VXLAN头中VNI占24位,支持约1600万个租户标识,标志位I位为1表示VNI有效。原始帧的源/目的MAC在封装后仍完整保留,因此租户的二层语义在隧道中不被破坏。

需要特别区分两个地址平面:外层是VTEP之间的IP可达性,由物理网络(underlay)提供,通常通过OSPF/IS-IS/BGP承载;内层是租户的MAC/IP,由EVPN控制面学习。二者互不干扰,这是VXLAN可扩展性的基础。

VXLAN封装结构与EVPN控制面/数据面分工 原始以太网帧 DMAC + SMAC + Payload VXLAN头 VNI(24bit) + Flags UDP头 DstPort 4789 外层IP头 SrcVTEP→DstVTEP 外层以太网头 NextHop MAC 控制面(BGP EVPN) MP-BGP + EVPN地址族 AFI=25 / SAFI=70 Type-2 MAC/IP路由 Type-3 IMET路由 Type-5 IP前缀路由 作用:同步MAC/IP位置与VTEP列表 数据面(VXLAN转发) 查VNI二层表 → 封装 外层ECMP哈希转发 对端VTEP解封装 查内层MAC表 → 转发 BUM流量走IMET复制 作用:承载租户实际业务流量 下发转发表

二、EVPN地址族与BGP扩展

EVPN作为BGP的一个地址族,使用AFI 25(L2VPN)、SAFI 70(EVPN)。在QFX上启用EVPN需要两步:先在路由实例或全局下配置set protocols bgp group EVPN type internal,再通过set protocols bgp group EVPN family evpn signaling激活该地址族。EVPN NLRI由路由类型(Route Type)、长度和路由类型特定数据组成,QFX支持Type-1到Type-5,其中Type-2和Type-3是VXLAN场景最常用的。

EVPN相比传统VPLS的关键优势在于:控制面学习替代数据面泛洪学习。VTEP不再依赖未知单播泛洪来学习远端MAC,而是通过BGP EVPN路由直接获知“MAC X 在 VTEP Y 的 VNI Z 下”,从而建立精确的转发表项。

三、控制面与数据面交互流程

以QFX-A和QFX-B两个VTEP为例,说明一次完整的MAC学习与转发过程:

  1. 本地学习:QFX-A从接入端口收到Host-1的帧,学习到MAC-A对应本地接口,并生成Type-2 MAC/IP Advertisement路由。
  2. 路由发布:QFX-A通过IBGP EVPN会话将Type-2路由发给QFX-B,路由携带RD、ESI、MAC地址长度、MAC、IP、VNI、下一跳(QFX-A的VTEP地址)。
  3. 远端安装:QFX-B收到后,将MAC-A与下一跳QFX-A关联,安装到对应VNI的二层转发表,并解析下一跳为外层隧道目的地址。
  4. 数据转发:QFX-B收到发往MAC-A的帧,查表命中,封装VXLAN后经underlay送达QFX-A,QFX-A解封装后转发给Host-1。

对于BUM(广播、未知单播、组播)流量,VTEP之间通过Type-3 IMET路由建立复制列表。每台VTEP发布自己的VTEP IP和VNI,其他VTEP据此构建 ingress replication 列表,收到BUM帧后逐份复制并单播发送给列表中的每个VTEP。

四、BGP EVPN路由类型及QFX实现

路由类型名称关键字段QFX用途
Type-1Ethernet Auto-DiscoveryESI、Ethernet Tag ID多归接入、快速收敛
Type-2MAC/IP AdvertisementMAC、IP、VNI、下一跳MAC/IP学习、ARP抑制
Type-3Inclusive Multicast Ethernet TagVTEP IP、VNIBUM复制列表
Type-4Ethernet Segment RouteESI、VTEP IPDF选举
Type-5IP Prefix RouteIP前缀、网关IPL3对称IRB、外部路由

在QFX上查看EVPN路由可使用:

show evpn database
show route table bgp.evpn.0
show ethernet-switching table
show bgp neighbor 10.0.0.2 | match evpn

其中show evpn database会列出本地和远端学习到的MAC/IP条目,包含VNI、VTEP地址和状态;show route table bgp.evpn.0则显示BGP EVPN NLRI的详细信息,可用于确认Type-2/Type-3路由是否正确收发。

在QFX上排查EVPN问题时,建议按“underlay可达性 → BGP EVPN邻居状态 → EVPN路由表 → 二层转发表”的顺序逐层检查。若underlay不通,EVPN路由即使存在也无法建立有效隧道。

五、QFX实现机制要点

QFX系列在硬件上通过Trio/Penta芯片支持VXLAN线速封装与解封装。控制面由Junos的EVPN进程与BGP协同完成:BGP负责NLRI收发,EVPN进程负责将NLRI转换为二层/三层转发表项并下发到PFE。对于分布式VXLAN网关场景,QFX还可通过Type-5路由实现跨子网转发,配合IRB接口完成对称路由。

需要强调的是,EVPN VXLAN的转发决策始终遵循“控制面先行、数据面执行”的原则:控制面负责告诉设备“去哪里”,数据面负责“怎么去”。理解这一分工,是掌握后续配置与排障的基础。