RIP路由协议

您所在的位置:网站首页 rip协议通过路由器之间的 RIP路由协议

RIP路由协议

2024-07-11 21:46| 来源: 网络整理| 查看: 265

RIP工作原理

RIP路由协议属于动态协议的一种(距离矢量协议),但是只能适用于小型网络。这样的算法是通过数据包会经过多少个路由来衡量一个路径的好坏,并且一个网络的跳数不应该超过15跳,超过的数据包会被丢弃,标识为不可达。

使用RIP的网络设备,只需要开启RIP进程,同时发布自己的网络,之后RIP便会自己维护自身设备中的路由表信息,保持网络的稳定和畅通。

RIP 功能:动态学习更新路由表 作用域:一个自治系统中或一个中小型网络中。

版本:RIPv1和RIPv2。ripv2兼容ripv1,就是说2可以发送两个版本的包。 在这里插入图片描述 RIP工作流程:

1,在设备上开启RIP功能,系统会在设备的系统中启动三个进程:RIP Router主进程,RIP send发送宣告进程和RIPtimers计时进程。

2.RIP进程允许RIP运行的接口上以广播的形式向邻居发送路由表的请求。

3.作为邻居的路由器收到其他路由器发送的RIP信息的请求,若是它本身并未启动RIP进程则不理会,若是开启了RIP进程,接收到了其他路由器发送的路由表请求之后便会将路由表信息整合在RIP的响应包中回复router的请求。为了安全起见,有可能路由器上设置了验证,只有验证通过的才能收到。

4.收到邻居路由响应的RIP报文之后,报文中的Metric度量值会加1,这是应为邻居到它的度量需要1。然后就是查看响应报文的 内容,并不会马上将其中的所有内容都更新到自己的路由表中,会先判断以下路由信息:

若是路由信息不存在自身的路由表里,就更新到自己的路由表里面。

若是该路由信息在自身的路由表中存在便比较度量值,也就是跳数,发送过来的更大就丢弃(rip是根据跳数来的,跳数更多说明消耗的资源就更多),值小就替换掉原来的。

若是该路由信息和自身的一模一样,还是替换以下。

路由器判断之后更新自己路由表。

5.当路由器的RIP进程启动之后,timer也随之工作,其中update timer更新计时器的值为30秒,一旦超时就广播(目标地址255.255.255.255)更新消息,发送之后重置时间,继续工作,也就是说路由器每隔30秒就会相互发送更新应答数据包。 但是如果超过30秒依然没收到邻居发送过来的路由表信息呢,这个时候就有一个叫做Invalid timer的无效计时器开始工作了。当收到邻居发送过来的路由更新消息,无效计时器便开始计时,当180秒之后若是没有收到邻居发送过来的更新消息,便认为到邻居的网段已经不可达了,将其状态标志为possibly down、跳数改为16(16表示不可达)。若是没有到180秒的时候收到了更新数据包,重置Invalid timer的时间,重置为初始值,重新开始计时。 和无效计时器同时启动的还有一个:flush timer清除计时器,默认值是240秒,也就是Invalid timer加上60秒。若是flush timer时间到了就会将该项从路由表中删除。

但是这样RIP还是会有问题:环路问题(两个路由器之间相互更新不可达的网段),收敛时间过长。 环路问题:比如说路由器中的一个网段中断了,连接不上,过了240秒后删除,但是相邻路由表却还是发送给它一个(没删除之前发送给它的),这个路由器又重新学习了一遍,这样循环知道16跳为止。

RIP对于环路的解决办法: 毒性反转、水平分割和触发更新。

RIP配置实验

实验拓扑图: 在这里插入图片描述

配置各端口ip地址: r1

r1(config)#interfa e0/0 r1(config-if)#ip address 202.203.1.1 255.255.255.0 r1(config-if)#no shutdown r1(config)#interface loopback 0 r1(config-if)#ip address 192.168.1.1 255.255.255.0 r1(config-if)#no shutdown

r2

r2(config)#interface e0/0 r2(config-if)#ip address 202.203.1.2 255.255.255.0 r2(config-if)#no shutdown r2(config-if)#exit r2(config-if)#ip address 202.204.1.1 255.255.255.0 r2(config-if)#no shutdown r2(config-if)#exit

