关于这个算法有很多问题,但我一直没能找到它如何处理负重量循环?假设路由器 x 从路由器 y 获得更新,y 到 z 的成本为 5。稍后,路由器 x 从路由器 y 获得更新,y 到 z 的成本现在为 2。路由器 x 是做什么的?我的理解是贝尔曼福特算法指出在这种情况下应该提出错误。但是距离矢量路由算法是做什么的——简单地更新它或引发错误或其他什么?
问问题
1061 次
2 回答
1
不确定我是否正确阅读了这个问题。来自路由器的更新可以指定路径的新成本,无论它比以前更高还是更低。如果 x 从 y 获取一条到 z 的路径的更新,成本为 2(最初为 5),那么 x 应该简单地用新的成本路径更新其转发表,如果它是成本最低的路径,则使用该路径到达 z。
于 2013-11-08T00:21:16.537 回答
0
bellman-Ford Algortihm 的低成本和链路成本的下一跳更新之间存在冲突,第一个可以在两个或多个不同的接口之间完成 以获得更便宜的成本,例如:
**案例1:**路由器A有3个邻居N1,N2,N3,N1,N2,N3有X作为邻居
|---2----N1-----4----|
A`--4----N2-----3----X
|---1----N3-----2----|
对于路由器 A,我们有:
X via N1 =6
X via N2=7 the lowest is :**X Via N3=3**
X Via N3=3
- 这里 A 将通过 N3(在 N1,N2,N3 之间)选择 X,因为它是最低的一个情况 2:如果 (X-N3=2) 之间的链接成本已更改为 (X-N3=8),我们假设由于链路的配置(即使 8 大于 2,但这是一项义务),N3 应通知 A 并且 A必须将成本从(X Via N3=3) 更新为 (X Via N3=9),因此我们回到案例(1):选择通过 N1 的最低成本
X via N1 =6
X via N2=7 ****the lowest is :**X Via N1=6******
X Via N3=9
于 2017-08-28T09:03:50.600 回答