3.1.1. Prefix-SID Algorithm (前缀 SID 算法)
段路由 (Segment Routing) 支持使用多种路由算法, 即可以支持不同的基于约束的最短路径计算。算法标识符作为 Prefix-SID 通告的一部分包含在内。定义算法的文档中需要说明如何执行特定算法的路径计算。
本文档定义了两种算法:
-
Shortest Path First (最短路径优先): 这是默认行为算法。数据包沿着 IGP 使用的众所周知的支持 ECMP 的最短路径优先 (SPF) 算法进行转发。但是, 明确允许中间点基于本地策略实现其他转发方式。最短路径优先算法实际上是大多数网络的默认和当前行为, 其中本地策略可能会覆盖 SPF 决策。
-
Strict Shortest Path First (严格最短路径优先, Strict-SPF): 此算法强制要求数据包必须按照支持 ECMP 的 SPF 算法进行转发, 并指示路径中的任何路由器忽略任何可能覆盖 SPF 决策的本地策略。使用 Strict-SPF 算法通告的 SID 确保数据包将采用预期的, 而不是被改变的 SPF 路径。请注意, 快速重路由 (FRR) [RFC5714] 机制仍然符合严格最短路径优先算法。换句话说, 使用 Strict-SPF SID 接收的数据包可以通过 FRR 机制重新路由。Strict-SPF 使用与最短路径优先算法相同的拓扑。显然, 不支持 Strict-SPF 的节点不会为此算法安装转发条目。将拓扑仅限制为支持此算法的那些节点将不会产生期望的转发路径, 因为期望的行为是遵循最短路径优先算法计算的路径。因此, 如果路径经过不支持 Strict-SPF 算法的节点, 则源 SR 节点绝对不能 (MUST NOT) 使用包含严格 SPF 段的 SR 策略。
IGP 前缀段标识根据相关算法计算的到相关前缀的路径。在 SR 域内的任何位置注入具有活动 Prefix-SID 的数据包, 预期将沿着使用指定算法计算的路径进行转发。为了实现这一点, 需要一个支持指定算法的路由器的完全连接拓扑。