RIP路由协议

RIP(Routing Information Protocol,路由信息协议)作为一种较为简单的动态路由协议,在实际使用中有着广泛的应用。RIP协议是一个应用于网关(路由器)和主机之间交换路由器信息的距离矢量协议,目前最新版本是RIP v2。RIP采用距离矢量算法,即路由器根据距离选择路由,所以,也称为距离向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其他信息均予以丢弃。同时,路由器也把所收集的路由信息用RIP协议通知相邻的其他路由器。这样,正确的路由信息逐渐扩散到了全网。

1.RIP工作机制

RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用UDP报文进行路由信息的交换。RIP使用跳数(Hop Count)来衡量到达信宿机的距离,称为路由权(Routing Metric)。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定metric取值在0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。

RIP每隔30 秒钟发送一次路由刷新报文,如果在180秒内收不到从某一网络邻居发来的路由刷新报文,则将该网络邻居的所有路由标记为不可达。如果在300秒之内收不到从某一网上邻居发来的路由刷新报文,则将该网上邻居的路由从相应协议路由表中清除。

为提高性能,防止产生路由环,RIP支持水平分割(Split Horizon)和毒性逆转(Poison Reverse)。RIP还可引入其他路由协议所得到的路由。

每个运行RIP的路由器管理一个路由数据库,该路由数据库包含了到网络所有可达信宿的路由项,这些路由项包含下列信息。

目的地址:指主机或网络的地址。

下一跳地址:指为到达目的地,本路由器要经过的下一个路由器地址。

接口:指转发报文的接口。

metric值:指本路由器到达目的地的开销,是一个0~16之间的整数。

定时器:从路由项最后一次被修改到现在所经过的时间,路由项每次被修改时,定时器重置为0。

路由标记:区分路由为内部路由协议的路由还是外部路由协议的路由的标记。

Rip工作在UDP的端口520上-也就是说,所有的RIP数据包的源端口和目的端口都是520。

2. RIP的启动和运行

RIP启动和运行的整个过程可描述如下:

某路由器刚启动RIP时,以广播或组播的形式向相邻路由器发送请求报文,相邻路由器的RIP收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文。

路由器收到响应报文后,修改本地路由表,同时向相邻路由器发送触发修改报文,广播路由修改信息。相邻路由器收到触发修改报文后,又向其各自的相邻路由器发送触发修改报文。在一连串的触发修改广播后,各路由器都能得到并保持最新的路由信息。

同时,RIP每隔30秒向相邻路由器广播本地路由表,相邻路由器在收到报文后,对本地路由进行维护,选择一条最佳路由,再向其各自相邻网络广播修改信息,使更新的路由最终能达到全局有效。同时,RIP采用超时机制对过时的路由进行超时处理,以保证路由的实时性和有效性。

3. RIP-1和RIP-2

RIP 有两个不同的版本,RIPv1和RIPv2. RIPv1 。

RIPv1和RIPv2. RIPv1 的主要区别:
1.RIPv1是有类路由协议,RIPv2是无类路由协议
2.RIPv1不能支持VLSM,RIPv2可以支持VLSM
3.RIPv1没有认证的功能,RIPv2可以支持认证,并且有明文和MD5两种认证
4.RIPv1没有手工汇总的功能,RIPv2可以在关闭自动汇总的前提下,进行手工汇总
5.RIPv1是广播更新,RIPv2是组播更新,
6.RIPv1对路由没有标记的功能,RIPv2可以对路由打标记(tag),用于过滤和做策略
7.RIPv1发送的updata最多可以携带25条路由条目,RIPv2在有认证的情况下最多只能携带24条路由
8.RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定  
RIP的四个定时器
 
Update timer 更新计时器。在RIP启动之后,平均每30,启用了RIP的接口会发送应答信息(也就是update),这个update包含了路由器除了被split horizon(水平分割)抑制的完整的路由表.update周期发送的时间间隔(update timer)25.5秒到30秒之间(随机),并且update的目标地址为255.255.255.255
invalid timer无效计时器。如果 180 秒(默认值)后还未收到可刷新现有路由的更新,则将该路由的度量设置为 16,从而将其标记为无效路由。在清除计时器超时以前,该路由仍将保留在路由表中。
flush timer清除计时器。默认情况下,清除计时器设置为 240 ,比无效计时器长 60 秒。当清除计时器超时后,该路由将从路由表中删除。
这里就意味着一个路由条目在180秒内没有收到更新报文时,无效计时器超时。路由条目中该路由被标志为x.x.x.x is possibly down,直到刷新计时器也超时了(再过60秒后)该路由条目才被删除。在RIP中真正删除路由条目的是刷新计时器超时。
holddown timer抑制计时器。该计时器用于稳定路由信息,并有助于在拓扑结构根据新信息收敛的过程中防止路由环路。在某条路由被标记为不可达后,它处于抑制状态的时间必须足够长,以便拓扑结构中所有路由器能在此期间获知该不可达网络。默认情况下,抑制计时器设置为 180
抑制计时器通过以下方式工作:
1. 路由器从邻居处接收到更新,该更新表明以前可以访问的网络现在已不可访问。
2. 路由器将该网络标记为 possibly down 并启动抑制计时器。
3. 如果在抑制期间从任何相邻路由器接收到含有更小度量的有关该网络的更新,则恢复该网络并删除抑制计时器。
4. 如果在抑制期间从相邻路由器收到的更新包含的度量与之前相同或更大,则该更新将被忽略。如此一来,更改信息便可以继续在网络中传播一段时间。
5. 路由器仍然会转发目的网络被标记为 possibly down 的数据包。通过这种方式,路由器便能克服连接断续所带来的问题。如果目的网络确实不可达,但路由器又转发了数据包,黑洞路由就会建立起来并持续到抑制计时器超时。

4.RIP协议优缺点

RIP协议的优点是配置简单,非常适用于小规模网络。

RIP协议的缺点包括:

大量广播。RIP向所有邻居每隔30秒广播一次完整的路由表,将占用宝贵的带宽资源,在较慢的广域网链路上尤其有问题。

没有成本概念。RIP没有网络延迟和链路成本的概念。当采用RIP时,路由/转发的决定只是基于跳线,这样,很容易导致无法选择最佳路由。例如,一条链路拥有较高的带宽,但是,跳数较多,从而不能被选择。

支持的网络规模有限。由于RIP最多只支持16个步跳,当超过该跳数时,网络将认为无法到达。因此,RIP只能适用于规模较少的网络。