我正在阅读距离矢量协议 RIP 之一,并知道它使用的最大跳数是 15 跳,但我怀疑为什么 15 用作最大跳数,为什么不使用其他数字 10,12 或可能是 8?
问问题
2015 次
2 回答
2
我的猜测是,15
或者16 - 1
换2^4 - 1
一种说法:在 4 位信息中保存的最大无符号值。
但是,该metric
字段的长度为 4 个字节。该值16
表示无穷大。
我只能猜测,但我会说它允许使用简单的位掩码操作进行快速检查,以确定是否metric
为无穷大。
现在真正的问题可能是:“为什么metric
字段长度为 4 字节,而显然只使用了 5 位?” 为此,我没有答案。
于 2012-09-05T14:15:34.923 回答
1
协议经常做出任意决定。RIP 是一个非常基本的(而且相当古老的协议)。在阅读相关内容时,您应该牢记这一点。如上所述,最大跳数将是一个 4 字节的字段,其中 16 相当于无穷大。10 不是 2 的幂。8 可能被认为太小而无法到达所有路由器。
保持最大跳数较低的基本原理是计数无穷大问题。更高的最大跳数将导致更高的收敛时间。(我会把你留给维基百科计数到无穷大的问题)。某些版本的 RIP 使用水平分割来解决这个问题)。
于 2012-09-05T14:22:37.383 回答