第261篇:VXLAN over SR-MPLS 混合方案

关键词

VXLAN、SR-MPLS、分段路由、MPLS 与 VXLAN 混合、Overlay 嵌套、统一承载、DC-WAN 融合


一、为什么需要 VXLAN + SR-MPLS

1.1 两种技术的优势

VXLAN 的优势:
  Overlay 封装,1600 万 VNI
  MAC-in-UDP,IP 网络可承载
  多租户隔离
  虚拟机迁移支持

SR-MPLS 的优势:
  源路由(Source Routing),无需中间节点维护状态
  显式路径控制(TE)
  快速重路由(FRR,<50ms)
  与现有 MPLS 网络兼容

单独使用任一方案都有局限:

  纯 VXLAN:无 TE 能力,路径不可控
  纯 SR-MPLS:VNI 有限(MPLS 标签 20bit),
              Overlay 功能不如 VXLAN 丰富

VXLAN over SR-MPLS = 两者优势叠加

1.2 适用场景

场景 1:数据中心互联(DCI)

DC1 VXLAN EVPN ◄──── WAN ─────────► SR-MPLS Tunnel DC2 VXLAN EVPN

DC 内部:VXLAN + EVPN(标准数据中心方案) DC 之间:VXLAN 封装再放入 SR-MPLS 隧道 WAN 侧:SR-MPLS 提供 TE、FRR、带宽保障

场景 2:数据中心出口到 WAN

DC Leaf ──► DC GW ──► PE ──► WAN(SR-MPLS)

DC 内部用 VXLAN 出 DC 时 VXLAN 封装进 SR-MPLS LSP 无需在 WAN 侧部署 VXLAN

场景 3:平滑迁移

已有 MPLS 网络 → 新增 VXLAN 数据中心 VXLAN over MPLS 桥接新旧网络 逐步替换


二、VXLAN over SR-MPLS 封装

2.1 封装层次

VXLAN over SR-MPLS 的封装结构:

原始二层帧(Original Ethernet Frame) MAC DA | MAC SA | 802.1Q | IP | Payload VXLAN Header VNI: 10001 UDP (目标端口 4789) 外层 IP Header Src: VTEP1 IP, Dst: VTEP2 IP SR-MPLS Label Stack Label 1 (外层): 转发路径 Label 2 (可选): 服务/隧道标识 Label 3 (可选): 备用路径 外层 MAC Header Underlay 下一跳 MAC

总结封装层次(从内到外): 原始帧 → VXLAN(VNI) → UDP → IP → SR-MPLS 标签栈 → MAC

总开销 = VXLAN 50B + MPLS 标签栈 N×4B + Underlay MAC 14B ≈ 64-80 字节

2.2 封装模式

模式 1:VXLAN 封装在 IP 外再套 MPLS

  VTEP 到 VTEP 之间通过 IP 可达
  Underlay 是 SR-MPLS 网络
  IP 包在 SR-MPLS 网络中传输

流程:
  Leaf1 → VXLAN(VNI 10001)→ 外层 IP(VTEP1→VTEP2)
          → Leaf1 将 IP 包送入 SR-MPLS 隧道
          → MPLS 标签栈(Node-SID 或 Adj-SID)
  Spine(SR-MPLS 节点)→ 根据标签转发
  Leaf2 → 剥离 MPLS 标签 → 收到 IP 包 → 解 VXLAN

模式 2:VXLAN 直接映射到 MPLS 标签

  VXLAN 外层 IP+UDP 头部去掉
  VNI 直接映射为 MPLS 标签

流程:
  Leaf1 → VXLAN(VNI 10001)
          → VTEP1 不做外层 IP 封装
          → 直接将 VNI 10001 映射为 MPLS 标签
          → 加入 SR-MPLS 标签栈发送
  Spine → 标签转发
  Leaf2 → 最内标签表示 VNI → 解 VXLAN

模式 2 更高效(减少 28 字节 IP+UDP 开销),
但要求 VTEP 支持 MPLS 标签转发。

2.3 华为配置示例

# DC GW(出口 Leaf)配置 VXLAN over SR-MPLS
#
# 1. SR-MPLS 隧道接口
interface Tunnel1
 description SR-MPLS-to-DC2
 ip address unnumbered interface LoopBack0
 tunnel-protocol mpls
 #
 destination 10.2.2.2                         # 远端 DC GW
 mpls te signal-protocol segment-routing
 mpls te tunnel-id 10001
 #
