4. IGP 扩展与 SR 信息分发

Segment Routing 的控制平面并不依赖新的路由协议,而是把 SID 信息“寄生”在既有 IGP 的扩展字段中随链路状态泛洪。理解 IS-IS 与 OSPF 各自的 SR 扩展载体、Prefix-SID 与 Adj-SID 的通告方式,以及 SRGB 在全域一致性的约束,是设计 IGP SR 部署参数的核心。本节先厘清两类协议承载 SR 信息的结构差异,再落到 Prefix-SID、Adj-SID 与 SRGB 的具体参数设计。

一、IS-IS 的 SR 扩展:TLV 承载

IS-IS 通过新增 TLV(Type-Length-Value)承载 SR 信息,主要涉及以下三类:

  • SR Capability TLV(类型 103):携带本节点的 SRGB 范围(多个 SID/Label Range 子 TLV),以及可选的算法标识(如 SPF 算法 0、严格 SPF 算法 1)。
  • Prefix-SID Sub-TLV(类型 2):作为 TLV 135/235/236/237 的子 TLV,为某个前缀通告 Prefix-SID,包含 Flags、Algorithm、SID/Label 字段。
  • Adj-SID Sub-TLV(类型 31):作为 TLV 22/222 的子 TLV,为某条邻接链路通告 Adj-SID,包含 Flags、Weight、SID/Label 字段。

IS-IS 的 SR 扩展天然与链路状态泛洪绑定:只要节点在 LSP 中携带 SR Capability TLV,其 SRGB 就随 LSP 泛洪到整个 Level 区域。Prefix-SID 与 Adj-SID 分别挂在可达性 TLV 与邻接 TLV 上,因此它们的传播范围与对应前缀、邻接的传播范围一致。

二、OSPF 的 SR 扩展:Opaque LSA 承载

OSPFv2 通过 Opaque LSA(类型 9/10/11)承载 SR 信息,OSPFv3 则使用扩展的 Router Information LSA 与 E-Router-LSA。关键载体包括:

  • Router Information Opaque LSA(类型 4):携带 SRGB 与算法信息,作用域为 Area 或 AS。
  • Extended Prefix Opaque LSA(类型 7):携带 Prefix-SID,作用域为 Area。
  • Extended Link Opaque LSA(类型 8):携带 Adj-SID,作用域为 Area。

与 IS-IS 不同,OSPF 的 SR 信息作用域由 Opaque LSA 的类型决定:类型 10(Area 作用域)只在区域内泛洪,类型 11(AS 作用域)在全域泛洪。这意味着 OSPF 中 SRGB 的传播范围需要显式选择,而 IS-IS 中 SRGB 随 LSP 自然泛洪到 Level 区域。设计时必须注意这一差异,否则可能出现“区域内 SRGB 一致、跨区域不一致”的隐蔽问题。

IS-IS 与 OSPF 的 SR 信息承载结构对比 IS-IS:TLV 承载 LSP(链路状态 PDU) 随 LSP 泛洪到 Level 区域 SR Capability TLV (103) SRGB 范围 + 算法标识 Prefix-SID Sub-TLV (2) 挂在 TLV 135/235/236/237 下 Adj-SID Sub-TLV (31) 挂在 TLV 22/222 下 作用域特点 • SRGB 随 LSP 泛洪到 Level 区域 • Prefix-SID 与可达性 TLV 同域 • Adj-SID 与邻接 TLV 同域 OSPF:Opaque LSA 承载 Opaque LSA(类型 9/10/11) 作用域由 LSA 类型决定 Router Info LSA (类型 4) SRGB + 算法,Area/AS 作用域 Extended Prefix LSA (类型 7) Prefix-SID,Area 作用域 Extended Link LSA (类型 8) Adj-SID,Area 作用域 作用域特点 • SRGB 作用域需显式选择(10 或 11) • Prefix-SID 默认 Area 作用域 • 跨区域需注意 SRGB 一致性 对比

三、Prefix-SID 与 Adj-SID 的通告语义

Prefix-SID 是绑定到 IGP 前缀的 SID,用于指导节点沿最短路径转发到该前缀。它有两种关键标志位:

  • N 标志(Node-SID):置位时表示该 Prefix-SID 是节点 SID,对应前缀为 /32 或 /128 主机路由,用于标识节点本身。
  • R 标志(Re-advertisement):置位时表示该 Prefix-SID 从其他协议重通告而来,接收节点不应将其用于本地转发。

