第175篇:EVPN VXLAN 网关:集中式与分布式
关键词:VXLAN网关、集中式网关、分布式网关、CGW、DGW、三层互通、跨VNI路由
一、引言
在 EVPN VXLAN 网络中,VNI(Virtual Network Identifier)隔离了不同的二层广播域。当不同 VNI 之间的站点需要三层互通时,就需要部署 VXLAN 网关。VXLAN 网关提供 VXLAN 隧道与物理网络之间的三层路由功能,使 overlay 网络能够与外部网络(如传统 IP 网络、互联网)互联互通。根据网关部署位置的不同,VXLAN 网关分为集中式网关和分布式网关两种模式。
二、核心概念
2.1 VXLAN 网关类型对比
| 特性 | 集中式网关(CGW) | 分布式网关(DGW) |
|---|---|---|
| 部署位置 | 独立网关设备 | 每个 VTEP 同时作为网关 |
| 流量路径 | CE→VTEP→网关→VTEP→CE(东西向绕远) | CE→VTEP(本地)→CE(直出) |
| 东西向流量 | 绕行网关(Hairpinning) | 本地终结(Local Out) |
| 南北向流量 | 网关统一出口 | 各 VTEP 独立出口 |
| 网关数量 | 少(集中管理) | 多(每个 VTEP) |
| 扩展性 | 受限于网关容量 | 分布式扩展性好 |
2.2 集中式网关(Centralized Gateway)

2.3 分布式网关(Distributed Gateway)

2.4 网关的南北向与东西向流量
| 流量方向 | 说明 | CGW 路径 | DGW 路径 |
|---|---|---|---|
| 东西向(同VNI) | 同一 VNI 内 CE 间 | VTEP→VTEP(不经过网关) | VTEP→VTEP |
| 东西向(跨VNI) | 不同 VNI 间 CE 间 | VTEP→网关→VTEP | VTEP→VTEP(本地路由) |
| 南北向(出网) | CE 到外部网络 | VTEP→网关→外部 | VTEP→外部(本地) |
| 南北向(入网) | 外部网络到 CE | 外部→网关→VTEP | 外部→VTEP |
三、技术细节
3.1 集中式网关数据转发

3.2 分布式网关数据转发

3.3 IRB(Integrated Routing and Bridging)
分布式网关的核心技术是 IRB,它集成了二层桥接和三层路由:
| 组件 | 说明 |
|---|---|
| Bridge Domain (BD) | 二层广播域,对应一个 VNI |
| VRF | 三层路由实例,关联一个或多个 BD |
| IRB 接口 | BD 与 VRF 之间的逻辑接口,作为网关地址 |

四、实战配置/案例分析
4.1 集中式网关配置
# ========== 集中式网关配置 ==========
[GW] sysname VXLAN-GW
# 创建VRF
[GW] vpn-instance OVERLAY
[GW-vpn-instance-OVERLAY] rd 10.255.0.1:100
[GW-vpn-instance-OVERLAY] route-target both evpn 100:100
# VXLAN配置
[GW] vxlan vni 100
[GW-vxlan-vni-100] route-distinguisher 10.255.0.1:100
[GW-vxlan-vni-100] route-target both evpn 100:100
[GW-vxlan-vni-100] vxlan-source-interface LoopBack 0
[GW-vxlan-vni-100] peer 10.1.1.1 vni 100
[GW-vxlan-vni-100] peer 10.1.2.1 vni 100
# 物理接口连接外部网络
[GW] interface GigabitEthernet 1/0/0
[GW-GigabitEthernet1/0/0] ip address 203.0.113.1 24
4.2 分布式网关(IRB)配置
# ========== VTEP1 分布式网关配置 ==========
[EVPN-PE1] sysname DGW-VTEP1
# 创建Bridge Domain和VRF
[DGW-VTEP1] bridge-domain 100
[DGW-VTEP1-bridge-domain-100] interface 100ge 1/0/1
[DGW-VTEP1] vpn-instance OVERLAY
[DGW-VTEP1-vpn-instance-OVERLAY] rd 10.1.1.1:100
[DGW-VTEP1-vpn-instance-OVERLAY] route-target both evpn 100:100
[DGW-VTEP1-vpn-instance-OVERLAY] bridge-domain 100 interface Vlanif 100
# IRB接口(Vlanif)
[DGW-VTEP1] interface Vlanif 100
[DGW-VTEP1-Vlanif100] ip address 192.168.1.1 24
[DGW-VTEP1-Vlanif100] ip binding vpn-instance OVERLAY
# VXLAN
[DGW-VTEP1] vxlan vni 100
[DGW-VTEP1-vxlan-vni-100] route-distinguisher 10.1.1.1:100
[DGW-VTEP1-vxlan-vni-100] route-target both evpn 100:100
[DGW-VTEP1-vxlan-vni-100] vxlan-source-interface LoopBack 0
# BGP EVPN
[DGW-VTEP1] bgp 65001
[DGW-VTEP1-bgp-65001] address-family evpn
[DGW-VTEP1-bgp-65001-evpn] peer 10.1.2.1 enable
[DGW-VTEP1-bgp-65001-evpn] import-route direct vpn-instance OVERLAY
4.3 故障排查:跨VNI通信失败
故障场景:VNI 100 的 CE 无法 ping 通 VNI 200 的 CE。
# Step 1: 检查IRB路由
<DGW-VTEP1> display ip routing-table vpn-instance OVERLAY
192.168.1.0/24 Vlanif100 (VNI 100网关)
# 无192.168.2.0/24路由(VNI 200)
# Step 2: 检查EVPN Type5路由
<DGW-VTEP1> display bgp evpn routing-table type 5
# 无Type5路由
# 根因: 未启用Type5路由导入
# Step 3: 修正
[DGW-VTEP1-bgp-65001-evpn] import-route direct vpn-instance OVERLAY
[DGW-VTEP1-vpn-instance-OVERLAY] bridge-domain 200 interface Vlanif 200
# Step 4: 验证
<DGW-VTEP1> display bgp evpn routing-table type 5
*> RD: 10.1.2.1:200
Prefix: 192.168.2.0/24
NextHop: 10.1.2.1
# Type5路由已学习, 跨VNI通信恢复
五、总结
| 项目 | 要点 |
|---|---|
| 集中式网关 | 独立网关设备,统一路由出口,管理简单 |
| 分布式网关 | 每个 VTEP 作为网关,本地终结,扩展性好 |
| 东西向跨VNI | CGW绕行(Hairpinning),DGW本地终结 |
| IRB | BD ↔ VRF 间的逻辑接口,分布式网关核心技术 |
| Type 5 路由 | 跨 VNI 三层路由通告,分布式网关必备 |
思考
- 集中式网关导致东西向跨 VNI 流量绕行(Hairpinning)。这种绕行对延迟和带宽有什么具体影响?
- 分布式网关下,每个 VTEP 都作为网关。如果某个 VTEP 的网关接口 IP 与另一个 VTEP 的网关接口 IP 不同,跨 VTEP 的三层路由如何工作?
- EVPN Type 5 路由通告 IP 前缀。Type 5 路由与 Type 2 路由中的 IP 信息有什么区别?何时使用 Type 5 而非 Type 2?
下篇预告:第176篇:EVPN 多归(Multi-homing)与 DF 选举