#
# 2. VXLAN 隧道指向 SR-MPLS 隧道
interface Nve1
 source 10.1.1.1
 #
 vni 10001 head-end peer-list protocol bgp
 #
# 3. 静态路由(VXLAN → SR-MPLS 隧道)
ip route-static vpn-instance Tenant-A 192.168.0.0 16 Tunnel1

三、控制面方案

3.1 方案 A:EVPN over SR-MPLS(统一控制面)

在所有场景统一使用 EVPN 作为控制面:

DC1
┌──────────┐  EVPN MP-BGP    ┌──────────┐
│ Spine(RR)│◄══════════════►│ Spine(RR)│
└────┬─────┘                └────┬─────┘
     │                          │
┌────┴─────┐              ┌────┴─────┐
│ Leaf1    │              │ Leaf3    │
│ VTEP     │              │ VTEP     │
└──────────┘              └──────────┘

EVPN 通过 BGP 传递跨 DC 的 Type 2/Type 3 路由
VXLAN 隧道跨 DC(封装在 SR-MPLS 中)
控制面统一,管理简单

配置:
  bgp 65001
   peer 10.1.0.1 as-number 65001           # 本地 RR
   #
   l2vpn-family evpn
    peer 10.1.0.1 enable
    #

  # 跨 DC 场景,可能需要 eBGP 对等
  bgp 65001
   peer 10.2.0.1 as-number 65002           # 对端 DC RR
   peer 10.2.0.1 ebgp-max-hop 10
   #
   l2vpn-family evpn
    peer 10.2.0.1 enable
    #

3.2 方案 B:分层控制面

分层:DC 内 EVPN,DC 间 SR-TE

DC1 DC2 | EVPN(DC内控制面) Leaf ↔ Spine(RR) | | EVPN(DC内控制面) Leaf ↔ Spine(RR) | | --- | --- | --- | │ │ | DC GW (AS 65001) | ◄── SR-TE (eBGP) ─► | DC GW (AS 65002) | | --- | --- | --- |

DC 内部:标准 VXLAN + EVPN DC 之间:DC GW 之间建立 SR-MPLS TE 隧道 DC GW 做 VXLAN ↔ SR-MPLS 转换

优点: DC 内部和 WAN 的控制面解耦 各自独立优化 WAN 侧可以使用 SR-TE 路径优化


四、关键设计考虑

4.1 MTU 问题

VXLAN over SR-MPLS 的 MTU 问题更加突出:

单 VXLAN 开销:50 字节
+ MPLS 标签栈:4×N 字节(N=标签个数,一般 2-4 个)
+ Underlay MAC 头:14 字节

总计额外开销:~70-80 字节

建议物理 MTU:
  交换机之间:MTU 9216(Jumbo Frame)
  至少:MTU 1600

配置:
  # 物理端口
  interface 100GE1/0/1
   mtu 9216

  # VXLAN 隧道
  interface Nve1
   mtu 1550                                 # VXLAN 内部 MTU

4.2 ECMP 兼容性

VXLAN over SR-MPLS 的 ECMP:

情况 1:VXLAN-in-IP 再进 SR-MPLS

  ECMP 可以使用外层 IP 五元组哈希
  VXLAN 外层 IP 五元组不同流差异大
  ECMP 效果好

情况 2:VXLAN 直接进 MPLS

  只有 MPLS 标签可用于哈希
  如果所有流的 MPLS 标签栈相同 → ECMP 效果差
  需要 Entropy Label(RFC 6790)

  # 华为 Entropy Label 配置
  segment-routing
   entropy-label enable                      # 开启熵标签
   entropy-label read-only                  # 只读(不改标签)

  Entropy Label 原理:
    在 MPLS 标签栈中加入随机标签(ELI + EL)
    每流不同的 EL → 不同哈希 → 均匀 ECMP

4.3 保护倒换

VXLAN over SR-MPLS 的保护:

SR-MPLS 提供 FRR(< 50ms):
  TI-LFA(Topology-Independent Loop-Free Alternate)

  链路故障:
    故障点自动快速重路由
    VXLAN 层完全无感知

  节点故障:
    SR-MPLS 自动收敛
    VXLAN 隧道自动切换到备用路径

VXLAN 层的保护:
  EVPN Type 2 路由的多路径(ECMP)
  Anycast Gateway(故障切换)

