第185篇:SR-BE(Best Effort)与 SR-TE(Traffic Engineering)

关键词:SR-BE、SR-TE、流量工程、Color、TE Policy、CSPF、约束路径、最优路径

一、引言

在 SR-MPLS 体系中,流量转发分为两种模式:SR-BE(Best Effort,尽力而为)和 SR-TE(Traffic Engineering,流量工程)。SR-BE 沿 IGP 最短路径转发,不关心链路带宽、负载等约束条件;SR-TE 则由 Head-End 根据约束条件(如带宽、affinity、显式路径)计算最优路径,实现对网络流量的精细化控制。

理解 SR-BE 与 SR-TE 的差异及适用场景,是设计高效 SR-MPLS 网络的基础。

二、核心概念

2.1 SR-BE 与 SR-TE 对比

维度 SR-BE SR-TE
路径选择 IGP 最短路径(SPF) 约束最短路径(CSPF)
约束条件 无 带宽、Affinity、显式路径、Cost
计算位置 无计算,IGP FIB 直接转发 Head-End CSPF 计算
标签栈 单标签(目的 Node-SID) 多层标签(TE Segment List)
负载分担 ECMP 自动分担 按策略绑定特定路径
典型场景 普通数据流量 关键业务、跨域流量、带宽保障

SR-BE 与 SR-TE 对比 - 图示

2.2 SR-TE Policy 组成

组件 说明
Color 流量分类标识,整网唯一(建议 ≥ 10000)
Endpoint TE 策略的目的端点(Node-SID 或 LoopBack)
Candidate Path 候选路径,包含显式路径和自动路径
Explicit Path 显式路径,指定经过的节点或链路
Auto Path 自动路径,由 CSPF 算法计算

2.3 CSPF 约束条件

约束类型 说明
带宽约束 路径上每跳剩余带宽 ≥ 请求带宽
Affinity 约束 路径必须匹配/避开特定颜色标记的链路
显式路径约束 路径必须按指定顺序经过特定节点
Admin Distance 候选路径的优先级,值越小优先级越高

2.4 候选路径优先级

优先级(Admin Distance) 路径类型 说明
10(默认,最高) Explicit Path(严格) 必须精确经过指定节点
20 Auto Path CSPF 自动计算
30 Explicit Path(松散) 经过指定节点,中间段自主决定

三、技术细节

3.1 SR-TE Policy 触发流程

SR-TE Policy 触发流程 - 图示

3.2 SR-BE 标签栈操作

步骤 标签栈 说明
入口 [18] 压入目的 Node-SID=18 的单标签
中间跳 [18] 基于标签18查 FIB,转发到下一跳
到达目的 [] Pop 标签18,执行 IP 转发

3.3 SR-TE 标签栈操作

步骤 标签栈 说明
入口 [19, 16004, 18] 压入 TE Segment List(逆序)
到达SID 18 [19, 16004] Pop 标签18,暴露 Adj-SID
沿Adj-SID转发 [19] Pop 标签16004,到达指定链路
到达SID 19 [] Pop 标签19,执行 IP 转发

3.4 SR-TE 路径切换机制

事件 处理方式
链路带宽不足 CSPF 重新计算,选择带宽充足的路径
链路故障 删除受影响的路径,激活次优候选路径
新链路上线 CSPF 重新评估,可能切换到新路径
策略修改 更新 SR-TE Policy,重新计算路径

四、实战配置/案例分析

4.1 SR-TE Policy 配置

# ========== SR-TE Policy配置(RouterA→RouterD) ==========
[ SR-RouterA ] segment-routing policy color 10001
[ SR-RouterA-segment-routing-policy-10001 ] color 10001
[ SR-RouterA-segment-routing-policy-10001 ] endpoint 4.4.4.4
  # Endpoint: RouterD LoopBack

# --- 候选路径1: 显式路径(严格) ---
[ SR-RouterA-segment-routing-policy-10001 ] candidate-path 10
[ SR-RouterA-segment-routing-policy-10001-cpath-10 ] admin-distance 10
[ SR-RouterA-segment-routing-policy-10001-cpath-10 ] explicit-path
[ SR-RouterA-segment-routing-policy-10001-cpath-10-explicit-path ] nexthop 10.0.0.2
  # 第一跳: RouterB的接口IP
