第190篇:SRv6 与 EVPN 的深度融合

关键词:SRv6 EVPN、VXLAN over SRv6、EVPN IPAD、EVPN EVI、BGP SRv6、跨域互联、云网融合

一、引言

EVPN(Ethernet VPN)在第173~177篇中已深入讨论,它是数据中心和广域网中虚拟二层/三层网络的事实标准。SRv6 与 EVPN 的融合,将 EVPN 的虚拟网络隔离能力与 SRv6 的源路由和网络编程能力结合,构建了一个统一的、跨数据中心和广域网的虚拟网络基础设施。

SRv6 + EVPN 的融合主要体现在三个方面:SRv6 作为 EVPN 的 Underlay 传输、EVPN 作为 SRv6 的 Overlay 虚拟化层、以及 SRv6 SID 与 EVPN 路由的交互。

二、核心概念

2.1 SRv6 + EVPN 架构分层

层级 技术 职责
Underlay SRv6(IPv6 网络) 提供 VTEP 间的 IPv6 连通性和 TE 路径
Overlay VXLAN/EVPN 构建跨物理网络的虚拟二层/三层
控制面 BGP EVPN + BGP SRv6 路由分发、MAC/IP 学习、SID 通告
数据面 SRv6 SRH + VXLAN 封装 源路由路径 + 虚拟网络转发

SRv6 + EVPN 架构分层 - 图示

2.2 EVPN over SRv6 的优势

维度 EVPN over IP(传统) EVPN over SRv6
Underlay 路由 静态路由/OSPF/IS-IS SRv6 BE/TE
多路径 ECMP(IGP 最短路径) SRv6 TE Policy(灵活选路)
业务隔离 仅 VNI 隔离 VNI 隔离 + SRv6 TE 路径隔离
跨域互联 BGP 全表交换 SRv6 TE 跨域路径
网络编程 不支持 支持(SID 嵌入服务链)
运维可见性 标签/隧道不可见 IPv6 SID 可读可理解

2.3 EVPN Route Type 与 SRv6 交互

EVPN Route Type 说明 与 SRv6 交互
Type 1:ES(Ethernet Segment) 多归 ES 信息 无直接交互
Type 2:MAC/IP AD MAC/IP 地址通告 SRv6 SID 作为 Next-Hop
Type 3:IP AD VTEP 可达性通告 SRv6 SID 作为 Next-Hop
Type 4:IP Prefix IP 前缀路由通告 SRv6 SID 作为 Next-Hop
Type 5:IP Prefix(MP-BGP) 传统 IP 路由 SRv6 SID 作为 Next-Hop
Type 6:MAC Mobility MAC 移动通告 无直接交互

2.4 EVPN IPAD(Type 3)路由中的 SRv6 Next-Hop

在 SRv6 + EVPN 架构中,EVPN Type 3 IPAD 路由的 Next-Hop 字段可以携带 SRv6 SID:

字段 传统 EVPN SRv6 EVPN
Next-Hop VTEP IPv4 地址 VTEP SRv6 SID(IPv6)
Path 选择 IGP 最短路径 SRv6 TE Policy(可选)
路径控制 无 TE Policy 绑定

三、技术细节

3.1 SRv6 EVPN VTEP 架构

SRv6 EVPN VTEP 架构 - 图示

3.2 SRv6 TE Policy 与 EVPN VNI 绑定

绑定方式 说明
VNI 到 Color 映射 每个 VNI 映射到特定的 TE Color,实现租户级路径隔离
VNI 到 TE Policy 映射 直接将 VNI 绑定到具体的 TE Policy
全局 TE Policy 所有 VNI 共享同一个 TE Policy(成本最优)

3.3 SRv6 EVPN 跨域互联

场景 传统 EVPN SRv6 EVPN
跨域路由 BGP 全路由交换 SRv6 TE 跨域路径 + BGP 选路
跨域 MAC 学习 EVPN 跨域 Type 2 路由 EVPN 跨域 + SRv6 SID Next-Hop
跨域流量工程 无 SRv6 TE Policy 跨域选路

