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