第185篇:SR-BE(Best Effort)与 SR-TE(Traffic Engineering)
关键词
SR-BE、SR-TE、Steering、Color、Flex-Algo、SR Policy、Candidate Path
一、SR-BE(SR Best Effort)
1.1 概念
SR-BE 是 SR-MPLS 的基本转发模式:
操作:
Ingress 压入一个 Prefix-SID(Node-SID)
中间节点按 IGP 最短路径转发
Egress 弹出标签
等价于:LDP 的 LSP,但不需要 LDP!
1.2 转发示例
R1 发往 R4(Node-SID = 104):
Segment List = [104]
R1:Push 104 → 发送
R2:IGP 路由:到 4.4.4.4 最优下一跳 = R3 → 标签 104 → 转发
R3:IGP 路由:到 4.4.4.4 直连 → PHP 弹出 → IP → R4
路径 = IGP 最短路径
如果 IGP 最短路径是 R2→R3,就走 R2→R3
如果 R2→R3 中断,IGP 收敛后走 R2→R5→R3
1.3 SR-BE 的特点
| 特性 | 说明 |
|---|---|
| 路径 | IGP 最短路径(SPF 计算) |
| Segment List | 仅一个 Prefix-SID |
| 状态 | Transit 无状态(只维护 IGP) |
| 可靠性 | IGP 收敛自动恢复 |
| TE 能力 | 无(不走指定路径) |
| 保护 | TI-LFA(可选) |
二、SR-TE(SR Traffic Engineering)
2.1 概念
SR-TE 是 SR-MPLS 的流量工程模式:
操作:
Ingress 压入多个 SID 组成的 Segment List
中间节点按 Segment List 指定的路径转发
Egress 弹出
等价于:MPLS TE,但不需要 RSVP-TE!
2.2 转发示例
R1 需要流量走 R2 → R5 → R3 → R4(避开 R2-R3 直接链路):
Segment List = [Adj-SID(R2→R5), Prefix-SID(R4)]
R1:Push {Adj-SID=105, Node-SID=104}
R2:栈顶=105 → 从指定接口到 R5 → Pop 105 → 剩下 {104}
R5:栈顶=104 → IGP 最短路径到 R4
R3:继续转发 → R4
R4:Pop
全程无需 RSVP-TE 信令!
2.3 SR-TE 的特点
| 特性 | 说明 |
|---|---|
| 路径 | Segment List 精确指定 |
| Segment List | 多个 SID 编码整条路径 |
| 状态 | 仅 Ingress 维护 SR-TE Policy |
| 信令 | 不需要 RSVP-TE |
| 带宽预留 | 支持(通过控制器或策略) |
| 保护 | 主备 Candidate Path |
三、SR Policy
3.1 概念
SR Policy(SR 策略) 是 SR-TE 的配置单元,定义了:
SR Policy = 头端(Ingress)+ Color + 端点(Endpoint)
其中 Color 是流量引导的关键:
- Color = 100 → 低延迟路径
- Color = 200 → 大带宽路径
- Color = 300 → 避开某条链路
3.2 SR Policy 结构
SR Policy(Headend=R1, Color=100, Endpoint=R4)
│
├─ Candidate Path 1(主路径,Priority=100)
│ Segment List: [105, 104]
│ Preference: 100
│
├─ Candidate Path 2(备路径,Priority=50)
│ Segment List: [106, 107, 104]
│ Preference: 50
│
└─ Candidate Path 3(动态 CSPF 计算)
Constraints: 带宽=100M, 避开特定链路
3.3 配置示例
# 华为设备 SR-TE Policy 配置
segment-routing
traffic-engineering
#
policy SR_POLICY_1
color 100
endpoint 4.4.4.4
#
candidate-path preference 100
explicit segment-list PATH_A
#
candidate-path preference 50
explicit segment-list PATH_B
#
candidate-path preference 10
type dynamic
constraints
bandwidth 100000 # 带宽约束
affinity include-any 0x01 # 亲和属性
#
segment-list PATH_A
index 10 sid mpls adjacency 10.1.2.2 # Adj-SID
index 20 sid mpls label 104 # Node-SID
#
segment-list PATH_B
index 10 sid mpls adjacency 10.1.1.2
index 20 sid mpls adjacency 10.1.5.2
index 30 sid mpls label 104
四、流量引导(Steering)
流量进入 SR-TE Policy 的方式:
4.1 基于 Color 的引导
BGP 路由携带 Color Community:
10.0.0.0/24 → Color: 100
匹配 SR Policy (Color=100, Endpoint=4.4.4.4)
流量走 SR_TE_POLICY_1
4.2 基于策略的路由
# 将特定 ACL 匹配的流量导入 SR Policy
traffic classifier VOICE
if-match acl 3000
!
traffic behavior TO_SR_POLICY
redirect sr-policy color 100 endpoint 4.4.4.4
!
traffic policy STEER
classifier VOICE behavior TO_SR_POLICY
!
interface GigabitEthernet0/0/0
traffic-policy STEER inbound
4.3 自动引导(基于隧道)
# 将静态路由指向 SR Policy
ip route-static 10.0.0.0 16 sr-policy color 100 endpoint 4.4.4.4
五、Flex-Algo(灵活算法)
5.1 概念
Flex-Algo 是 IGP 的扩展,允许定义自定义的路径计算算法:
标准 IGP SPF:基于 IGP Metric(Cost)
Flex-Algo 128:基于延迟(Latency)
Flex-Algo 129:基于 TE Metric
Flex-Algo 130:避开特定链路(亲和属性)
5.2 示例
定义 Flex-Algo:
flex-algo 128
metric-type delay # 基于延迟
affinity
include-any 0x01 # 仅使用光纤链路
!
flex-algo 129
metric-type te-metric # 基于 TE Metric
affinity
exclude-any 0x04 # 避开卫星链路
使用 Flex-Algo 的 Prefix-SID:
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
isis prefix-sid index 104
isis prefix-sid index 204 128 # Flex-Algo 128 的 Node-SID
isis prefix-sid index 304 129 # Flex-Algo 129 的 Node-SID
六、SR-BE vs SR-TE 对比
| 对比维度 | SR-BE | SR-TE |
|---|---|---|
| 路径 | IGP 最短路径 | 显式路径/策略 |
| Segment List | 单个 Prefix-SID | 多个 SID |
| 控制方式 | IGP 自动 | 策略配置 |
| 带宽保障 | 无 | 支持(结合控制器) |
| 延迟保障 | 无 | 支持(Flex-Algo) |
| 保护 | TI-LFA | 主备 Candidate Path |
| 配置复杂度 | 低 | 中-高 |
| 适用场景 | 普通业务 | 关键业务、流量调优 |
七、典型应用场景
| 场景 | 使用模式 |
|---|---|
| 普通上网流量 | SR-BE(走最短路径) |
| 语音流量 | SR-TE + Flex-Algo 128(低延迟路径) |
| 视频流量 | SR-TE + 带宽约束(大带宽路径) |
| 数据中心互联 | SR-TE(指定路径避开拥塞) |
| 故障快速恢复 | SR-BE + TI-LFA(自动切换) |
八、总结
| 知识点 | 核心要点 |
|---|---|
| SR-BE | 单 Prefix-SID,IGP 最短路径,无需 LDP |
| SR-TE | 多 SID Segment List,精确路径控制 |
| SR Policy | 头端 + Color + Endpoint,定义 TE 策略 |
| Candidate Path | 策略中的候选路径(主/备) |
| Steering | 流量引导到 SR-TE Policy 的机制 |
| Flex-Algo | 自定义 IGP 算法(按延迟/TE 等) |
九、思考
- SR-BE 和 SR-TE 在 Segment List 长度和路径控制上有何不同?
- SR Policy 由哪些要素组成?Color 在 SR Policy 中起什么作用?
- Flex-Algo 是做什么的?它如何支持自定义路径计算?
- 流量如何被引导到 SR-TE Policy 中?
- 如果一个业务需要走低延迟路径,应该使用 SR-BE 还是 SR-TE?
下篇预告:第186篇《SRv6 基础:IPv6 扩展头与 SID》——进入 SRv6 的世界,理解如何在 IPv6 数据面实现 Segment Routing。