产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

RIP路由协议介绍

RIP是一种基于距离矢量算法计算最佳路由的动态路由协议,以到达目的网络的跳数作为路由选择的度量值,实现原理简单且易维护管理,适用于小型简单的网络。

  • 发布时间:2022-12-20

  • 点击量:

  • 点赞:

分享至

我想评论

1 RIP概述

1.1   RIP定义

RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的内部网关协议,即根据跳数来度量路由开销,进行路由选择。相比于其它路由协议,如OSPF、ISIS等,RIP协议实现更简单,对带宽、配置和管理等要求也更低,但受到路由跳数和收敛速度的限制,跳数大于15就认为网络不可达,所以无法用在大型复杂网络中。

1.2   RIPv1和RIPv2

RIP有两个版本,分别为RIPv1和RIPv2。
RIPv1:是一种有类别路由协议,协议报文中不携带掩码信息,只能识别自然网段的路由。RIPv1采用广播的方式发送协议报文,报文格式如下:
图1-1 RIPv1报文格式
                                                                                               
RIPv2:是RIPv1的扩充版本。它是一种无类别路由协议,协议报文中携带掩码信息,能够识别无类路由和超网路由。RIPv2采用组播的方式发送协议报文,报文格式如下:
图1-2 RIPv2报文格式
                                                                                                     
相比RIPv1,RIPv2有如下增强特性:
报文中携带掩码信息,能够识别无类路由,且支持路由聚合;
报文中携带下一跳信息,支持在广播网上指定去往目的网络的下一跳;
报文中携带路由Tag,支持通过Tag标记路由,对特定路由进行灵活控制。
支持协议报文认证,包括明文和MD5认证两种认证类型。
                                                                                 
2 RIP工作原理
RIP路由协议的工作流程主要包括路由表生成和路由表更新维护两部分,并基于距离矢量算法计算路由,且遵循度量值越小则越优的路由选取原则。

2.1   路由表生成

设备开启RIP协议后,会自动开始学习并生成路由表。路由表生成过程如下:
(1) 设备启动RIP后,会向相邻设备发送Request请求报文,请求对方的路由表中的全部路由信息。
(2) 相邻设备收到该请求报文后,会返回一个Response响应报文。报文中携带自己的所有路由信息。
(3) 设备收到响应报文后,根据报文中的路由信息更新自己的路由表,同时向邻居发送更新报文。

2.2   路由表更新与维护

2.2.1  RIP定时器

RIP协议的路由表更新维护过程主要通过四个定时器进行控制,进行路由表周期性更新维护。
更新定时器(Update timer):决定发送更新报文的时间间隔。根据定时时间周期性向邻居发送更新报文,请求对方所有路由信息。一般默认设置定时时间为30s。
无效计时器(Invalid timer):决定一条路由信息的有效时长。如果在此定时器到期前没有收到路由更新报文,就认为这条路由已经失效,将其度量值设置为16,并标记这条路由为无效路由。一般来说,无效计时时间应至少为更新计时的3倍,即至少发送3次更新报文确认路由不可达。一般默认设置无效计时器时间为180s。
清除计时器(Flush timer):决定彻底清除无效路由的时间。清除计时器在路由失效时开始计时,如果在定时器到期前没有收到相应邻居的对此路由的更新报文,就从路由表里删除这条路由信息。一般默认设置定时时间为120s。
抑制计时器(Hold-Down timer):当收到报文中路由更新为无效状态(度量值为16)时,将这条路由标记为抑制状态,同时抑制定时器开始计时。为了防止路由震荡,在定时时间内,设备不接收邻居发来的对应路由更新,直到计时超时才接收并允许更新这条路由信息。正常情况下,抑制计时时间设置要小于清除计算时间,一般默认设置定时时间为0,即无抑制阶段。

2.2.2  RIP路由表更新与维护实例

图2-1 路由表更新维护过程示意图
                                                                                                   
在如图2-1所示网络中,192.168.3.0的网络突然出现故障,若Router 2上配置更新定时器、无效定时器和清除计时器的定时时间分别为30s、180s、120s,Router 1上配置抑制定时器定时时间为10s,则对于去往192.168.3.0的路由信息的维护更新过程如下:
(1) Router 2每隔30s向Router 3发送一次更新请求。
(2) 若Router 2在180s内都没有收到Router 3关于192.168.3.0的路由更新,则将这条路由的度量值置为16,标记为无效路由,同时,清除计时器开始计时;若Router 3在180s内回复了路由更新,则Router 2更新本地路由,同时无效计时器复位。
(3) 假设Router 2中去往192.168.3.0的路由已置为无效,Router 1在收到Router 2的路由更新报文后,将对应路由信息标记为抑制状态,在抑制计时器超时(10s)前,Router 1不会再更新这条路由。
(4) 在路由失效后120s内,如果Router 2都没有收到Router 3的路由更新,就清除去往192.168.3.0的路由,如果在120s内收到了更新回复,Router 2就更新对应路由。