r3

r3(config)#interface e0/1 r3(config-if)#ip address 202.204.1.2 255.255.255.0 r3(config-if)#no shutdown r3(config-if)#exit r3(config-if)#ip address 10.3.1.1 255.255.255.0 r3(config-if)#no shutdown r3(config-if)#exit

在设备上开启RIP,通告网段: r1

r1(config)#router rip r1(config-router)#version 2 r1(config-router)#network 192.168.1.0 r1(config-router)#network 202.203.1.0

r2

r2(config)#router rip r2(config-router)#version 2 r2(config-router)#network 202.203.1.0 r2(config-router)#network 192.16.1.0 r2(config-router)#network 202.204.1.0

r3

r3(config)#router rip r3(config-router)#version 2 r3(config-router)#network 10.3.1.0 r3(config-router)#network 202.204.1.0

配置完成。

查看路由表

r1#show ip route rip Gateway of last resort is not set R 10.0.0.0/8 [120/2] via 202.203.1.2, 00:00:18, Ethernet0/0 R 192.16.1.0/24 [120/1] via 202.203.1.2, 00:00:18, Ethernet0/0 R 202.204.1.0/24 [120/1] via 202.203.1.2, 00:00:18, Ethernet0/0 r2#show ip route rip R 10.0.0.0/8 [120/1] via 202.204.1.2, 00:00:06, Ethernet0/1 R 192.168.1.0/24 [120/1] via 202.203.1.1, 00:00:16, Ethernet0/0 r3#show ip route rip Gateway of last resort is not set R 192.16.1.0/24 [120/1] via 202.204.1.1, 00:00:26, Ethernet0/1 R 192.168.1.0/24 [120/2] via 202.204.1.1, 00:00:26, Ethernet0/1 R 202.203.1.0/24 [120/1] via 202.204.1.1, 00:00:26, Ethernet0/1

你去ping其他路由上的ip,是可以ping通的。

当然,我们现实中可能并不是所有的机器都是RIPv2,这就可能会出一些问题:

1.RIP 版本的不兼容而导致出错 查看RIP版本:

r1#show ip protocol

在这里插入图片描述 如果有使用版本1的,我们可以在2上这样配置:让它能够同时发送和接收version1和2的数据包

r1(config)#inter e0/0 r1(config-if)#ip rip send version 1 2 r1(config-if)#ip rip receive version 1 2

查看rip:

r1#show route rip Default version control: send version 2, receive version 2 Interface Send Recv Triggered RIP Key-chain Ethernet0/0 1 2 1 2 Loopback0 2 2

2.不连续网络的路由信息

RIPv1 中路由更新信息中不含有子网掩码,所以不支持不连续的子网,解决方式便是开启 Version2 同时关闭自动路由汇总的功能 no auto-summar。因为在 Version2 中开始 VLSM 与 CIDR 的功能。

3.认证密钥的不匹配

RIPv2 中增加了认证机制来增强安全特性,当开启此功能后必须双方都配置口令,不过不匹配的话则忽略双方的更新包。该功能配置于端口上,这样可以防止收到伪造的数据包,来攻击当前的网络,从而避免出现网络的摆动、震荡、不稳定。

若是双方端口的认证不匹配将无法更新路由条目,并且已更新的条目也会因为无效计时器与清除计时器而被删除

r1(config)#key chain lll #定义密钥链 r1(config-keychain)#key 1 #定义密钥编号 r1(config-keychain-key)#key-string lll #定义密钥 r1(config-keychain-key)#int e0/0 #进入端口配置 r1(config-if)#ip rip authentication mode md5 #配置认证密钥的模式为 md5 加密 r1(config-if)#ip rip authentication key-chain lll #配置在该端口使用 shiyanlou 密钥链

还有若是需要使用 RIP 协议,但是又嫌弃 RIP 的收敛时间过程,我们可以在 RIP 的配置模式中修改 Timer 们的值:

r1(config-router)#timers basic 10 30 30 100


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3