[ SR-RouterA-segment-routing-policy-10001-cpath-10-explicit-path ] nexthop 17
  # 经过: RouterB(Node-SID=17)
[ SR-RouterA-segment-routing-policy-10001-cpath-10-explicit-path ] nexthop 10.0.2.1
  # 到: RouterC的接口IP
[ SR-RouterA-segment-routing-policy-10001-cpath-10-explicit-path ] nexthop 19
  # 终点: RouterD(Node-SID=19)

# --- 候选路径2: 自动路径(备选) ---
[ SR-RouterA-segment-routing-policy-10001 ] candidate-path 20
[ SR-RouterA-segment-routing-policy-10001-cpath-20 ] admin-distance 20
[ SR-RouterA-segment-routing-policy-10001-cpath-20 ] auto-path
  # CSPF自动计算,作为备份路径

4.2 SR-BE 流量绑定到 SR-TE

# ========== 将BGP路由绑定到SR-TE Policy ==========
[ SR-RouterA ] bgp 65001
[ SR-RouterA-bgp ] ipv4-family unicast
[ SR-RouterA-bgp-af ] import-route direct
[ SR-RouterA-bgp-af ] segment-routing
[ SR-RouterA-bgp-af ] segment-routing color 10001 binding-label 20001
  # 将BGP路由绑定到Color=10001的SR-TE Policy
  # Binding Label=20001,用于FIB中匹配

# ========== SR-BE流量(默认) ==========
# 未绑定SR-TE Policy的流量走SR-BE(IGP最短路径)
< SR-RouterA > display ip routing-table 4.4.4.4
  Destination: 4.4.4.4/32
  Protocol: IS-IS
  Cost: 20
  NextHop: 10.0.0.2 (最短路径)
  # 使用SR-BE标签: [19]

4.3 故障排查:SR-TE Policy 未生效

故障场景:SR-TE Policy 配置完成后,流量仍走 SR-BE 最短路径,未按 TE 路径转发。

# Step 1: 检查SR-TE Policy状态
<SR-RouterA> display segment-routing policy
  Color: 10001
  Endpoint: 4.4.4.4
  State: Inactive
  Active-Candidate-Path: None
  # Policy处于Inactive状态!

# Step 2: 检查候选路径状态
<SR-RouterA> display segment-routing policy candidate-path
  Candidate-Path: 10
  Type: Explicit
  State: Unsatisfied
  # Unsatisfied: 显式路径不可达

# Step 3: 排查显式路径节点
<SR-RouterA> display isis peer brief
  # 检查RouterB是否可达
  # 发现RouterB的链路Down

# Step 4: 检查自动路径
<SR-RouterA> display segment-routing policy candidate-path 20
  Candidate-Path: 20
  Type: Auto
  State: Active
  # Auto Path已激活(因为显式路径不可达)

# Step 5: 修复链路后验证
<SR-RouterA> display segment-routing policy
  Color: 10001
  State: Active
  Active-Candidate-Path: 10
  # 显式路径恢复,Policy激活

# Step 6: 验证流量路径
<SR-RouterA> display mpls tunnel-traffic-engineering
  Tunnel: SR-TE-10001
  Path: [17, 18, 19]
  # 流量沿TE路径转发

五、总结

项目 要点
SR-BE 沿 IGP 最短路径转发,标签栈仅含目的 Node-SID
SR-TE CSPF 计算约束路径,标签栈含完整 TE Segment List
SR-TE Policy 由 Color + Endpoint 标识,包含多个候选路径
候选路径 显式路径(精确控制)和自动路径(CSPF 计算)
约束条件 带宽、Affinity、显式路径顺序
路径切换 主路径不可用时自动激活次优候选路径

思考

  1. SR-BE 沿 IGP 最短路径转发。如果最短路径上的链路带宽已经饱和,SR-BE 流量是否会自动切换到次优路径?为什么?
  2. SR-TE Policy 的 Color 值是否必须全网唯一?如果两台不同的 Head-End 配置了相同 Color 的 Policy,会发生什么?
  3. SR-TE 的 Auto Path(CSPF 自动计算)与 SR-BE 都是基于 IGP 拓扑计算,两者有什么区别?

下篇预告:第186篇:SRv6 基础:IPv6 扩展头与 SID