关键词:IS-IS、SR-MPLS、Segment Routing、SRv6、TI-LFA、TE、Flex-Algorithm、部署演进

第80篇:IS-IS over SR-MPLS 的部署演进

一、引言

随着网络规模的扩大和业务需求的多样化,传统 IS-IS 的单一最短路径已经无法满足复杂的流量调度需求。SR-MPLS(Segment Routing over MPLS)作为新一代流量工程方案,与 IS-IS 结合后,为网络提供了可编程的转发路径、高效的保护机制和简化的运维模式。

IS-IS over SR-MPLS 的部署演进代表了 IGP 协议从"单纯路由"到"路由+转发编程"的转型,是当前运营商骨干网和大型企业网的主流技术方向。

二、核心概念

2.1 SR-MPLS 基本原理

SR-MPLS(Segment Routing over MPLS)通过 MPLS 标签栈实现路径编程:

概念 说明
Segment(段) 网络中一个有明确意义的路径片段,用 MPLS 标签表示
Segment List(段列表) 多个 Segment 的有序集合,定义一条完整路径
SID(Segment Identifier) 段的唯一标识符,映射到 MPLS 标签
SRGB(Segment Routing Global Block) 全局 SID 标签范围
Node SID 标识目标节点的 SID,等价于到目标的最短路径
Adj-SID(Adjacency SID) 标识特定出方向的 SID,用于强制流量走特定链路

2.2 IS-IS 在 SR-MPLS 中的角色

IS-IS 协议通过扩展 TLV 来分发 SR 相关的路由和标签信息:

TLV 类型 名称 作用
137(扩展) Router-TE Reachability 分发 TE 度量信息(RFC 5305)
140 Router-Address 分发 Loopback 地址(RFC 5305)
141 TE-Default-Traffic-Parameters TE 默认流量参数
148(扩展) IS Reachability 分发 TE 邻接度量
2029 SRv6 Capability SRv6 能力(RFC 8667)
2426 SR-Algorithm SR 算法定义(RFC 8665)
2427 SR-Algorithm-Range SR 算法范围

2.3 SR-MPLS 的部署阶段

IS-IS over SR-MPLS 的部署通常分为以下阶段:

阶段 部署内容 目标
阶段1:IS-IS 基础优化 宽度量、MT-ISIS、TE 为 SR 做准备
阶段2:SR Global Block 规划 SRGB 范围、Node SID 分配 SID 地址规划
阶段3:SR 策略部署 SR Policy、Explicit Path 流量工程策略
阶段4:SR 保护部署 TI-LFA、BFD 快速保护和检测
阶段5:SRv6 演进 SRv6 SID、End 行为 IPv6 承载演进

2.4 Node SID 与 Adj-SID 的分配

SID 类型 分配方式 作用
Node SID 全局唯一,通常按 Router ID 顺序分配 表示到目标节点的最短路径
Adj-SID(出向) 本地有效,标识特定出接口/邻居 强制流量走指定链路
Adj-SID(反向) 本地有效,标识反向链路 用于保护路径
Binding SID 全局或本地,绑定到 SR Policy 表示一条显式路径

三、技术细节

3.1 SR-MPLS 网络架构

SR-MPLS 网络架构 - 图示

数据包转发流程:

  1. CE1 发往 CE2 的流量到达 R1
  2. R1 匹配 SR Policy,压入标签栈:[16003, 16004],按顶部标签 16003 转发到 R3(Node SID 16003 = R3 最短路径)
  3. R3 弹出顶部标签 16003(自身 Node SID),暴露下一标签 16004,转发到 R4(Node SID 16004 = R4 最短路径)
  4. R4 弹出标签 16004(自身 Node SID),转发到 CE2

3.2 IS-IS 分发 SR 信息

IS-IS 通过扩展的 Router-TE Reachability TLV(137 扩展)分发 SR 信息:

子 TLV 名称 作用
SR Node SID 节点 SID 信息 通告自己的 Node SID 和 SRGB
SR Adjacency SID 邻接 SID 信息 通告特定邻接的 Adj-SID
SR Algorithm SR 算法 通告使用的 Flex-Algorithm

3.3 TI-LFA(Topology-Independent Loop-Free Alternate)

TI-LFA 是 SR-MPLS 提供的高效链路/节点保护机制:

保护类型 说明
链路保护 当出方向链路故障时,通过绕道路径转发
节点保护 当下一跳节点故障时,通过绕道路径转发
保护计算 基于 IS-IS 拓扑信息,离线计算绕道路径
保护激活 利用 Adj-SID 构造绕道路径的标签栈

TI-LFA(Topology-Independent Loop-Free Alternate) - 图示

3.4 Flex-Algorithm

Flex-Algorithm 是 IS-IS 中定义的可定制 SPF 算法:

特性 说明
算法编号 0 = 最短路径(默认),128~254 = 用户自定义
度量类型 可基于 IGP Metric、TE Metric、Delay 等
排除规则 可排除特定链路或节点
包含规则 可强制包含特定链路或颜色属性
应用 多租户、多业务、差异化 SLA

四、实战配置/案例分析

4.1 IS-IS 配置 SR-MPLS

# R1 配置 SR-MPLS
sysname R1
#
# 1. 配置宽度量(SR 前置条件)
isis 1
 net 49.0001.0000.0000.0001.00
 cost-style wide level-2

