在实际应用中,针对 Prefix Segment、Adjacency Segment 参数,可单独使用,也可结合使用;
通过按序组合前缀(节点)SID 和邻接 SID,可以构建出网络内的任何路径;
在路径中的每一跳,使用栈顶段信息区分下一跳;
段信息按照顺序堆叠在数据头的顶部;
当栈顶段信息包含另一个节点的标识时,接收节点使用 ECMP 的方式将数据包转发到下一跳;
当栈顶段信息是本节点的标识时,接收节点弹出顶部段,并执行下一个段所需的任务;
基于 Prefix Segment 的转发路径
基于 Prefix Segment 的转发路径,其由 IGP 通过最短路径算法(SPF)计算得出;
通过 IGP 扩散之后,整个 IGP 域的所有设备学习到 R2 的 Prefix SID(100);
以 R1 为例(其他设备类似),它通过 SPF 算法计算出一条到达 R2 的最短路径;
基于 Prefix Segment 的转发路径并不是一条固定路径,头节点也无法控制报文的整条转发路径
基于 Adjacency Segment 的转发路径
通过给网络中每个邻接分配一个 Adjacency Segment,然后在头节点定义一个包含多个 Adjacency Segment 的 Segment List;
针对该方式,能够严格指定任意一条显式路径(Strict Explicit),可更好的配合实现 SDN 环境。
基于 Adjacency Segment + Node Segment 的转发路径
将 Adjacency Segment 和 Node Segment 结合,通过 Adjacency Segment,可以强制整条路径包含某一个邻接。而对于 Node Segment,节点可以使用 SPF 算法计算最短路径,也可以负载分担;
针对该方式,其路径并不是严格固定,所以也称作松散路径(Loose Explicit)。