3.4 SRv6 EVPN 与 VXLAN 对比

对比项 VXLAN over IP VXLAN over SRv6
Underlay 协议 IPv4(静态/OSPF/IS-IS) IPv6(SRv6)
VTEP 寻址 IPv4 IPv6(SRv6 SID)
路径选择 IGP SPF SRv6 BE/TE
多租户隔离 VNI(24 位) VNI + SRv6 Locator(双重隔离)
封装开销 50 字节(VXLAN + UDP + IPv4) 50 + SRH(可变)

四、实战配置/案例分析

4.1 SRv6 EVPN VTEP 配置

# ========== VTEP1 SRv6 EVPN配置 ==========
< Huawei > system-view
[ Huawei ] sysname SRv6-VTEP1

# --- 全局SRv6 ---
[ SRv6-VTEP1 ] ipv6
[ SRv6-VTEP1 ] srv6
[ SRv6-VTEP1 ] srv6 locator VTEP1-LOC
[ SRv6-VTEP1-srv6-locator-VTEP1-LOC ] prefix 2001:DB8:1000::/48
[ SRv6-VTEP1-srv6-locator-VTEP1-LOC ] length 128

# --- SRv6 Node-SID ---
[ SRv6-VTEP1 ] srv6 sid 2001:DB8:1000::1 behavior End
[ SRv6-VTEP1-srv6-sid-2001:DB8:1000::1 ] locator VTEP1-LOC
[ SRv6-VTEP1-srv6-sid-2001:DB8:1000::1 ] commit

# --- BGP EVPN ---
[ SRv6-VTEP1 ] bgp 65001
[ SRv6-VTEP1-bgp ] router-id 1.1.1.1
[ SRv6-VTEP1-bgp ] ipv6 unicast-ui
[ SRv6-VTEP1-bgp ] address-family evpn
[ SRv6-VTEP1-bgp-evpn ] peer 2.2.2.2 as-number 65001
[ SRv6-VTEP1-bgp-evpn ] peer 3.3.3.3 as-number 65001

# --- VXLAN VNI配置 ---
[ SRv6-VTEP1 ] vxlan vni 100
[ SRv6-VTEP1-vxlan-vni-100 ] route-distinguisher 2001:DB8:1000::1:100
[ SRv6-VTEP1-vxlan-vni-100 ] route-target both evpn 100:100
[ SRv6-VTEP1-vxlan-vni-100 ] vxlan-source-interface LoopBack 0
[ SRv6-VTEP1-vxlan-vni-100 ] mac-ip-advertisement enable
[ SRv6-VTEP1-vxlan-vni-100 ] vxlan destination-interface LoopBack 0
[ SRv6-VTEP1-vxlan-vni-100 ] destination 2001:DB8:1000::2 vni 100
[ SRv6-VTEP1-vxlan-vni-100 ] destination 2001:DB8:1000::3 vni 100

# --- SRv6 TE Policy(VNI到TE绑定) ---
[ SRv6-VTEP1 ] srv6 te-policy color 10001 endpoint 2001:DB8:1000::2
[ SRv6-VTEP1-srv6-te-policy-10001 ] color 10001
[ SRv6-VTEP1-srv6-te-policy-10001 ] endpoint 2001:DB8:1000::2
[ SRv6-VTEP1-srv6-te-policy-10001 ] candidate-path 10
[ SRv6-VTEP1-srv6-te-policy-10001-cpath-10 ] auto-path
[ SRv6-VTEP1-srv6-te-policy-10001 ] commit

4.2 EVPN Type 3 IPAD 路由与 SRv6 SID

