RIP V1

路由信息协议(Routing information protocol RIP)
RIP v1 和RIP v2的区别:
RIP v1是有类别路由选择协议,RIP v2是无类别路由选择协议。
RIP的基本原理与实现
RIP协议的处理是通过UDP的520端口进行操作的。所有的RIP消息都被封装在UDP协议中。源和目的字段都被设置为520。
RIP的2种消息类型:请求消息(request message); 响应消息(response message).
请求消息用来向邻居发送一个更新请求,响应消息用来传送路由更新。
RIP协议的度量是“基于跳数”的,度量为1,表示是发送路由器的直连网络。度量为16表示不可达网络。

开始时,RIP从每个启用了RIP协议的 接口广播出带有请求消息的数据包。接着RIP协议进入一个循环状态,不断的侦听来自其他路由器的RIP请求和响应消息。而接收请求消息的路由将回送包含自己路由表的响应消息。
当发出请求的路由器接收到响应消息时,它将处理附加在响应消息中的路由更新信息。如果更新信息中的路由条目是新的,路由器则会将这些新的路由条目连同通告路由器的地址一起添加到自己的路由表中。这里通告路由器的地址可以从更新数据包的源地址字段读取。如果更新信息中的网络RIP路由已经在路由表,那么只有在新的路由跳数更小时,才能替换源路由条目。如果路由跳数大于路由表中已存在的路由条目跳数,且更新路由器为已记录路由条目的下一跳,那么该路由会在一个抑制时间内被标记为不可达路由。如果抑制计时器超时,同一台路由器仍然在通告这个较大跳数的路由,那么路由器将接受该条路由的新度量值。

RIP的4个计时器:
1.更新计时器
路由启动RIP协议后,平均每隔30S从启动RIP的接口发送一次响应消息,除了被水平分割法则抑制的路由条目外,响应消息中包含了路由器的整张路由表。这个周期性的更新就由更新计时器进行初始化,并且包含一个随机变量防止路由表的同步更新。一个典型的RIP单个更新时间为25~35S。RIP_JITTER是Cisco IOS中专有的一个随机变量,它缩短到一般更新的15%(4.5S)。所以Cisco的更新周期为25.5-30 S之间。路由更新的地址是所有主机的广播地址255.255.255.255。
2.无效计时器
用来限制停留在路由表中未被更新的路由条目。也叫超时计时器或限制计时器。
当有一条新的路由被建立时,无效计时器就会被初始化为180 s.而每当接收到这条路由的更新消息时,无效计时器又将被重置为初始值。如果一条路由的更新消息在无效计时器超时时还未收到,那么该条路由的跳数将被置为16跳,标记为不可达路由。(但还可已用于转发数据)
3.抑制计时器
如果一条路由的更新消息的跳数大于路由表中已存在的路由的跳数,那么将会引起该路由进入180 s的抑制状态阶段。该状态内,路由器不会接收关于该路由的任何更新。直到抑制计时器超时。
4.刷新计时器
刷新计时器又叫垃圾收集计时器,它所设置的时间比无效计时器长240~60 s(cisco 是60s).如果一条路由的刷新计时器也超时,则该路由将会被通告为一条度量不可达的路由,同时从路由表中删除该路由表项。
Cisco IOS中4个计时器的默认值为:更新 30 s, 无效 180 s, 抑制 180 s, 刷新240 s.

R1(config-router)#timers basic 15(update) 90( Invalid) 90 ( Holddown)120(flush)

修改计时器时间,建议相同倍数增加。一般不建议修改。

RIP使用毒性逆转水平分割和触发更新(触发更新只能在低速链路启用,而且链路两端同时启用才生效。启用触发更新后,抑制计时器失效)。当路由的度量值发生改变时,才会产生触发更新。触发更新不会引起更新计时器重置。但为了防止触发更新引起触发更新风暴,影响网络稳定,又设置了一个计时器,1~5s之间,在计时器超时前,不能发送并发的触发更新。

