第258篇:分布式网关与集中式网关对比

关键词:分布式网关、集中式网关、VXLAN网关、跨子网通信、东西向流量、南北向流量、华为CloudEngine


一、引言

在数据中心VXLAN Overlay网络中,虚拟机不仅需要在同一子网内通信(同一VNI),还需要跨子网通信(不同VNI/VRF),以及访问外部网络(互联网、分支站点等)。这些场景都需要网关(Gateway)来实现三层路由转发。

网关的部署位置对数据中心的流量路径、延迟、可靠性以及运维复杂度有着根本性的影响。主要有两种部署模式:

  • 集中式网关(Centralized Gateway):将所有子网的网关集中部署在少数设备(通常是Spine或专用网关设备)上
  • 分布式网关(Distributed Gateway):将网关分散部署在每个Leaf交换机上

两种模式各有优劣,适用场景也截然不同。本文将深入对比这两种网关部署模式,分析它们的流量路径、性能特征、故障行为,并结合华为CloudEngine设备给出配置示例。

二、集中式网关架构

2.1 架构描述

集中式网关将所有业务子网的三层网关统一部署在数据中心的核心位置,通常位于Spine层或专用的网关设备(Service Node)上。Leaf交换机仅作为二层接入设备,不进行三层路由转发。

架构描述 - 图示

2.2 流量路径分析

场景一:同子网跨Leaf通信(VM-1 → VM-2)

VM-1和VM-2同属172.16.1.0/24子网,但分别位于Leaf-01和Leaf-02:

VM-1 → Leaf-01 → VXLAN → Leaf-02 → VM-2
(Overlay内直连通信,不经过网关)

同子网通信不经过网关,由VXLAN Overlay直接完成二层转发。

场景二:跨子网通信(VM-1 → VM-3)

VM-1(172.16.1.10)访问VM-3(172.16.2.10),属于不同子网:

VM-1 → Leaf-01 → VXLAN → Spine-GW-01 → VXLAN → Leaf-02 → VM-3
(Triangle Flow:三角流量,经过网关三次VXLAN封装/解封装)

场景三:访问外部网络(VM-1 → Internet)

VM-1 → Leaf-01 → VXLAN → Spine-GW-01 → Internet
(解封装后进行三层路由转发到外部)

2.3 集中式网关的优缺点

优点: 1. 统一策略实施:所有流量经过集中网关,ACL、NAT、QoS、安全策略在单一位置部署,管理简单 2. NAT集中管理:源NAT(SNAT)和目的NAT(DNAT)在网关设备统一配置 3. 运维简单:网关配置集中在一台或两台设备上,变更影响范围可控

缺点: 1. 三角流量(Triangle Flow):跨子网的两个VM之间的通信需要经过网关,即使这两个VM物理位置很近(甚至在同一Leaf下),流量也会绕行到集中网关 2. 网关成为瓶颈:所有跨子网流量和南北向流量汇聚到网关,网关的吞吐量成为系统瓶颈 3. 延迟增加:额外的VXLAN封装/解封装和往返网关的路径增加了端到端延迟

三、分布式网关架构

3.1 架构描述

分布式网关将三层路由功能分散部署到每个Leaf交换机上。每个Leaf既是VTEP(VXLAN终结点),也是三层网关。

架构描述 - 图示

3.2 流量路径分析

场景一:同子网跨Leaf通信(VM-1 → VM-2)

与集中式网关相同,由VXLAN Overlay直接二层转发,不经过网关。

VM-1 → Leaf-01 → VXLAN → Leaf-02 → VM-2

场景二:跨子网通信(VM-1 → VM-3)

VM-1(172.16.1.10,网关在Leaf-01)访问VM-3(172.16.2.10,网关在Leaf-02):

VM-1 → Leaf-01(GW) → VXLAN → Leaf-02 → VM-3
(直接在 Leaf-01 做三层转发,封装 VXLAN 到 Leaf-02,无三角流量)

场景三:访问外部网络(VM-1 → Internet)

VM-1 → Leaf-01(GW) → Spine-01/02 → Internet
(在 Leaf-01 解封装后三层路由到 Underlay,经 Spine 到出口)

3.3 分布式网关的优缺点

优点: 1. 消除三角流量:跨子网通信直接在源Leaf做三层转发,无需绕行集中网关 2. 负载均衡:网关功能分布到所有Leaf,没有单点瓶颈 3. 延迟更低:减少了到集中网关的往返路径 4. 扩展性好:新增Leaf自动增加网关容量

缺点: 1. 策略实施分散:ACL、QoS等安全策略需要在每个Leaf上独立配置 2. NAT管理复杂:源NAT需要在每个Leaf上配置,且需保证NAT地址池不冲突 3. 配置复杂度:每个Leaf需要运行三层路由协议,维护完整的路由表

四、两种架构的对比总结

对比维度 集中式网关 分布式网关
跨子网流量路径 三角流量(绕行网关) 直连(源Leaf直接转发)
延迟 较高(额外往返网关) 较低
吞吐量 网关设备瓶颈 分布到所有Leaf
策略管理 集中(简单) 分散(复杂)
NAT部署 集中(简单) 分散(需协调地址池)
路由表规模 网关设备维护全量路由 每个Leaf维护全量路由
故障域 网关故障影响全局 单Leaf故障影响局部
配置复杂度 低 高
适用场景 策略复杂、NAT频繁 东西向流量大、对延迟敏感

五、华为 CloudEngine 网关配置