# 2. 配置 Loopback(作为 SR 头端和 Node SID 绑定地址)
interface LoopBack0
 ip address 10.0.0.1 32
#
# 3. 使能 SR 全局能力
segment-routing
 global-block 16000 23999            # SRGB: 16000~23999
 local-block 24000 24999             # 本地 SID 范围
#
# 4. 在 IS-IS 中使能 SR
isis 1
 segment-routing traffic-eng
  algorithm 0 enable                 # 使能默认算法(最短路径)
#
# 5. 配置 Node SID
interface LoopBack0
 ip address 10.0.0.1 32
 isis enable 1
 isis sr sid 16001                  # Node SID = 16001
#
# 6. 配置 Adj-SID(接口级别,可选自动分配)
interface GigabitEthernet0/0/0
 isis sr adjacent-sid 16001         # 出向 Adj-SID

4.2 配置 SR Policy

# R1 上配置 SR Policy(显式路径)
# 目标:CE1→R1→R3→R4→CE2(不走 R2)
#
# 定义 SR Policy
segment-routing policy color 100 destination 10.0.0.4
 segment-list explicit-path-1
#
# 定义段列表(Explicit Path)
segment-routing segment-list explicit-path-1
 index 10
  sid 16003                          # R3 Node SID
 index 20
  sid 16004                          # R4 Node SID
#
# 将策略应用到接口或流量分类
interface GigabitEthernet0/0/3       # CE1 接口
 isis enable 1

4.3 配置 TI-LFA 保护

# 全局使能 TI-LFA
segment-routing
 ti-lfa enable
#
# IS-IS 进程中也需启用
isis 1
 segment-routing traffic-eng
  ti-lfa enable
  algorithm 0 enable

4.4 验证 SR-MPLS 部署

# 查看 SR 全局配置
<R1> display segment-routing configuration
 SR Global Block : 16000 - 23999
 SR Local Block  : 24000 - 24999

# 查看 Node SID
<R1> display segment-routing sid index 16001
 SID Index     : 16001
 SID Type      : Node SID
 Mapping       : 10.0.0.1

# 查看 IS-IS 分发的 SR 信息
<R1> display isis sr local-block
#
# 查看 SR Policy
<R1> display segment-routing policy
#
# 查看 TI-LFA 保护路径
<R1> display segment-routing ti-lfa

4.5 案例分析:SR-MPLS 标签转发表异常

故障背景:R1 配置的 SR Policy 不生效,流量仍走最短路径而非显式路径。

排查:

# 检查 SR Policy 状态
<R1> display segment-routing policy
 Policy Name   : color 100 destination 10.0.0.4
 State         : Active              # 状态正常
 Segment List  : explicit-path-1
 Preference    : 30

# 检查是否有更高优先级的策略覆盖
<R1> display segment-routing policy detail
 # 发现有一条默认策略(最短路径)优先级为 50
 # 显式路径策略优先级 30 < 50,被最短路径覆盖

根因:SR Policy 的优先级(Preference)配置较低,默认最短路径策略优先级更高,流量仍走最短路径。

修复:

# 提高显式路径策略的优先级
segment-routing policy color 100 destination 10.0.0.4
 segment-list explicit-path-1
 preference 70                       # 提高到 70

4.6 案例分析:IS-IS 未分发 Node SID

故障背景:R2 无法学到 R1 的 Node SID,导致 SR 标签交换失败。

排查:

# R2 上查看 SR 全局 SID 表
<R2> display segment-routing global-sid
 # 缺少 R1 的 Node SID (16001)

# R1 上检查 IS-IS SR 配置
<R1> display isis brief segment-routing
 # IS-IS SR 未使能

根因:R1 配置了 SR 全局参数,但未在 IS-IS 进程中使能 SR 信息分发。

修复:

# R1 在 IS-IS 中使能 SR
isis 1
 segment-routing traffic-eng
  algorithm 0 enable

五、总结

部署阶段 关键配置 验证命令
IS-IS 基础 cost-style wide display isis brief
SRGB 规划 segment-routing global-block display segment-routing configuration
Node SID isis sr sid display segment-routing sid
SR Policy segment-routing policy display segment-routing policy
TI-LFA ti-lfa enable display segment-routing ti-lfa
SR-MPLS 优势 说明
简化运维 无需每台设备维护 RSVP-TE 状态
灵活调度 通过 Segment List 编程转发路径
高效保护 TI-LFA 提供毫秒级故障恢复
可扩展性 Flex-Algorithm 支持差异化转发
平滑演进 从 SR-MPLS 演进到 SRv6

思考

  1. SR-MPLS 使用 IS-IS 分发 SID 信息,这与传统 RSVP-TE 手动配置 TE 隧道的方式相比,在运维效率上有何优势?
  2. Node SID 表示到目标节点的最短路径。如果需要流量不走最短路径,应该如何利用 Adj-SID 或 SR Policy 实现?
  3. TI-LFA 保护基于 IS-IS 拓扑计算绕道路径。如果 IS-IS 拓扑信息不准确(如链路状态延迟更新),TI-LFA 保护会受到什么影响?

下篇预告:第81篇:BGP基础:AS与eBGP/iBGP基本概念