-
RIP(Routing Informationm Protocol,路由信息协议)是一种距离矢量(Distance-Vector)协议,使用跳数到达(Hop Count)计算到达目的网络的距离。例如:RIP路由器到达直连网段的跳数为0;如果RIP路由器通过另一台rip路由器到达的目的网段,那么跳数为1;所以也就是说,RIP到达目的网段的跳数等于中间所经过的路由器的个数。RIP路由认为15跳是网络的最大直径,大于等于16跳就认为网络不可达,也同样是因为这样的特性,RIP适用于小型网络。 由于RIP采用DV路由协议计算路由,因此容易产生路由环路。RIP路由有以下的防环策略: 1、水平分割 2、毒性逆转 3、触发更新 4、最大计时器超时 以下详细叙述这几种防环策略: 1、水平分割(Split Horizon):即对于从某个接口发出的RIP报文,不能再从这个接口被发出给邻居路由器。水平分割可分为按接口的水平分割和按邻居的水平分割,其中在广播网,P2P和P2MP是按接口进行的水平分割,NBMA网络是按邻居进行的水平分割。
以本图为例,RouterA向RouterB通告10.0.0.0/8的路由信息,如果在RouterA和RouterB上没有配置水平分割,那么Router通告给RouterB的路由有会再次从RouterB通告给RouterA,跳数为2跳。如果有一个时刻RouterA到10.0.0.0/8的路由中断了,那么10.0.0.0/8的RIP路由便会在不停RouterA和RouterB之间传来传去,形成路由环路,直到跳数达到16跳,这条路由才会被丢弃,这样的话,路由收敛会很慢,浪费网络资源。所以,如果开启了水平分割,那么RouterA向RouterB发出10.0.0.0/8的路由就不会再传回来了,加快网络收敛,节省网络资源。
2、毒性反转(Poison Reverse):指从某个接口发出的路由,邻居会立刻把跳数立刻设置为16跳,表示不可达,可以加快网络的收敛。
在配置了毒性逆转之后,从RouterA发出的10.0.0.0/8的路由,RouterB在接收到之后会立刻把路有的跳数设置为16跳,这样路由就不会再从RouterB传给RouterA了。
3、触发更新:是指一旦路由发生变化,路由器会立即发送路由不可达消息不必等到定时器超时再发送。
如上图,RouterA的10.0.0.0/8一旦失效,它会立刻向RouterB发送路有更新消息,而不必等到定时器超时。
4、RIP在更新和老化路由时会用到3个定时器:更新定时器、老化定时器、垃圾收集定时器、抑制定时器。
更新定时器(Update timer):默认30s,该定时器超时,RIP路由器立即发送路由更新消息。
老化定时器(Age timer):默认180s,若在老化定时器超时时间内还没有收到更新路由信息,则认为该路由失效,把跳数设置为16跳。
垃圾收集定时器(Garbage-collecte timer):默认120s,如果在垃圾收集定时器的超时时间内一直没有收到来自同一邻居的路由更新报文,则从数据库中删除该路由。
当路由器接收到一条有效的RIP路由后便会启动更新定时器和老化定时器,在更新定时器超时(默认30s)后,会向除了接收报文的接口组播或者广播发送RIP路由,并重置更新定时器;如果定时器在老化定时器超时(180s)之前收到了路由更新报文,则会重置老化定时器。否则会在本地路由表中删除这条路有,同时启动垃圾收集定时器;如果在垃圾手收集定时器(默认120s)超时内仍然没有收到邻居的路由更新报文,则会从本地的数据库中删除这条路由。综上,从本地删除一条路由最大需要300s。
RIP路由是D-V路由协议,且协议报文简单,远没有ospf和isis等IGP那样复杂,又有最大网络直径15跳的限制,所以适合于小型网络,也容易产生路由环路,我们用到了以上所说的四种方法可以防止路由环路,提高RIP网络的收敛速度。