HCIE课程笔记1-RIP(1)

 

前言

RIP是Routing Information Protocol(路由信息协议)的简称。RIP是一种基于距离矢量(Distance-Vector)算法、简单的内部网关协议,主要应用于规模较小、可靠性要求较低的网络,对于环境复杂的大型网络,一般不使用RIP协议

 

RIP原理描述

  1. RIPv1

 

 

RIPv1报文结构:

(1)RIP每条信息包含两个部分,分别为Header和Router Entries。其中Header包含Command和Version。Route Entries最多包含25条路由条目,每个路由条目包含Address Family、Identifier、目的网段的IP地址和条数。

(2)各个字段解释如下:

Command:取值为1时表示该消息为请求消息;取值为2时表示该消息为响应消息

Version:取值1、2,表示RIP消息版本为RIPv1或者RIPv2

Address family identifier:对于IPv4协议,该字段值为2。当该消息是对整张路由表的请求消息时,该字段值为0。

IP Address:表示路由的目的地址。这一项可以是网络地址、主机地址

Metric:该字段时指RIP中的跳数。虽然取值范围为0-2^32,但在RIP中,取值1-16。

RIPv1特点:

(1)有类别路由协议。RIPv1中的协议报文没有携带掩码信息,在发送和接受路由更新信息时,是根据主类网段掩码和接口地址掩码来处理路由条目,所以不支持路由聚合、不支持不连续子网。

(2)广播更新

(3)基于UDP,端口号520。RIPv1数据包不超过512字节(RIP报文头部占用4个字节,每个路由条目占用20个字节,所以最大是4+(25*20)=504字节,再加上8个字节的UDP头部,所有RIP数据包的大小(不包含IP包的头部),最大512个字节)。

(4)不支持验证:RIPv1的协议报文没有验证字段,所以不支持验证。

 

2.RIPv2

 

 

RIPv2报文结构:

(1)基本结构通RIPv1。RIPv2使用了RIPv1中部分未使用字段以提供扩展功能

(2)Route Tag:用于标记外部路由或者引入到RIPv2协议中的路由,可以在路由策略中根据Tag对路由进行灵活的控制。

(3)Subnet Mask:用来标识使用IPv4地址的网络和子网部分,使得RIPv2支持路由聚合和CIDR

(4)Next Hop:表示比通告路由器地址更好的下一跳地址。如果该字段为0.0.0.0,说明通告路由器地址为最优下一跳地址。

(5)当RIPv2配置认证时,RIPv2对报文第一跳Route Entries进行修改。具体修改如下:

Address Family Identifier字段设置为0xFFFF,Route Tag字段改为Authentication Type字段。IP Address、Subnet Mask、Next Hop和Metric会变为口令字段。

 

RIPv2特点:

(1)无类别路由协议

(2)组播更新,组播地址224.0.0.9,只有运行RIPv2的设备才能收到协议报文,减少资源消耗

(3)基于UDP,端口号520

(4)支持外部路由Tag;支持路由聚合和CIDR;支持指定下一跳,从而使路径最优;支持认证,增强安全性。MD5认证实际上是把路由表项和共享密钥进行与运算,然后路由器将运算结果和路由条目发送给对端邻居。

 

3.定时器

RIP主要使用三个定时器:

(1)更新定时器:定时出发更新报文的发送,默认30S

(2)老化定时器:RIP设备在老化时间(默认180S)内没有收到邻居发来的路由更新报文,则认为路由不可达,老化定时器超时后,将该路由条目的度量值设置为16

(3)垃圾收集定时器:如果在垃圾收集时间内(默认为更新定时器的4倍,即120S),不可达路由没有收到来自同一邻居的更新,则该路由将被从路由表中彻底删除

三个定时器之间的关系:

RIP的更新信息发布是由更新定时器控制的,默认为每30秒发送依次;每一条路由表项对应两个定时器:老化定时器和垃圾收集定时器。当学到一条路由并添加到路由表中时,老化定时器启动。如果老化定时器超时,设备仍没有收到邻居发来的更新报文,则把该路由的度量值置为16(表示路由不可达),并启动垃圾收集定时器。如果垃圾收集定时器超时,设备仍然没有收到更新报文,则在路由表中删除该条目。

注意:如果设备不具有触发更新功能,一个路由表项最多需要300秒才能被删除(老化时间+垃圾收集时间)。如果存在触发更新,那么一个路由条目最多需要120秒才能被删除(即为垃圾收集时间)。

 

4 常见特性

(1)水平分割

指的是RIP从某个接口学到的路由,不会从该接口再发回给邻居设备。在帧中继和X.25等NBMA网络中,水平分割功能缺省为禁止状态。

RIP采用水平分割不但减少了带宽消耗,还可以防止路由环路。

 

如图所示,R1向R2发送网络10.0.0.0/8的路由信息,R2学习到这条路由会再发送给R1,这样,R1可以学习到两条到达10.0.0.0/8网络的路由:一条为跳数为0的直连路由,一条为下一跳指向R2,且跳数为2的路由,因为直连路由优先级高,直连;当R1到10.0.0.0/8的直连路由不可达,并且R2没有收到该路由不可达的信息时,R2会继续向R1发送10.0.0.0/8可达的路由信息,R1收到后就会认为可以通过R2到达10.0.0.0/8网络,R2仍旧认为可以通过R1到达10.0.0.0/8网络,从而形成环路。在配置水平分割后,R2将不会再把到网络10.0.0.0/8的路由发回给R1,由此避免了路由环路的产生。

注意:再NBMA网络中,水平分割缺省是禁用的

 

(2)毒性逆转

 

指的是RIP从某个端口学到路由后,将该路由的开销设置为16,并从原接口发回邻居设备,如果同时配置了毒性逆转和水平分割,则只使用毒性逆转功能。

 

毒性逆转可以清楚对方路由表中的无用路由。缺省情况下,不使能毒性逆转。一般情况下,在华为设备中均使用水平分割(除NBMA网络)而禁用毒性逆转。

 

(3)触发更新

触发更新指路由信息发生变化时,立即向邻居设备发送触发更新报文,通知变化的路由信息,从而缩短网络收敛时间。在路由表项变化时立即向其他设备广播该信息,而不必等待定时更新。如果没有触发更新,缺省情况下,失效的路由条目会在路由表停留最多300秒(老化定时器+垃圾收集定时器)。

触发更新不会触发接收路由器重置自己的更新定时器。

 

(4)路由聚合

路由聚合:

(a)同一个自然网段内的不通子网的路由在向外(其他网段)发送时聚合成一个网段的路由发送;

(b)RIPv1不支持路由聚合,RIPv2支持路由聚合(因为RIPv2报文携带掩码位,支持子网划分);

(c)包括基于RIPv2进程的有类聚合(自动聚合)和基于接口的聚合(手动聚合);

(d)如果被聚合路由携带了Tag,聚合后,Tag信息会被清除。

 

5 RIP工作过程

 

(1)初始状态:路由器开启RIP进程,宣告相应接口,则设备就会从相关接口发送和接收RIP报文;

(2)构建路由表:路由器依据接收到的RIP报文构建自己的路由表项;

(3)维护路由表:路由器每30秒发送更新报文,同时接收相邻路由器的更新报文以维护路由表项;

(4)老化路由表项:路由器为自己构建的路由表项启动180秒的定时器。180秒内收到更新报文,则重置该定时器;

(5)垃圾收集表项:超过180秒没有收到相应路由表项的更新,则启动120秒的垃圾收集定时器,同时将该路由表项的度量置为16;

(6)删除路由表项:再超过120秒,路由器仍然没有收到相应路由表项的更新,则删除该路由表项;