了解 IS-IS 微环避免
微环会消耗链路的可用带宽,从而影响有用数据包的有效传输。避免微环路可以防止环路数据包的转发。
在 SRv6 网络中避免使用微环的好处
-
微无环路可避免延迟和流量丢失
- 避免微环路可以防止环路数据包的转发,避免浪费带宽消耗
- 仅在发生多个链路故障时,才会为受影响的链路计算微环避免路径。如果第二个链路故障不影响计算出的微环避免路径,则 IS-IS 将继续使用相同的微环避免路径。
图中,从源到目标的主路径为S->R0->R1->R2->R3->D。当 R2 和 R3 之间的链路出现故障时,从 S 发送到 D 的流量会受到瞬时转发环路的影响,同时路由器会更新目的地 D 的转发状态。
• 如果 R0 在 R5 之前更新其转发状态,数据包将在 R0 和 R5 之间循环
• 如果 R0 和 R5 都更新了转发状态,而 R4 没有更新,则数据包将在 R4 和 R5 之间循环。
为避免微环,Junos OS 会在预先配置的时间内计算到目标的新路径,并为 D 安装一个条目,以便通过无环路 SR 路径将数据包定向到目标。在配置的时间延迟之后,它会安装不带任何 SID 的 D 的正常收敛后路由条目。在上述场景中,
• R0 检测到 R2 和 R3 之间的链路故障,并暂时通过 SR 路径 [NodeSID(R4), AdjSID(R4->R3), D] 引导发往目标的流量。
• 当配置的超时时间过去时,R0 仅使用节点 SID 到 D 到达目标。
SRv6 网络中的微环避免
从 Junos OS 21.1R1 版开始,您可以在设备上启用收敛后路径计算,以避免在 SRv6 网络中发生链路或指标变化时出现微环。要在 SRv6 网络中为本地和远程网络事件(包括链路关闭、链路上行和指标更改)配置微环避免,请在[edit protocols isis spf-options]层次结构级别包含microloop avoidance post-convergence-path delay milliseconds语句。为了有效地避免微环路,请在网络中的所有节点上配置此功能。
微环路避免不能替代 TI-LFA 等局部修复机制,后者可以非常快速地检测局部故障并激活预先计算的无环路替代路径。
IS-IS SR-MPLS 网络中的微环避免
从 Junos OS 21.3R1 版开始,您可以在设备上启用收敛后路径计算,以避免网络设备之间出现微环。当分段路由 MPLS 网络中发生链路或度量更改等网络变化时,就会形成微环。网络更改可能会在短时间内触发上游路由器和下游路由器之间的环路,因为路由器不会同时更新其转发状态。请注意,避免微环不能替代局部修复机制,例如与拓扑无关的无环路备用 (TI-LFA)。要在分段路由 MPLS 网络中配置微环避免,请在[edit protocols isis spf-options microlooop-avoidance post-convergence-path]层次结构级别包括 maximum-labels 和 语maximum-srv6-sids句。
当 IPV6 前缀同时具有可用的 SR-MPLS- MLA 和 SRV6 微环路避免路径时,我们将首选 SR-MPLS MLA 路径。SR-MPLS 可以为 IPv4/ipv6 前缀和 SR 标签提供微环路避免路径。delay 指定在过渡到 SPF 路径之前,我们使用微环避免路径的时间(以毫秒为单位)。请注意,微环避免不能替代局部修复机制,例如与拓扑无关的无环路备用 (TI-LFA),后者可以非常快速地检测局部故障并激活预先计算的无环路替代路径。实施微环路避免的路由器只有在收到事件的链路状态更新后才会计算微环路避免路径。因此,微环路避免机制不能替代 TI-LFA 等局部修复机制,后者可以非常快速地检测局部故障并在 PFE 级别激活预先计算的无环路替代路径。在上面的示例中,如果 R2R3 故障没有本地修复机制,则在 R0 检测到故障(通过全局收敛)并编程微环避免路径之前,将会出现大量流量丢失。微环避免无法避免由于故障检测延迟而造成的流量损失。微环路避免将避免仅因微环路造成的流量损失。必须在网络中的所有节点上启用 TI-LFA 和微环路避免等本地修复机制,以确保流量丢失在毫秒范围内。
为避免微循环,使用以下过程:
1. 在计算到 D 的新路径后,在预定的时间内,R 为 D 安装一个条目,通过无环路 SR 路径将数据包引导到 D。此时间应大于网络中任何路由器的最坏延迟情况。
2. 在配置的时间延迟之后,R 为 D 安装收敛后路由条目,该条目没有任何 SID。
如果同时为 SRv6 和 SR-MPLS 配置了微环避免,则 IS-IS 优先采用 SR-MPLS 路径。
支持的平台和不支持的功能
Junos OS 在大多数支持 IS-IS 的平台上都支持微环避免。有关支持 IS-IS 微环避免的特定设备和 Junos OS 版本的详细信息,请参阅 功能浏览器。
Junos OS 不支持以下功能以及微环避免功能:
- 不支持需要 6 个以上 SID 的微环避免路径。如果一个节点只能处理 x 个 SID,则 IS-IS 不提供微环路避免路径。在这种情况下,节点可以播发它们可以处理 x 个 SID。
- 由于控制平面收敛速度慢,无法阻止流量丢失。
- ISIS 多拓扑结构不支持微环避免功能。
- 如果有快捷方式,IS-IS 不提供微环避免路径。