一、理解RIP协议的计时器

Update Timer :更指运行RIP协议的路由器向所有接口广播自己的全部路由表的时间间隔。它包含了一个随机变量用于防止路由表的同步,结果一个典型的RIP处理单个更新的时间大约是25-35s。RIP_JITTER是Cisco IOS中专有的一个随机变量,它缩短到一般更新时间的15%(即4.5s)。因此,在CISCO中的实际更新时间是上25.5~30秒之间,即30秒减去一个在4.5秒内的随机值。

如果随机变量与共享广播网络的路由器数量相比足够大,那么增加更新周期的随机性是有效的,在足够大的网络中,过小的随机化会被路由器所克服,为了保证有效性,更新计时器应该分布在中等更新周期的50%范畴内!

Invalid Timer:无效计时器,这是在Cisco IOS中的叫法;在距离矢量路由协议中也叫无效计时器(invaildation timer);它的典型周期范围是3~6个更新周期!在RIP协议中称这个计时器为限时计时器(expiration timer)或超时计时器(timeout timer),总之,它们的作用都是一样的,只是叫法不同而已,它是针对路由表中的特定路由条目的计时器。无论什么时候,当有一条新的路由被建立,无效计时器就会被初始化为180s,路由器每收到一次路由条目就把无效计器置0,也就是说路由条目每隔无效计时器规定的时间内必须收到路由条目更新报文。如果没有收到相关条目的更新保文那么无效计时器超时,路由器就认为该目的不可达,并向所有接口广播不可达更新报文。无效计时器在IOS中缺省是180秒。

Flush Timer :刷新计时器,也叫垃圾收集计时器(garbage collection),它们所设置的时间长度一般比失效计时器长240-60s,RFC 1058规定120秒,但在实验中sh ip protocols显示的是240(cisco中),RFC规定是120秒,但在实际中不同设备的值可能不尽相同。刷新存在2种意思:

1>如果在刷新时间内没有收到更新报文,那么该目的的路由条目将被刷掉也就是直接删除。
2>如果在刷新时间内收到更新报文,那么该目的的路由条目的刷新计时器被刷新置0。

CISCO 中刷新计时器的缺省时间是240秒,也是是比无效计时器多了60秒。这里就意味着在一个路由条目在180秒内没有收到更新报文时,无效计时器超时。路由条目中该路由被标志为x.x.x.x is possibly down,直到刷新计时器也超时了该路由条目才被删除。在RIP中真正删除路由条目的是刷新计时器超时。

Holddown Timer:抑制计时器,180s.虽然在RFC 1058没有关于Holddown Timer的介绍,但在Cisco路由器中支持的RIP协议使用了它们。路由器如果在相同的接口上收到某个路由条目的距离比原先收到的距离大,那么将启动一个抑制计时器,在抑制计时器的时间内该目的标记为不可到达,直到计时器超时,路由器才可以接受有关此路由的更新信息。抑制计时器主要是在rip协议中用来防止路由环路,该计时器的原理是引用一个怀疑量,不管是真的还是假的路由消息,路由器先认为是假消息来避免路由环路。如果在抑制计时器超时后还接受到该消息,那么这时路由器就认为该消息时真的。RIP中认为假的消息总是真不了,不长久。
Sleep Timer:触发更新计时器,这个单位是毫秒!! , 其他单位都是秒,RIP使用带毒性逆转(poison reverse)的水平分割(split horizon)和触发更新。不像普通的定期更新,触发更新只要在有路由的度量值发生改变时就会产生,而且触发更新不会引起接收路由器重置它们的更新计时器;因为如果这么做的话,网络拓扑的改变会造成触发更新“风暴”,还需要使用另外一个计时器,当一个触发更新传播时,这个计时器被随机的设置为1-5s之间的数值;在这个计时器超时前不能发送并发的触发更新。

注意:在rip的database里面invalid timer时间 180秒到了 ,就进入holddown 180秒, 但是 flush 计时器是和invalid 一起开始的, 所以总共240 秒一到. 本路由就会被清除掉,,而不是等到 holddown 的180秒 走完, 总共要等 invaild+holddown=180+180=360, 实际的时间 最高就是240 秒左右(有一定的偏差)

在 hold down 开始的时候就开始对外发路由毒化的路由 : hop=16. 收到这个路由的设备毒性反转,再发送hop=16 回来(打破水平分割原则) -- hold down 的存在理由就是为了使得全网的毒化路由接收一致,防止路由环路 (hold down time 要保证毒化路由传遍整个网络)(rip 里面的 sleep time, 发送触发更新的时候的使用,使得两边路由器发触发更新的时间不同步, 免于链路冲突,大家一起发 更新 .. . 这个单位是毫秒!! , 其他单位都是秒)rip的触发更新也是一种防止环路的机制, 尽快让网络无效的信息让全网收到 (注意, 触发更新仅仅只在路由表条目变化的时候产生!!!)
------------------------------------------------

二、操作计时器

上面我们深入地理解了在RIP协议中使用的几个计时器,那么,我们可以用下面的命令对这四个计时器进行操作:

timers basic update invalid holddown flush sleep
for example:timers basic 30 180 180 240 30
注意:命令是在RIP进程下写的!

该命令适用于RIP协议整个进程的运行处理,如果一台路由器的计时被改变了,那么这个RIP域中的所有路由器的计时都必须改变!