据我所知,当一个路由器提供另一个旧信息时,就会发生计数到无穷大,该旧信息继续通过网络传播到无穷大。从我读到的内容来看,这肯定会在删除链接时发生。
所以在这个例子中,Bellman-Ford 算法将为每个路由器收敛,它们彼此都有条目。R2 会知道它可以以 1 的成本到达 R3,R1 会知道它可以通过 R2 以 2 的成本到达 R3。
如果 R2 和 R3 之间的链路断开,则 R2 将知道它不能再通过该链路到达 R3,并将其从表中删除。在它可以发送任何更新之前,它可能会收到来自 R1 的更新,该更新将通告它可以以 2 的成本到达 R3。R2 可以以 1 的成本到达 R1,因此它将更新一条到R3 通过 R1 的成本为 3。R1 稍后将接收来自 R2 的更新,并将其成本更新为 4。然后它们将继续相互提供不良信息,直至无穷大。
我在几个地方看到的一件事是,除了链接脱机之外,可能还有其他原因导致无穷大,例如更改链接的成本。我开始考虑这个问题,据我所知,在我看来,增加链接的成本可能会导致问题。但是,我不认为降低成本可能会导致问题。
例如,在上面的示例中,当算法收敛时,R2 有一条到 R3 的路由,成本为 1,而 R1 有一条经过 R2 到 R3 的路由,成本为 2。如果 R2 和 R3 之间的成本增加到5. 那么这将导致同样的问题,R2 可以从 R1 获得更新,通告成本 2,并通过 R1 将其成本更改为 3,然后 R1 将其通过 R2 的路由更改为成本 4,依此类推。但是,如果融合路由的成本降低,则不会引起变化。它是否正确?可能导致问题的链接之间的成本增加,而不是成本降低?还有其他可能的原因吗?让路由器下线和链接出去是一样的吗?