分类: 系统运维
2011-10-20 10:52:56
RIP路由的动态学习功能是通过接收来自邻居路由器的路由更新完来实现的。当一RIP路由器学习到了一个新的路由,或者原路由有改变时会立即向它的邻居RIP路由器发送一条路由更新消息,通知邻居路由器立即做同步路由更新,以确保网络中的拓扑和路由表项的一致性。
RIP的路由更新包也是以UDP(端口为520)协议进行发送的,而且是以广播方式发送的。所以为了使RIP路由更新到达非广播网络,你必须配置IOS软件允许这种路由信息交换。
要阻止网络中的其他路由器动态地学习到路由,你可以阻止通过一个路由器接口发送路由更新。通过阻止路由器接口发送路由更新,可以阻止连接在这个接口上其他系统学习到该接口上动态路由。这种功能可应用于所有基于IP的路由协议,除了BGP路由协议外。方法是使用“passive-interface”路由器配置命令使该接口为无源接口,禁止在该接口上发送路由更新消息(但该接口仍可以接收来自其他邻居的路由更新)。
1. RIP度量偏移
在较大的RIP网络中,可能一台RIP路由器会从不同邻居路由器接收到了到达同一目的网络,且度量一样的路由更新,这时为了不出现路由冲突,就需要人为地改变这些不同路由表项的度量值,以实现一定程度上的优先级定义。
在RIP路由更新消息交换中,有一个偏移(offset)机制,它可用来在通过RIP协议学习到的路由中增加流入和流出路由的度量值,使得原来相同目的网络,相同度量的多条路由具有不同的度量。因为从同一路由器上到达同一目的网络的路由,度量小的优先级高,所以这样就可以使得这些原来相同度量的相同目的网络的路由具有了不同的优先级值,或者使某些路由无效(因为RIP路由的最大试题为15,当改为16或以上时就无效了)。你可以用ACL列表,或者指定接口来限制这个偏移列表的应用。要增加路由度量,可以使用以下路由器配置模式命令进行(具体参数和选项在本章后面介绍):
offset-list {access-list-number | access-list-name} {in | out} offset [interface-type interface-number]
要取消原来所设置的偏移,则可用以上前面加“no”选项的偏移设置命令。
如下的配置是把所有RIP路由的度量增加16,这样则肯定所有RIP路由都是不可达到的了,因为RIP路由的最大度量值就只是15。可以通过“show ip route”查看所有路由得到验证。
R1(config)#router rip
R1(config-router)#offset-list 1 in 16 s1/0
R1#show ip router
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
12.0.0.0/24 is subnetted, 1 subnets
C 12.1.1.0 is directly connected, Serial1/0
2. RIP计时器
RIP路由协议主要使用以下四个计时器来检测诸如路由更新频率、路由的有效时间和其他参数。
Update Timer(更新计时器)
“更新计时器”是指运行RIP协议的路由器向自己所有接口广播自己的全部路由表的时间间隔,默认是30秒。它包含了一个随机变量,以防止所有路由器都同时发送路由更新造成太大流量,给实际的数据通信带来太大压力。Cisco IOS中的更新计时器允许有一个向内15%的偏移,因此,在Cisco中的实际更新时间是上25.5~30秒之间。
Invalid Timer(失效计时器)
这是一个针对路由表中的特定路由条目的计时器,用来确定某路由无效的时间间隔,默认为180秒。哪它依据是什么呢?依据就是在这个指定的时间内没有收到该路由表的更新消息。这里要明确,不一定非路由本身更新,只要能让路由器知道你这个路由还有效就行,就像学生离校在外要定时向学校报告,让学校的老师知道你一切正常就可以一样。就像无论什么时候,当有一条新的路由被建立,失效计时器就会被初始化为180秒,路由器每收到一次路由条目就把换效计器置0,也就是说路由条目每隔无效计时器规定的时间内必须收到路由条目更新报文。如果没有收到相关条目的更新保文那么失效计时器超时,路由器就认为该目的不可达,并向所有接口广播不可达更新报文。
Flush Timer(刷新计时器)
这个计时器其实是上一个“失效计时器”的延续。“失效计时器”是把在指定的时间内没有收到更新的路由视为无效,而这里的“刷新计时器”则是把在这个指定时间内没有收到路由更新报文的路由器将被彻底删除,刷新路由拓扑,默认为240秒。可以这么理解这两个计时器的关系:“失效计时器”看成是记过处分,还有改过自新的机会,也就是该路由还可以在路由表中存在,并且重新被激活;而“刷新计时器”则可看成是开除处分,没有改过自新的机会了。删除了的路由是不能再在路由表中存在,更不能恢复了,只能重新建立。
Cisco中刷新计时器的缺省时间是240秒,也是是比无效计时器多了60秒,而且刷新计时器与失效计时器是同时启动的。这里就意味着在一个路由条目在180秒内没有收到更新报文时,无效计时器超时。路由条目中该路由被标志为“x.x.x.x is possibly down”,直到刷新计时器也超时了该路由条目才被删除。在RIP中真正删除路由条目的是刷新计时器超时。
Holddown Timer(抑制计时器)
它是指路由器如果在相同的接口上收到某个路由条目的距离比原先收到的距离大,那么将启动一个抑制计时器,默认为180秒。抑制计时器主要是在RIP协议中用来防止路由环路,该计时器的原理是引用一个怀疑量,不管是真的还是假的路由消息,路由器先认为是假消息来避免路由环路。如果在抑制计时器超时后还接受到该消息,那么这时路由器就认为该消息时真的。在抑制计时器的时间内该目的标记为不可到达,直到计时器超时,路由器才可以接受有关此路由的更新信息。
另外,RIP更新包间允许插入延时。默认情况下,在多个RIP更新包的发送过程中各个包之间是不插入延时时。如果更新包是从高性能路由器发送到低性能路由器上,你可能要在RIP多个更新包发送过程中要插入包间延时。这个延时的取值范围是8~50毫秒。
本文摘自《路由器配置与管理完全手册(Cisco篇)试读样章》第七章