# ========== 查看EVPN路由(SRv6 Next-Hop) ==========
<SRv6-VTEP1> display bgp evpn routing-table
  Route Distinguisher: 2001:DB8:1000::2:100
  Route Type: Type-3(IP-AD)
  Originator IP: 2001:DB8:1000::2
  Ingress Node: 2001:DB8:1000::2
  Next-Hop: 2001:DB8:1000::2 (SRv6 SID)
  # Next-Hop为SRv6 SID(而非传统IPv4地址)

# ========== 查看VXLAN隧道 ==========
<SRv6-VTEP1> display vxlan tunnel
  Tunnel: VTEP1→VTEP2
  Source: 2001:DB8:1000::1
  Destination: 2001:DB8:1000::2 (SRv6 SID)
  VNI: 100
  State: Up
  # VXLAN隧道使用SRv6 SID作为目的地址

4.3 故障排查:SRv6 EVPN 隧道建立失败

故障场景:VTEP1 与 VTEP2 之间的 VXLAN 隧道无法建立,EVPN 路由无法正常转发。

# Step 1: 检查VXLAN隧道状态
<SRv6-VTEP1> display vxlan tunnel
  Tunnel: VTEP1→VTEP2
  State: Down
  Reason: Destination Unreachable

# Step 2: 检查SRv6 SID路由
<SRv6-VTEP1> display ipv6 routing-table 2001:DB8:1000::2
  Destination: 2001:DB8:1000::2/128
  Protocol: IS-IS
  NextHop: 2001:DB8:FEED::2
  # 路由可达

# Step 3: 检查SRv6连通性
<SRv6-VTEP1> ping -n 2001:DB8:1000::2
  # 无响应!
  # 根因: 虽然IGP路由存在,但SRv6路径不通

# Step 4: 检查SRv6接口
<SRv6-VTEP1> display srv6 interface
  Interface 100GE1/0/1: SRv6 Disabled
  # 根因: 接口未使能SRv6!

# Step 5: 修正
[SRv6-VTEP1] interface 100ge 1/0/1
[SRv6-VTEP1-100GE1/0/1] srv6
  # 接口启用SRv6

# Step 6: 验证连通性
<SRv6-VTEP1> ping -n 2001:DB8:1000::2
  Success rate: 100%
  # SRv6连通性恢复

# Step 7: 检查EVPN隧道
<SRv6-VTEP1> display vxlan tunnel
  Tunnel: VTEP1→VTEP2
  State: Up
  # VXLAN隧道建立成功

# Step 8: 验证EVPN业务
<SRv6-VTEP1> display bgp evpn routing-table
  # Type-2 MAC/IP AD路由正常学习
  # Type-3 IP AD路由正常通告

五、总结

项目 要点
SRv6 + EVPN 架构 Underlay = SRv6(IPv6 传输),Overlay = EVPN/VXLAN(虚拟网络)
VTEP 寻址 VTEP 使用 SRv6 SID(IPv6 地址)而非传统 IPv4 地址
路径控制 SRv6 TE Policy 为不同 VNI 提供差异化路径,实现租户级 TE
EVPN 路由交互 EVPN Type 3/4/5 路由的 Next-Hop 使用 SRv6 SID
多租户隔离 VNI(Overlay 隔离)+ SRv6 TE Policy(Underlay 路径隔离)双重隔离
跨域互联 SRv6 TE 跨域路径 + EVPN 跨域路由,统一覆盖多地域

思考

  1. SRv6 EVPN 中,VTEP 间 VXLAN 隧道的 Underlay 传输使用 SRv6。如果 SRv6 TE Policy 失效,VXLAN 隧道是否会自动降级到 SR-BE?还是直接中断?
  2. EVPN Type 3 IPAD 路由的 Next-Hop 使用 SRv6 SID。如果 SRv6 SID 对应的节点故障,EVPN 路由表中的 MAC 表项是否会失效?
  3. SRv6 + EVPN 的封装开销(SRH + VXLAN + UDP + IPv6)显著大于传统 VXLAN over IPv4。在 100G 链路上,这个额外开销对有效吞吐量的影响有多大?

下篇预告:第191篇:运营商 MPLS 骨干网设计案例