第175篇:EVPN VXLAN 网关:集中式与分布式

关键词

集中式网关、分布式网关、Anycast Gateway、IRB、Symmetric IRB、Asymmetric IRB、VNI、L3VNI


一、为什么需要三层网关?

1.1 EVPN 的二层与三层

EVPN 的基本能力是在二层桥接不同站点的同一子网:

EVPN 二层桥接(L2VPN):
  子网 A ────── EVPN ────── 子网 A
  (10.1.1.0/24)             (10.1.1.0/24)

但现实网络中,业务需要跨子网通信

  子网 A                    子网 B
  (10.1.1.0/24) ─── ??? ─── (10.2.2.0/24)

  需要三层路由!

EVPN IRB(Integrated Routing and Bridging) 就是 EVPN 的三层路由能力。


二、集中式网关

2.1 架构

          ┌──────────────┐
          │  集中式网关   │
          │  (Spine 或    │
          │   专用设备)   │
          │  10.1.1.1    │
          │  10.2.2.1    │
          └──────┬───────┘
                 │
┌──┴──┐ ┌──┴──┐
PE1 Leaf PE2 Leaf
│ │
CE1 10.1.1.10 CE2 10.2.2.10
--- --- ---

2.2 工作原理

CE1 (10.1.1.10) 访问 CE2 (10.2.2.10):

步骤 1:CE1 发送 ARP Request for 10.1.1.1(网关)
         PE1 响应(或 ARP 抑制)

步骤 2:CE1 发 IP 包(src=10.1.1.10, dst=10.2.2.10)
         → 目的 MAC = 网关 MAC(10.1.1.1)

步骤 3:PE1 收到
         查 MAC 表 → 目的 MAC=网关 MAC
         这不是远程 MAC,而是本地网关的 MAC
         → 送三层处理

步骤 4:集中式网关接收 IP 包
         查路由表 → 10.2.2.0/24 → 下一跳 CE2
         封装新二层帧(源 MAC=网关 MAC, 目的 MAC=CE2 MAC)
         从出接口发送

步骤 5:集中式网关的 MAC 表中有 CE2 的 MAC(来自 EVPN Type 2)
         但 CE2 的 MAC 可能不在同一 VNI 下
         → 可能需要跨 VNI 转发

2.3 优缺点

优点 缺点
简单,网关集中配置 单点瓶颈(所有跨子网流量经过网关)
网关策略统一 次优路径(流必须绕到网关)
易于管理 网关故障影响大
安全策略集中 扩展性受限

三、分布式网关

3.1 架构

每个 Leaf(PE)都配置了所有子网的网关 IP(Anycast IP):

          Spine
         /      \
        /        \
PE1 Leaf1 Anycast GW IP: 10.1.1.1 10.2.2.1 PE2 Leaf2 Anycast GW IP: 10.1.1.1 10.2.2.1
│ │
CE1 10.1.1.10 CE2 10.2.2.10
--- --- ---

3.2 Anycast Gateway

所有 Leaf 配置相同的网关 IP 和 MAC 地址

所有 Leaf 的配置:
  interface Vlanif100
   ip address 10.1.1.1 255.255.255.0      # Anycast IP
   mac-address 0000-5e00-0101              # Anycast MAC(每 Leaf 相同)

CE 看到的网关:无论连接到哪个 Leaf,网关 IP 和 MAC 都是相同的。

优势: - CE 无需关心连接的 Leaf - VM 迁移到另一个 Leaf 下的端口时,无需 ARP 更新 - 故障切换时,CE 无感知

3.3 对称 IRB

分布式网关通常使用对称 IRB(Symmetric IRB)

CE1 (VNI 100) → PE1 → VNI 200 → PE2 → CE2 (VNI 200)

特点:
  入方向:从 L2 VNI 到 L3 VNI 的转换
  出方向:从 L3 VNI 到 L2 VNI 的转换
  两层 VNI:L2 VNI(桥接)+ L3 VNI(路由)

L3VNI(三层 VNI):用于跨子网路由的 VNI:

