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可扩展性的基础。
二、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学习与转发过程:
- 本地学习:QFX-A从接入端口收到Host-1的帧,学习到MAC-A对应本地接口,并生成Type-2 MAC/IP Advertisement路由。
- 路由发布:QFX-A通过IBGP EVPN会话将Type-2路由发给QFX-B,路由携带RD、ESI、MAC地址长度、MAC、IP、VNI、下一跳(QFX-A的VTEP地址)。
- 远端安装:QFX-B收到后,将MAC-A与下一跳QFX-A关联,安装到对应VNI的二层转发表,并解析下一跳为外层隧道目的地址。
- 数据转发: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-1 | Ethernet Auto-Discovery | ESI、Ethernet Tag ID | 多归接入、快速收敛 |
| Type-2 | MAC/IP Advertisement | MAC、IP、VNI、下一跳 | MAC/IP学习、ARP抑制 |
| Type-3 | Inclusive Multicast Ethernet Tag | VTEP IP、VNI | BUM复制列表 |
| Type-4 | Ethernet Segment Route | ESI、VTEP IP | DF选举 |
| Type-5 | IP Prefix Route | IP前缀、网关IP | L3对称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实现机制要点
QFX系列在硬件上通过Trio/Penta芯片支持VXLAN线速封装与解封装。控制面由Junos的EVPN进程与BGP协同完成:BGP负责NLRI收发,EVPN进程负责将NLRI转换为二层/三层转发表项并下发到PFE。对于分布式VXLAN网关场景,QFX还可通过Type-5路由实现跨子网转发,配合IRB接口完成对称路由。
需要强调的是,EVPN VXLAN的转发决策始终遵循“控制面先行、数据面执行”的原则:控制面负责告诉设备“去哪里”,数据面负责“怎么去”。理解这一分工,是掌握后续配置与排障的基础。