为什么FRR会有潜在的环路?
新的链路状态通告在网络中泛洪,然后网络中的每个节点独立运行相同的路由算法去更新自身的转发表。
在这个时间段内网络节点的转发表是不一致的,一些节点仍然基于旧拓扑转发流量,
而另外一些节点已经按照新的拓扑更新了自己的转发表了。
比如:
(1)在网络中传播拓扑变化引入了时延,拓扑变化通知到节点的时间取决于拓扑变化处到该节点的距离。
(2)每个节点更新转发表中路由前缀顺序不能保证是相同的,也就是说可能存在路由条目过多时,
更新路由条目顺序可能有所变动。
(3)控制平面和数据平面更新速度有差异,跟CPU,平台架构等相关。
假设一个场景:
路由器A去往网络X最优的路径失效,由于启用了FRR,流量在故障发生的50ms内完成备份链路的切换,
切换后的下一跳为路由器B(假设在故障前B去往网络X最优下一跳为路由器A),
那么就会因为路由器B没有及时收敛去往网络X的最优路径,产生短暂的环路现象。
但这种环路情况可以通过LFA、R-LFA、T-LFA来防止微环的产生。