分层保护协同:
  Underlay(SR-MPLS):FRR < 50ms
  Overlay(VXLAN+EVPN):BGP 收敛 < 1s
  整体保护:< 1s(主要取决于 BGP 收敛)

五、典型部署案例

5.1 双数据中心 DCI

需求: DC1 北京,DC2 上海 租户 VNI 10001 跨 DC 二层互通 WAN 链路使用 SR-MPLS 承载

方案: | ┌──────────┐ SR-MPLS Tunnel ┌──────────┐ | | | | --- | --- | --- | | DC1(BJ) Leaf1---- Leaf2---- | ◄══════════════════════════► 带宽:100G × 4 ---- VXLAN VNI 10001 ----- | DC2(SH) ----Leaf3 ----Leaf4 |

配置要点: 1. DC1 GW 和 DC2 GW 之间建立 SR-MPLS TE 隧道 2. VXLAN VTEP 指向对端 DC(VXLAN over SR-MPLS) 3. EVPN 跨 DC 发布 Type 2/Type 3 路由 4. RT 互相导入(跨 DC 统一规划)

DCI 带宽计算: 4 × 100G SR-MPLS 隧道 Min(DC1 出口带宽, 隧道带宽) = 400G 可用于 VNI 10001 的跨 DC 带宽

5.2 数据中心到 MPLS WAN

需求: DC 内 VXLAN 接入 企业站点通过 MPLS WAN 接入

       WAN(SR-MPLS)
Site ── PE ── P ── PE ── DC GW ── Leaf ── VM
│ VXLAN
VM

接入流程: 企业站点 → MPLS WAN(L3VPN) MPLS PE → DC GW → VXLAN 解封装 DC GW → Leaf → VM

配置要点: DC GW 既是 MPLS PE,又是 VXLAN GW 同时运行 MPLS L3VPN 和 EVPN 实现 VRF ↔ VNI 的路由互通


六、趋势:全面 SRv6

VXLAN over SR-MPLS 是过渡方案,
未来趋势是 SRv6(IPv6 分段路由)。

                  VXLAN over IP    VXLAN over SR-MPLS    SRv6
───────────────────────────────────────────────────────────────
封装层次        VXLAN/UDP/IP      VXLAN/UDP/IP/MPLS    IPv6 SRH
中间节点状态    无状态             MPLS 转发             无状态
TE 能力        无                强(标签栈)           强(SRH)
FRR            无(BGP收敛)      <50ms(TI-LFA)        <50ms
Overlay 能力    强(VXLAN)        VXLAN/VPN             集成 SR
控制面          EVPN               EVPN/SR-BGP           EVPN/SR
IPv6 要求       可选               可选                    必须

SRv6 统一承载:
  用 IPv6 扩展头(SRH)替代 MPLS 标签栈
  VXLAN 作为 Overlay 不变
  简化网络层次

七、总结

知识点 核心要点
VXLAN+SR-MPLS 结合 VXLAN 的 Overlay 能力和 SR-MPLS 的 TE/FRR 能力
封装结构 原始帧 → VXLAN → UDP → IP → MPLS 标签栈
控制面 EVPN 统一控制面,或分层(DC 内 EVPN,DC 间 SR-TE)
MTU 总开销 70-80 字节,建议端口 MTU ≥ 1600
ECMP Entropy Label 解决纯 MPLS 模式的 ECMP 不均
保护 SR-MPLS FRR < 50ms + EVPN 收敛 < 1s
适用场景 DCI、DC 出口到 WAN、MPLS→VXLAN 迁移
未来趋势 SRv6 统一承载,简化网络层次

八、思考

  1. VXLAN over SR-MPLS 的封装层次从上到下是什么?总开销约多少字节?
  2. 在 DCI 场景中,VXLAN over SR-MPLS 相比纯 VXLAN over IP 有哪些额外优势?
  3. Entropy Label 解决什么问题?在 VXLAN over MPLS 模式下,如果不用 Entropy Label,ECMP 为什么可能不均?
  4. 分层控制面方案中,DC 内是 EVPN,DC 间是 SR-TE,这种设计的优点是什么?
  5. SRv6 和 SR-MPLS 的主要区别是什么?为什么说 SRv6 是未来统一承载的趋势?

下篇预告:第262篇《数据中心互联(DCI)方案:VXLAN over WAN》——DCI 的多种方案对比、Overlay 方式、WAN 优化技术与跨数据中心故障处理。