原理简述:
我们都知道RIP在IPv4中有两个版本的协议。在配置RIP时,如果不指定版本,接口默认情况下是能接收v1和v2的报文的,但是却只能发送v1的报文;在指定版本的情况下,RIPv1只能接收和发送v1的报文,RIPv2只能接收和发送v2的报文。
RIP的定时器:有3种。
(1)更新定时器:默认每30s发送一次更新;
(2)超时计时器:默认时间是180s,如果在超时计时器内没有收到邻居发来的更新报文,则把该路由的度量值设为16(路由不可达),并启动垃圾收集定时器;
(3)垃圾收集定时器:默认时间是120s,如果启动了该计时器,则在120s超时之后,路由表中会删除该路由表项。
实验拓扑:
实验操作:
1。基本配置
根据实验要求完成基础配置,检测各直连链路的连通性。
2。配置RIP协议的版本兼容
在路由器R1和R2上进行相应的RIP协议配置,并通告给相应网段。其中,在R1上不指定RIP版本,在R2上指定使用RIPv2版本。
[R1]rip
[R1-rip-1]network 10.0.0.0
[R1-rip-1]network 192.168.10.0
[R2]rip 1
[R2-rip-1]version 2 //指定使用版本2
[R2-rip-1]network 192.168.20.0
[R2-rip-1]network 10.0.0.0
配置过后,使用display ip routing-table命令查看各自的路由表。
在R1的路由表中存在主机PC-2所在网段的路由条目,但是在R2的路由表中并没有发现主机PC-2所在网段的路由条目。
我们现在在R1的GE0/0/0接口上进行抓包(抓取R1发送给R2和从R2接收到的RIP报文):
从抓包的信息来看:R1采用的是版本1,就是用广播方式来发送更新;R2采用的是版本2,用组播方式来发送更新的。同时验证了在配置RIP时,如果不指定版本,接口默认情况下是能接收v1和v2的报文的,但是却只能发送v1的报文;然而R2因为在RIP协议进程中指定了版本2,所以只能接收和发送v2的报文。
因为R1发送的是RIPv1报文,但是R2是不能正确处理接收的,即在R2的路由表中没有PC-1所在网段的路由条目;同时R2发送的RIPv2报文是可以被R1接收处理的,所以在R1的路由表中存在主机PC-2所在网段的路由条目。
若要使R2页能接收PC-1所在网段的路由条目,需要在R1上设置接口的RIP版本,使R1能够以广播方式来发送RIPv2的报文。
(1)使用rip version 2 broadcast命令;
(2)使用rip version multicast命令;
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]rip version 2 broadcast //广播形式发送RIPv2报文
现在R2的路由表中已经存在了PC-1所在网段的路由条目。
注意:在配置RIP协议时建议路由器之间配置相同的RIP版本,即所有路由器都配置RIPv1或者都配置RIPv2,以避免由于错误的配置而导致RIP协议的无法正常运行。
3。RIP定时器的配置
配置RIP版本兼容过后,再次抓包,观察R1和R2更新报文的发送情况:
可以看到:R1在27秒时发送了一次更新,R2在59秒时发送了下一次更新,R1在56秒发送了下一次更新,R2在86秒时发送了下一次更新。在默认情况下:RIP协议会每隔30s左右发送一次路由更新。
路由更新的有效期为超时定时器定义的时间180s,就是指在180s内没有收到新的路由更新,就将其置为不可达,然后将其从路由表中清除掉该路由条目。
我们可以在R1的GE0/0/0接口上使用undo rip output命令配置其停止发送RIP路由更新,验证这个效果:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]undo rip output //关闭路由更新
现在R1的GE0/0/0接口上是无法发送任何的RIP路由更新,现在查看R2的路由表信息:
从R1接收到的路由条目依旧存在着,原因是RIP定时器没有到期,所有其依然存在。
使用display rip database命令检查R2的RIP发布数据库中所有激活路由:
路由条目也没有发生任何变化,状态依旧是[A]——仍被通告。在等待超时计时器到期定义的180s以后再使用命令查看其路由表信息。
现在便可以观察到:R2的路由表中已经无法看到R1发送过来的路由条目了,因为超时计时器的时间已经到期,该路由条目失效被清除了。
在数据库的信息中虽然可以看到该路由条目,但是其已经被标记为16跳了,就是处于不可达状态了,而且其状态标记为[I]——该路由将不能被通告出去。
虽然该路由条目已经失效却依然存在的原因是:RIP垃圾收集定时器启动,但是并未到期,暂时不能将其从数据库中清除掉。
如果在默认的120s内仍然没有接收到更新报文,垃圾收集定时器超时之后,便会删除该表项。
在经过120s之后,可以查看R2上发布的数据库信息:
此时数据库中已经不存在任何R1发送过来的路由条目了。
可以通过使用times rip 命令修改这几个定时器的默认值来控制RIP的收敛速度。时间顺序依次是:更新报文的超时时间、超时计时器的超时时间、垃圾收集定时器的超时时间。但是,若3个定时器的值设置的不当,会引起网络的不稳定。配置过后,可以使用display rip命令查看信息。
4。RIP协议优先级的配置
在实际网络中,去往相同目的网段的路由信息可以通过不同的路由协议来获取,通过比较各协议之间的优先级大小,通过具有较高优先级的路由协议所获取的路由信息将被优先放入路由表中。
从R1的路由表中可以看到:RIP的路由优先级默认值为100。
可以使用preference 命令将其修改优先级为90,配置过后查看其路由表信息。
此时已经完成了相应的修改。
注意:优先级的数值越小,代表着优先级越高。