Prefix-SID 的 SID/Label 字段有两种编码方式:索引(Index)与绝对标签值。使用索引时,实际标签 = SRGB 起始值 + Index,因此要求全域 SRGB 一致;使用绝对标签值时,标签值直接写入,不依赖 SRGB,但灵活性较差。工程上推荐使用索引方式,便于统一规划。

Adj-SID 绑定到邻接链路,用于显式指定出接口。其关键标志位包括:

  • F 标志(Address-Family):标识该 Adj-SID 对应的地址族(IPv4/IPv6)。
  • B 标志(Backup):标识该 Adj-SID 是否为备份邻接的 SID。
  • V 标志(Value):标识 SID/Label 字段是索引还是绝对标签值。
  • L 标志(Local):标识该 Adj-SID 是否仅本地有效。

Adj-SID 的 Weight 字段用于在等价多路径场景下调整流量分配权重,默认值为 0,表示按等价路径均分。

四、SRGB 一致性要求

SRGB(Segment Routing Global Block)是节点为 Prefix-SID 预留的本地标签空间。当 Prefix-SID 使用索引编码时,实际标签 = SRGB 起始值 + Index。这意味着:如果两个节点的 SRGB 起始值不同,同一个 Index 在它们上会映射为不同的标签值,导致转发面标签不匹配。

因此,SRGB 一致性要求包含两个层面:

  1. 同一 SR 域内所有节点 SRGB 起始值必须一致。例如统一使用 16000 作为起始值,范围 16000–23999。
  2. SRGB 范围必须足够大,至少覆盖所有需要分配 Index 的前缀数量。若域内有 500 个节点需要 Node-SID,则 SRGB 至少需要 500 个标签,建议预留 8000 以上以应对增长。
注意:IS-IS 中 SRGB 随 LSP 泛洪到 Level 区域,若 Level-1 与 Level-2 使用不同 SRGB,跨 Level 的 Prefix-SID 索引映射会出错。OSPF 中若 Router Info LSA 使用 Area 作用域,跨区域时同样需要保证 SRGB 一致。设计时应将 SRGB 作为全域统一参数下发。

五、部署参数设计示例

以下给出一个可参考的 IGP SR 部署参数设计,适用于单域 200 节点规模的中型网络:

参数IS-IS 配置项OSPF 配置项推荐值
SRGB 起始值segment-routing global-blocksegment-routing global-block16000
SRGB 范围同上同上16000–23999(8000 个)
Prefix-SID 编码indexindex使用 Index,便于统一规划
Node-SID 分配每节点 Loopback /32每节点 Loopback /32Index = 节点编号,如 1–200
Adj-SID 分配动态或显式动态或显式动态分配,范围 24000 以上
算法SPF(0)SPF(0)默认算法 0

以 IS-IS 为例,关键配置片段如下:

router isis 1
 segment-routing mpls
  global-block 16000 23999
  connected-prefix-sid-map
   address-family ipv4
    10.0.0.1/32 index 1
    10.0.0.2/32 index 2
   !
  !
 !
!

配置完成后,可通过以下命令验证 SR 信息是否正确泛洪:

show isis segment-routing prefix-sid
show isis segment-routing adjacency-sid
show isis segment-routing global-block

预期输出中,每个节点的 Loopback 前缀应显示对应的 Index 与计算出的标签值(16000 + Index)。若发现某节点 SRGB 起始值不一致,或 Prefix-SID 未出现在 LSDB 中,应检查 SR Capability TLV 是否已正确泛洪、SRGB 配置是否全域统一。

设计建议:在部署前先规划一张 SRGB 与 Index 分配表,明确每个节点的 Node-SID Index、SRGB 起始值与范围。对于多区域 OSPF 场景,建议将 Router Info LSA 配置为 AS 作用域(类型 11),确保 SRGB 跨区域一致。

总结来看,IS-IS 与 OSPF 的 SR 扩展在承载结构上不同,但核心逻辑一致:SRGB 定义标签空间,Prefix-SID 与 Adj-SID 定义转发语义。设计 IGP SR 部署参数时,首要任务是统一 SRGB 起始值与范围,其次规划 Prefix-SID 的 Index 分配,最后根据网络规模决定 Adj-SID 的分配方式。只有这三者协同一致,SR 转发面才能正确建立标签映射并完成端到端转发。