RIP消息格式:
每个数据包包含一条命令,一个版本号和1-25条路由条目,每个路由条目包括地址族标识,路由可达IP地址和路由跳数。路由条目最多为25,如果一台路由器必须发送大于25条路由的更新消息,那么必须产生多条RIP更新消息。封装RIP的UDP数据包最大为512字节。
在这里插入图片描述
命令(command)——取值1或2,1表示请求信息,2表示响应信息。
版本(version)——版本1。
地址族标识(Address family identifier AFI)——IP协议设置为2.当请求全部路由表时为0.
可达地址IP——路由的目的地址。
度量(metric)——RIP中为跳数。1—16.

RIP的请求消息类型(Request message type)
RIP请求消息可以请求整个路由表信息,也可以仅请求某些具体的路由信息。
当请求整个路由表的信息时,请求消息是地址族标识字段为0,且度量为16的单条路由。接收到这个请求信息的设备通过单播的方式向发送地址回送自己的整个路由表,并遵循一些规则,如水平分割和边界汇总。。
在一些诊断测试的过程中,可能需要知道某个或某些具体的路由信息时,请求消息可以将特定地址的路由条目一起发送。接收到该请求的设备将根据请求消息逐个处理这些条目,构成一个响应消息。如果路由表中存在请求消息中的路由条目,则将其路由条目的度量值填入metric字段。如果没有,metric字段就被设置为16.在不考虑水平分割和边界汇总的情况下,响应消息将正确的告诉发送路由器需要了解的信息。
主机可以在“静”的模式下运行RIP,这种模式下网络中的主机不发送RIP响应消息,但可以侦听来自路由器的RIP更新来确保自己的路由表保持最新。但是当一台“静”主机接收到一个来自UDP端口的请求且不是来自标准RIP 520端口,那么该主机就必须发送一个响应消息。

有类别路由选择
RIP的管理距离为120,度量为跳数。
RIP协议转发数据包的过程:
当一个数据包进入宣告RIP的路由器后,路由器将进行路由表查询,逐步缩小数据包的路由选择范围,直到只剩唯一一条的路径。
第一步:读出目标地址的网络号(基于有类别路由选择协议的主网络号).
第二步:查看这个网络号在路由表中是否有匹配的条目,如果没有匹配到主网络号,这个数据包就被丢弃,同时发出一个ICMP目标不可达的消息给发出该数据包的路由器;如果可以查到看第三步。
第三步:从该主网络列出的子网中查询,如果能找到一个匹配的子网条目,那么该数据包将被转发,否则,该数据包被丢弃并发出一个ICMP目的不可达的消息给发送该数据包的路由器。
有类别路由选择的两个特点:
1.由RIP消息格式可看出,rip消息中并没有随同路由表条目一起通告子网掩码,从而路由器中也没有和单独的子网相关联的掩码。对于目标地址是本地直连网络的数据包,路由器会使用直连网络接口的掩码进行匹配,找到唯一路由。
在这里插入图片描述
在路由表,如果一个网络是路由器的直连网络,那么路由器将在路由表中作为一个标题条目列出该网络和该网络所连接口的子网掩码,然后列出它所知道的关于这个网络的所有子网。如果一个网络不是直连网络,那么路由表中仅仅列出这个网络的主网络号及掩码。
因为在有类别路由选择协议进行路由选择时,数据包的目的地址是通过在路由器接口配置的子网掩码来识别的。
2.不是本地直连网络的路由,路由器会做自动汇总(子网屏蔽)。路由表中显示只是一条通过主网络号标识的路由。对于不连续子网时容易出现问题。
有类别路由选择小结:
有类别路由选择协议的一个基本特征,在通告目的地址时不能随之一起通告它的子网掩码。因此,有类别路由选择协议首先必须匹配一个与该目的地址对应的主类(A/B/C)地址网络号,对于每个通过这台路由器的数据包。
1)如果目的地址是一个和路由器直连的网络成员,那么该网络的路由器接口上配置的子网掩码将被使用来确定目的地址子网。
2)如果目的地址不是一个和路由器直接相连的主网络成员,那么,路由器将尝试去匹配该目的地址对应的A类、B类、C类主网号,因为非本地直连网络路由经边界路由器时被自动汇总了。

猜你喜欢

转载自blog.csdn.net/yueyadao/article/details/87569973
RIP
v1