在上一周的博客中,我们介绍了一种创新型流量定向机制:分段路由 (SR)。 此外,我们还介绍了 SR 域、策略、路径和分段。
本周,我们将对此进行进一步探讨。
全面掌握这些主题有助于您理解下周博客中的内容,其中我们将介绍如何使用 MPLS 转发平面实现 SR。此外,还有助于您理解后面一周的博客内容,我们将在其中介绍如何通过 SR 支持流量工程应用。
概述
当数据包到达 SR 入口节点时,该数据包会受到此入口节点中策略的约束。该策略可将数据包与 SR 路径关联起来。
SR 路径是一个有序分段列表,用于将 SR 入口节点连接到 SR 出口节点。虽然 SR 路径可以采用最低成本路径从入口到达出口,但它也可以采用另一条路径。
一个 SR 分段就是一个指令,用于使数据包遍历网络拓扑中的一个部分。 虽然一个分段(即指令)会使数据包遍历网络拓扑的一个部分,但它不同于该网络拓扑中的这一部分。
分段类型
SR 定义了许多 SR 分段类型。其中有邻接分段和前缀分段。邻接分段是指使数据包遍历指定链路(即与 IGP 邻接关联的链路)的指令。
图 1:邻接分段
图 1 展示了连接 R1 至 R6 的 SR 路径。该路径包含以下邻接分段:
- 分段 1(在 R1 上实例化)用于使数据包遍历链路 R1->R2
- 分段 2(在 R2 上实例化)用于使数据包遍历链路 R2->R3
- 分段 3(在 R3 上实例化)用于使数据包遍历链路 R3->R6
如果上述任一链路不可用,则相关邻接分段也不可用。如果上述任一邻接分段不可用,则整个路径也不可用。
前缀分段是指使数据包沿着最低成本路径遍历到节点或前缀的指令。
图 2:前缀分段
在图 2 中,所有链路均配置有相同的 IGP 指标。SR 路径用于将 R1 连接到 R6,并包含以下前缀分段:
- 分段 1(在 R1 上实例化)用于使数据包沿着最低成本路径从 R1 遍历到 R2
- 分段 2(在 R2 和 R3 上实例化)用于使数据包沿着最低成本路径从实例化节点遍历到 R6
如果链路 R1->R2 可用,则从 R1 到 R2 的最低成本路径将遍历链路 R1->R2。因此,分段 1 会使数据包遍历链路 R1->R2。
同理,如果链路 R2->R3 和链路 R3->R6 可用,则从 R2 到 R6 的最低成本路径将遍历链路 R2->R3 和链路 R3->R6。因此,分段 2 会使数据包遍历链路 R2->R3 和链路 R3->R6。
最后,如果上述所有链路均可用,则 SR 路径将引导数据包通过上述链路和分段。
图 3:链路 R1->R2 不可用
图 3 展示了链路 R1->R2 不可用时的路径行为。如果发生这种情况,则网络将在 R1 与 R2 之间建立一条新的最低成本路径。这一新最低成本路径将包括链路 R1->R4 和 R4->R2。
由于网络在 R1 和 R2 之间建立了新的最低成本路径,因此分段 1 仍可使用,它会使数据包遍历此新的最低成本路径。分段 2 的行为不变,它会使数据包遍历链路 R2->R3 和 R3->R6。
因此,此路径现在将遍历链路 R1->R4、R4->R2、R2->R3 和 R3->R6。
总结
在本博客中,我们巩固了以下概念:
- SR 路径是一个有序分段列表
- 一个分段就是一个指令
- SR 定义了许多分段类型,包括邻接分段和前缀分段
- 某些分段类型(例如前缀分段)会比其他分段类型调用更多动态行为,因此某个分段会与它使数据包遍历的拓扑部分不同
下期预告
在下一周的博客中,我们将介绍如何使用 MPLS 转发平面实现分段路由。