# PE1 配置
bridge-domain 10                           # L2 VNI = 100(子网 A)
 vxlan vni 100
 evpn
  route-distinguisher 100:1
  vpn-target 1:1 export-extcommunity
  vpn-target 1:1 import-extcommunity
!
bridge-domain 20                           # L2 VNI = 200(子网 B)
 vxlan vni 200
 evpn
  route-distinguisher 100:2
  vpn-target 2:2 export-extcommunity
  vpn-target 2:2 import-extcommunity
!
bridge-domain 999                          # L3 VNI = 999(用于三层路由)
 vxlan vni 999
 evpn
  route-distinguisher 100:999
  vpn-target 999:999 export-extcommunity
  vpn-target 999:999 import-extcommunity
!
interface Vlanif100
 ip address 10.1.1.1 255.255.255.0
 mac-address 0000-5e00-0101               # Anycast MAC
!
interface Vlanif999                        # L3 VNI 接口
 ip address 10.99.99.1 255.255.255.0

3.4 分布式网关转发流程

CE1 (10.1.1.10, VNI 100) → CE2 (10.2.2.10, VNI 200)

① CE1 发送 IP 包到网关 10.1.1.1
   目的 MAC = Anycast Gateway MAC

② PE1 收到:
   - 查 MAC → 网关 MAC → 三层处理
   - 查找 VRF 路由表 → 10.2.2.0/24 → 下一跳 PE2
   - 封装:
     外层:VXLAN (VNI 999 = L3VNI)  ← 跨子网
     内层:原始 IP 包

③ PE2 收到:
   - VNI = 999 → 三层 VNI
   - 弹出 VXLAN 头 → IP 包
   - 查 VRF 路由 → 10.2.2.10 → 本地 VNI 200
   - 封装:
     外层:VXLAN (VNI 200 = L2VNI) ← 目标子网
     内层:IP 包

④ CE2 收到 IP 包

四、非对称 IRB vs 对称 IRB

对比 非对称 IRB 对称 IRB
入方向处理 L2→L3 路由 L2→L3 VNI 转换
出方向处理 L3→L2 路由 L3 VNI→L2 转换
中间隧道 L2 VNI(VNI 100) L3 VNI(VNI 999)
路由方式 Ingress PE 查表转发 egress PE 也查表
实现复杂度
扩展性 差(需要学习所有 MAC)
是否推荐 不推荐 推荐

对称 IRB 是当前 EVPN VXLAN 分布式网关的标准实现。


五、集中式 vs 分布式对比

对比维度 集中式网关 分布式网关
网关位置 核心层 每台 Leaf
流量路径 跨子网必须经过核心 本地 Leaf 直接路由
延迟 多一跳 最小
单点故障 无(Anycast 冗余)
VM 迁移 需更新网关 ARP 无感
配置复杂度
适用规模 中小 大型数据中心

六、典型部署场景

6.1 中小数据中心:集中式网关

Spine 做集中式网关 + VXLAN 终结
Leaf 只做 VXLAN 桥接

优势:配置简单,策略在 Spine 统一

6.2 大型数据中心:分布式网关

Leaf 做分布式网关 + Anycast
Spine 只做 IP 转发

优势:
  - 无次优路径
  - VM 自由迁移
  - 线性扩展

七、总结

知识点 核心要点
IRB EVPN 的三层路由能力:桥接 + 路由
集中式网关 网关在核心层,跨子网流量绕行核心
分布式网关 每台 Leaf 都有网关,Anycast IP/MAC
Anycast Gateway 所有 Leaf 相同的网关 IP + MAC
L3 VNI 跨子网路由时使用,区别于 L2 VNI
对称 IRB 推荐模式:Ingress 和 Egress 都做路由

八、思考

  1. 为什么 EVPN 需要 IRB?它解决了什么问题?
  2. 集中式网关和分布式网关的主要区别是什么?
  3. Anycast Gateway 为什么能支持 VM 迁移?
  4. L2 VNI 和 L3 VNI 分别用于什么场景?
  5. 对称 IRB 中的入方向和出方向分别使用哪个 VNI?

下篇预告:第176篇《EVPN 多归(Multi-homing)与 DF 选举》——一台 CE 连接多台 PE 时,EVPN 如何实现冗余接入并避免重复转发?