天天看点

RIP协议总结

说明:本文仅供学习交流,转载请标明出处,欢迎转载!

本文是如下参考文献相关内容的总结:

[1] 《tcp/ip详解 卷1:协议》

[2] 《tcp/ip协议族》

[3] 《计算机网络 第5版》

        rip全称routing information protocal(路由信息协议),它是一种基于距离向量的路由选择协议(而ospf是基于链路状态的路由选择协议),目前被广泛应用于小型网络中。既然rip是基于距离向量的路由选择协议,所以我们好奇的是究竟什么是距离向量算法?不过在总结距离向量算法之前,我们先介绍点预备知识。

        预备知识:

        1.rip中的距离以“跳"为单位,表示经过的路由器的个数。rip规定,一个路由器到其直接向量的网络的距离为1,距离为16表示目的不可达,16被定义为无穷大,也就是说rip规定,一跳路径最多包含15个路由器。

       2.rip中每个路由表的表项包含三个内容:目的网络,跳数(度量单位),下一跳路由器。

       3.rip协议仅和相邻路由器按照固定的时间间隔交换路由信息。

       距离向量算法:

       假设路由器r0向路由器r1发送了一个rip报文(显然r0与r1是相邻的路由器,根据预备知识1),则路由器r1收到r0发来的rip报文后会根据自己的路由表和收到的路由信息中的每一条路由,来生成新的路由表。对于收到的路由信息中的每一条路由,都做如下处理:(r1收到r0发来的路由信息)

           加入该路由项对应的信息为:(n1,k,rx)

        a.目的地址n1在r1中不存在,(n1,k+1,r0)新增加到r1的路由表中。

        b.目的地址n1在r1中存在,且该表项下一跳的地址为r0,此时不管三七二十一,将(n1,k+1,r0)覆盖掉r0中的该表项。

        c.目的地址n1在r1存在,但是该表项的下一跳地址不是r0,假设为(n1,m,rt),此时比较k+1与m的大小。若k+1较小,则将(n1,k+1,r0)覆盖掉该表项,否则忽略该路由信息。

        d.若在180s的时间内未收到任何某相邻路由更新信息,则将该将此相邻路由器的距离置为16,表示不可达。

        rip协议报文

RIP协议总结

       通过上图我们可以从宏观上观察rip数据报,可以得出:rip报文被封装在udp数据报中。下面我们从微观上来分析rip报文。

RIP协议总结

            rip的报文格式如上图所示。下面分析各个字段的含义:

命令:8位,1表示请求,2表示应答,3和4舍弃不用,5和6表示非正式的轮询命令;

        版本:8位,包括rip和rip2,1表示rip,2表示rip2;

地址系列:16位,对于tcp/ip这个值固定为2;

        ip地址,距离:这两个前面已经提过,很熟悉了应该。

       notice:一个rip报文中,最多可包含25个路由,这是为了保证rip报文的总长度小于512b。可以计算下,一个rip报文最多占用4b+25*20b=504b。所以每个rip报文最多只能携带25个路由(路由只的是路由项,不是路由器),所以,为了发送整个路由表,通常需要发送多个rip报文。

       每过30s所有或部分路由器会将其完整路由表发送给相邻路由器 ;每当一条路由的距离发生变化时,就对它进行更新,不需要发送完整路由表,而只需要发送哪些变化的表项。

       rip协议是基于路由向量选择的非常简单的协议,从上面的rip报文中,我们可以很明显地看出,rip没有子网地址的概念,若某个ip地址的主机号不为0,rip无法区分非0部分是否包含子网号,rip2则克服了这一缺陷。

       rip2协议报文

RIP协议总结

         rip2对rip的改进在于,充分利用了很多全0的字段。

        选路域:指明了该数据报的所有者,该域是一个选路守护程序的标识符pid;

        选路标记:为了支持egp,携带着一个egp和bgp的自治系统号;

        子网掩码:使得rip2支持无分类编制和cidr。

         下一站ip地址:表示下一跳地址。若两个自治系统共享一个网络(如主干网),则这个字段特别有用。这个报文可以定义分组发往的路由器,不管这个路由器是在同样的自治系统或在另一个自治系统。该字段为0时,表示发往目的地址的报文应该发给发送rip报文的系统。

          rip-2支持广播和多播。

       点点滴滴:

       1.rip是基于距离向量的协议。

       2.rip中仅将路由信息发送给相邻的路由器。

       3.当网络出现故障时,rip通常表现为慢收敛,即“慢消息传得快,坏消息传的慢”!“收敛”指的是在自治系统中所有结点都得到路由信息的过程,即很长时间才能稳定下来。

       4.rip2是对rip的改进,使其支持无分类编址cidr、广播、多播。