2.3   路由计算

在RIP路由表生成和更新维护过程中,都是基于距离矢量算法进行路由计算。
在距离矢量算法中,一条路由信息可以用本端指向目的网络的矢量表示,路由的度量值由本端到目的网络的转发跳数决定。对于直连网络,转发跳数为0,所以度量值也为0;对于非直连网络,通过叠加的方式获得对应的度量值。为了加快路由收敛,RIP中对转发跳数进行了限制,当跳数大于15时,则默认网络不可达。基于距离矢量的路由计算示例如下图所示:
图2-2 距离矢量算法示例图
                                                                                                      
在上图所示网络中,假设Router 2和Router 3中均没有去往192.168.0.0的路由,则路由学习过程为:当Router 2收到来自Route 1的更新报文时,学习报文中自己未知的网络192.168.0.0的路由,并在原路由距离的基础上加1;当Router 3收到来自Router 2的更新报文时,同样也会学习未知网络192.168.0.0的路由,并在原路由距离基础上加1,即距离为2。
                                                                                           
3 RIP防环机制

3.1   什么是路由环路

路由环路是指网络中产生矛盾的路由条目,导致数据包在网络中不断地循环传输,始终到达不了目的地的现象。在RIP协议中,路由环路产生过程如下例所示。
假设存在如图3-1所示网络,当192.168.3.0网络突然出现故障时,Router 3中对应的路由信息被删除,Router 2需要等待定时器超时才会删除该路由,在定时超时前,Router 2仍认为192.168.3.0可达。此时,若Router 2先向Router 3发送更新信息,则情况如下:
图3-1 RIP路由环路产生示意图
                                                                                                       
(1) Router 2向Router 3发送更新报文,报文中包含目的网络为192.168.3.0的路由信息;
(2) Router 3收到更新报文,学习其中192.168.3.0网络的路由,认为通过Router 2可以到达192.168.3.0;
(3) 此时,Router 2中去往192.168.3.0的下一跳为Router 3,Router 3中去往192.168.3.0的下一跳为Router 2,形成路由环路。

3.2   RIP防环机制

对于路由环路问题,RIP中存在3种解决方案,分别为水平分割、毒性逆转和触发更新。

3.2.1  水平分割

水平分割在不同网络中的实现不同,包括按接口和按邻居水平分割两种:
在广播型网络、点到点网络(P2P)和点到多点网络(P2MP)中,从哪个接口学习到的RIP路由信息,就禁止从该接口发送出去。
在非广播多路访问网络(NBMA)中,不允许将从某一邻居学习到的路由信息再发送回该邻居。
例如,在如图3-2所示网络中,Router 1通过G1/1接口学习了到去往192.168.2.0的路由信息。当192.1682.0网络出现故障时,Router 2删除对应路由信息,此时,若开启了水平分割功能,Router 1通过G1/1接口向Router 2发送更新报文时,报文中不会携带此接口学习到的路由,即可避免Router2学习到错误的路由,避免产生路由环路。
图3-2 水平分割原理示意图

3.2.2  毒性逆转

毒性逆转方法防止环路的原理为:对于从某一接口学习到的路由信息,当从该接口发出去时将该路由的度量值置为16(即路由不可达)。
例如,在如图3-3所示网络中,Router 1通过G1/1接口学习了到去往192.168.2.0的路由信息。当192.168.2.0网络突然发生故障,此时,如果开启了毒性逆转功能,Router 1在向Router 2发送更新报文时,会将去往192.168.2.0网络的路由度量值置为16,避免Router 2从Router 1学习到错误的可达路由,从而避免产生路由环路。
图3-3 毒性逆转原理示意图

3.2.3  触发更新

触发更新机制防止环路的原理为:当路由信息发生变化时,路由器会立即向邻居发送更新报文(不再等待定时器超时),向邻居同步路由变化信息,避免从邻居学习到错误的路由从而引发路由环路问题。开启触发更新功能后,定时更新会自动关闭。
                                                                              
4 总结
RIP是一种出现比较早的路由协议,通过简单的距离矢量算法来计算到达目的网络的最佳路径,实现和维护起来都比较容易,能够满足早期小型简单网络的需求,但RIP的扩展性受到转发跳数的限制,且RIP每次进行路由更新都会占用大量带宽,链路故障后需要花费较长时间才能实现收敛,所以相比于后面出现的OSPF等路由协议,在路由收敛速度上存在明显不足,无法用在一些现代的大型复杂网络中。

更多技术博文

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式