5.1 集中式网关配置(Spine 模式)

# ============================================
# Spine-GW-01 配置(集中式网关)
# ============================================
sysname Spine-GW-01

interface LoopBack0
 ip address 10.255.255.1 255.255.255.255

# 网关 VRF 配置
ip vpn-instance VRF-TenantA-Subnet1
 vpn-instance-mode general
 ipv4-family
 #
 ip vpn-instance VRF-TenantA-Subnet2
 vpn-instance-mode general
 ipv4-family
 #
# VXLAN VTEP
vxlan vtep 10.255.255.1
 ip vpn-instance VRF-TenantA-Subnet1
  vxlan vni 10001
 ip vpn-instance VRF-TenantA-Subnet2
  vxlan vni 10002

# 网关接口(VTEP终结的VXLAN三层接口)
interface Nve1.10001
 vxlan vni 10001
 ipvpn-instance VRF-TenantA-Subnet1
 ip address 172.16.1.1 255.255.255.0

interface Nve1.10002
 vxlan vni 10002
 ipvpn-instance VRF-TenantA-Subnet2
 ip address 172.16.2.1 255.255.255.0

# 路由引入:将 Subnet1 的路由导入 Subnet2(反之亦然)
ip vpn-instance VRF-TenantA-Subnet1
 ipv4-family
  peer 10.255.255.2 as-number 65100
  peer 10.255.255.2 connect-interface LoopBack0
  #
  address-family ipv4 unicast
   peer 10.255.255.2 enable
   import-route direct

5.2 分布式网关配置(Leaf 模式)

# ============================================
# Leaf-01 配置(分布式网关)
# ============================================
sysname Leaf-01

interface LoopBack0
 ip address 10.255.254.1 255.255.255.255

# 网关 VRF - 每个 Leaf 都承载所有子网的网关
ip vpn-instance VRF-TenantA-Subnet1
 vpn-instance-mode general
 ipv4-family
ip vpn-instance VRF-TenantA-Subnet2
 vpn-instance-mode general
 ipv4-family

# VXLAN VTEP
vxlan vtep 10.255.254.1
 ip vpn-instance VRF-TenantA-Subnet1
  vxlan vni 10001
 ip vpn-instance VRF-TenantA-Subnet2
  vxlan vni 10002

# 网关接口
interface Nve1.10001
 vxlan vni 10001
 ipvpn-instance VRF-TenantA-Subnet1
 ip address 172.16.1.1 255.255.255.0

interface Nve1.10002
 vxlan vni 10002
 ipvpn-instance VRF-TenantA-Subnet2
 ip address 172.16.2.1 255.255.255.0

# BGP EVPN - 通过 Type5 路由分发三层路由
bgp 65100
 router-id 10.255.254.1
 #
 peer 10.255.255.1 as-number 65100
 peer 10.255.255.1 connect-interface LoopBack0
 peer 10.255.255.1 eVPN-enable
 #
 address-family evpn
  peer 10.255.255.1 enable
  # 使能 EVPN IP Prefix(Type5 路由)
  evpn ipv4-prefix-route

六、故障案例:集中式网关单点故障导致全网跨子网中断

6.1 故障背景

某金融企业数据中心采用集中式网关架构,两台Spine交换机互为VRRP主备作为集中网关。某日凌晨,主Spine(Spine-GW-01)的电源模块故障,设备重启。

6.2 故障影响

  • Spine-GW-01重启期间,VRRP切换到备Spine(Spine-GW-02)
  • VRRP切换时间为3秒(默认)
  • 但VXLAN隧道的BGP EVPN会话需要重新建立,耗时约30秒
  • 在这30秒内,所有跨子网流量中断

6.3 根因分析

VRRP切换虽然快速,但VXLAN隧道的重新建立依赖于BGP EVPN会话的收敛。在集中式网关架构中: - BGP EVPN会话建立在网关Spine与Leaf之间 - Spine重启后,所有BGP EVPN会话中断并重新建立 - 在会话重新建立期间,Type2/Type3路由全部丢失 - 即使VRRP已切换完毕,由于EVPN路由未恢复,VXLAN隧道仍处于不可用状态

6.4 解决方案

# 方案1:GR(Graceful Restart)保障 BGP 会话平滑过渡
bgp 65100
 graceful-restart
 #

# 方案2:BFD 加速故障检测,缩短收敛时间
bfd
 #
interface 100GE1/0/1
 bfd enable
 bfd minimum-interval 333 minimum-recv-interval 333  # 1秒三次检测

# 方案3:迁移到分布式网关架构,消除集中网关的单点瓶颈
# (推荐长期方案)

七、总结

决策因素 选择集中式 选择分布式
业务以南北向为主 ✓
东西向流量占比高 ✓
NAT需求复杂 ✓
安全策略需集中管控 ✓
对延迟极度敏感 ✓
运维团队规模小 ✓
大规模多租户 ✓
跨子网通信频繁 ✓

思考

  1. 集中式网关的"三角流量"问题是其最大缺陷。是否有一种折中方案,既能在一定程度上减少三角流量,又能保持策略集中管理的优势?
  2. 分布式网关要求每个Leaf维护完整的路由表。当VRF数量达到数千级别时,Leaf的路由表规模是否会超出设备限制?如何评估?
  3. 在混合部署(部分Leaf使用分布式网关、Spine保留集中网关能力)的场景下,路由环路如何防止?

下篇预告:第259篇:Anycast Gateway 与主机路由