RIP协议学习

      动态路由协议包括距离向量路由协议和链路状态路由协议。RIP(Routing information protocols,路由信息协议)是使用最广泛的距离向量路由协议。RIP是为小型网络环境设计的,因为这类协议的路由学习及路由更新将产生较大的流量,占用过多的带宽。

RIP概述

   RIP是由Xerox在70年×××发的,最初定义在RFC1058中。RIP用两种数据包传输更新:更新和请求,每个有RIP功能的路由器默认情况下每隔30秒利用UDP520端口向与它直连的网络邻居广播(RIP v1)或组播(RIP v2)路由更新。因此路由器不知道网络的全局情况,如果路由更新在网络上传播慢,将会导致网络收敛较慢,造成路由环路。为了避免路由环路,RIP采用水平分割、毒性逆转、定义最大跳数、闪式更新、抑制计时5个机制来避免路由环路。

       RIP协议分为版本1和版本2。不论是版本1或版本2,都具备下面的特征:

       1、是距离向量路由协议;

       2、使用跳数(Hop Count)作为度量值;

       3、默认路由更新周期为30秒;

       4、管理距离(AD)为120;

       5、支持触发更新;

       6、最大跳数为15跳;

       7、支持等价路径,默认4条,最大6条;

       8、使用UDP520端口进行路由更新。

            而RIP v1和RIP v2的区别如表1-1。

表1-1 RIP v1和RIP v2的区别

RIPv1RIPv2
在路由更新的过程中不携带子网信息在路由更新的过程中携带子网信息
不提供认证提供明文和MD5认证
不支持VLSM 和CIDR支持VLSM和CIDR
采用广播更新采用组播(224.0.0.9)更新
有类别(CLassful)路由协议无类别(CLassless)路由协议


RIPv1

实验1:RIPv1基本配置

    1、实验目的

        通过本实验可以掌握:

         (1)在路由器上启动RIPv1路由进程

         (2)启用参与路由协议的接口,并且通告网络

         (3)理解路由表的含义

         (4)查看和调试RIPv1路由协议相关信息

    2、拓扑结构

          实验拓扑如图1-2所示

 wKiom1PDoqTwwDXwAACvUMXNWZ4245.jpg

图1-2RIPv1的基本配置

    3、实验步骤 ([注意]“//”后的信息表示注释,不是输出内内容)

       (1)步骤1:配置路由器R1

                R1(config)#router rip                                           //启动RIP进程

                R1(config-router)#version 1                               //配置RIP版本1

                R1(config-router)#network 1.0.0.0                   //通告网络

                R1(config-router)#netowrk 192.168.12.0       //通告网络

       (2)步骤2:配置路由器R2

                R2(config)#router rip                                                     //启动RIP进程

                R2(config-router)#version 1                                         //配置RIP版本1

                R2(config-router)#network 192.168.12.0                  //通告网络

                R2(config-router)#netowrk 192.168.23.0                 //通告网络


       (3)步骤3:配置路由器R3

                R3(config)#router rip                                                     //启动RIP进程

                R3(config-router)#version 1                                         //配置RIP版本1

                R3(config-router)#network 192.168.23.0                  //通告网络

                R3(config-router)#netowrk 192.168.34.0                 //通告网络


       (4)步骤4:配置路由器R4

                R2(config)#router rip                                                     //启动RIP进程

                R2(config-router)#version 1                                         //配置RIP版本1

                R2(config-router)#network 192.168.34.0                  //通告网络

                R2(config-router)#netowrk 14.0.0.0                         //通告网络


        4、实验调试

             (1)show ip route                                                    //查看路由表

              R1#show ip route

             Codes:C-connected,S-static,R-RIP,M-mobile,B-BGP

                        D-EIGRP,EX-EIGRP external,0-OSPF,IA-OSPF inter area

                        N1-OSPF NSSA external type 1,N2-OSPF NSSA external type2

                        E1-OSPF exrernal type 1,E2-OSPF external type 2

                        i-IS-IS,su-IS-IS summary,L1-IS-IS Level-1,L2-IS-IS level 2

                        ia-IS-IS inter area, *-candidate default,U-per-user static route

                       o-ODR, p-periodic downloaded static route

             Gateway of last resort is not set 

              C     192.168.12.0/24 is directly connected,Serial0/0/0

                         1.0.0.0/24 is subnetted, 1 subnets

              C           1.1.1.0  is directly connected, loopback0

              R      4.0.0.0/8[120/3] via 192.168.12.2,   00:00:03,   Serial0/0/0

              R      192.168.23.0/24 [120/1] via 192.168.12.2,  00:00:03,  Serial0/0/0

              R      192.168.34.0/24 [120/2] via 192.168.12.2,  00:00:03,  Serial0/0/0

          以上输出表明路由器R1学到了3条RIP路由,其中路由条目“R 4.0.0.0/8[120/3] via 192.168.12.2,   00:00:03,   Serial0/0/0 ”的含义如下:         

  ①R:路由条目是通过RIP路由协议学习来的;

  ②4.0.0.0/8:目的网络;

  ③120:RIP路由协议的默认管理距离;

  ④3:  度量值,从路由器R1到达网络4.0.0.0/8的度量值为3 跳;

  ⑤192.168.12.2:下一跳地址;

  ⑥00:00:03:距离下一次更新还有27(30-3)秒;

  ⑦Serial0/0/0:接收该路由条目的本路由器的接口。 同时通过该路由条目的掩码长度可以看到,RIPv1确实不传递子网信息。

   (2)show ip protocols                                                //查看IP路由协议配置和统计信息

   R1#show ip protocols

   Routing protocols is "rip"                                                //路由器上运行的路由协议是RIP

   Outgoing update filter list for all interfaces is not set   //在出方向上没有设置过滤列表

   Incoming update filter List for all interfaces is not set  //在入方向上没有设置过滤列表

  Sending updates every 30 seconds,nest due in 23 seconds //更新周期30秒,下次更新还有23秒.

    [注意]

   为了防止更新同步,RIP 会以15%的误差发送更新,即实际发送更新的周期的范围是25.5-30秒.

  Invalid after 180 seconds,hold down 180,flushed after 240

         //invalid after:路由条目如果在180秒还没有收到更新,则被标记为无效,

[技术要点]被标记为无效的路由条目类

    如下所示:

   R 4.0.0.0/8 is possibly down, routing via 192.168.12.2, Serial0/0/0 可以通过很多方式 使路由条目进入无效周期,例如在接口上加拒绝接收UDP520端口的ACL,还比如将接口设置为被动接口等。

         //hold down:抑制计时器的时间为180秒

        //flushed after:路由条目如果在240秒还没有收到更新,则从路由表中删除此路由条目

    [提示]

    可以通过下面的命令来调整以上三个时间参数:

    R1(config-router)#timers basic update invalid holddown flashed

    Redistributing:rip                //只运行RIP协议,没有其它的协议重分布进来

    Default version control: send version 1, receive version 1  //默认发送版本1的路由更新,接收版本1的路由更新

     Interface              Send            Recv     triggered  RIP Key-chain

     Serial0/0/0              1                  1

     Loopback0              1                  1

   //以上三行显示了运行RIP协议的接口,以及可以接收和发送的RIP路由更新的版本

  Automatic network summarization is in effect    //RIP 路由协议默认开启自动汇总功能

  Maximum path:4                     //RIP 路由协议可以支持4条等价路径,最大为6条。

   [提示]

    可以通过下面的命令来修改RIP路由协议支持等价路径的条数:

 R1(config-router)#maximum-paths  条目数

  Routing for networks:

   1.0.0.0

   192.168.12.0

   //以上三行表明RIP通告的网络

  Routing Information sources:

    Gateway       Distance     Last update

  192.168.12.2      120        00:00:03

  //以上三行表明路由信息源,其中:

  //gateway:学习路由信息的路由器的接口地址,也就是下一跳地址

  //distance:管理距离

  //last update:更新发生在多长时间以前

    distance:(default is 120)  //默认管理距离是120

 (3)debug ip rip  //该命令可以查看RIP路由协议的动态更新过程。

   R1#clear ip route *

     R1#debug ip rip

     Feb 9 12:43:13.311:RIP:sending request on Serial0/0/0 to 255.255.255.255     

     Feb 9 12:43:13.315: RIP: sending request on Loopback0 to 255.255.255.255

     Feb 9 12:43:13.323: RIP: received v1 update from 192.168.12.2 on Serial0/0/0

     Feb 9 12:43:13.323: 4.0.0.0 in 3 hops

     Feb 9 12:43:13.323: 192.168.23.0 in 1 hops

     Feb 9 12:43:13.323: 192.168.34.0 in 2 hops

     Feb 9 12:43:15.311: RIP: sending v1 flash update to 255.255.255.255 via Loopback0 (1.1.1.1)

     Feb 9 12:43:15.311: RIP: build flash update entries

     Feb 9 12:43:15.311: network 4.0.0.0 metric 4

     Feb 9 12:43:15.311: network 192.168.12.0 metric 1

     Feb 9 12:43:15.311: network 192.168.23.0 metric 2

     Feb 9 12:43:15.311: network 192.168.34.0 metric 3

     Feb 9 12:43:15.311: RIP: sending v1 flash update to 255.255.255.255 via Serial0/0/0(192.168.12.1)

     Feb 9 12:43:15.311: RIP: build flash update entries

     Feb 9 12:43:15.311: network 1.0.0.0 metric 1

    通过以上输出,可以看到RIPv1 采用广播更新(255.255.255.255),分别向Loopback0

和s0/0/0 发送路由更新,同时从s0/0/0 接收三条路由更新,分别是4.0.0.0,度量值是3

跳;192.168.34.0, 度量值是2 跳;192.168.23.0,度量值是1 跳。  

    【技术要点】

      flash update(闪式更新)指的是当网络上某个路径的度量值发生变化,路由器立即

发出更新信息,而不管是否到达常规路由信息更新的周期。

    实验2:被动接口与单播更新

  1.实验目的

     通过本实验可以掌握:

   (1)被动接口的含义、配置和应用场合

   (2)单播更新的应用场合和配置

  2.拓扑结构

    实验拓扑如图2-1 所示。

wKioL1PD3m6ggft5AABnRGd8U1o069.jpg

图2-1配置被动接口

    由于以太口g0/0 和g0/1 连接主机,不需要向这些接口发送路由更新,所以可以考虑将

路由器的该接口设置为被动接口。

3.实验步骤

(1)步骤1:配置路由器  R1

R1(config)#router  rip

R1(config-router)#version  1

R1(config-router)#network  10.0.0.0

R1(config-router)#network  172.16.0.0

R1(config-router)#network  192.168.12.0

R1(config-router)#passive-interface  GigabitEthernet0/0

R1(config-router)#passive-interface  GigabitEthernet0/1

(2)步骤2:配置路由器  R2

R2(config)#router  rip

R2(config-router)#version  1

R2(config-router)#network  192.168.12.0

R2(config-router)#network  2.0.0.0

4.实验调试

R1#debug  ip  rip

       R1#clear  ip  route  *

     Feb 9 13:24:41.275: RIP: sending request on Serial0/0/0 to 255.255.255.255

       Feb 9 13:24:41.283: RIP: received v1 update from 192.168.12.2 on Serial0/0/0

       Feb 9 13:24:41.283: 2.0.0.0 in 1 hops

       Feb 9 13:24:43.275: RIP: sending v1 flash update to 255.255.255.255 via Serial0/0/0(192.168.12.1)

       Feb 9 13:24:43.275: RIP: build flash update entries

       Feb 9 13:24:43.275: network 10.0.0.0 metric 1

       Feb 9 13:24:43.275: network 172.16.0.0 metric 1

     从以上输出可以看出,路由器R1确实不向被动接口g0/0和g0/1发送路由更新。 

 

 

【技术要点】

 被动接口只能接收路由更新,不能以广播或组播方式发送更新,但是可以以单播的方式发送更新,配置单播更新的命令如下: 

R1(config-router)#neighbor  A.B.C.D

【实例】

如图2-2 所示,路由器R1 只想把路由更新送到路由器R3 上,由于RIPv1 路由协议采用

广播更新,默认情况下,路由更新将发送给以太网上任何一个设备,为了防止这种情况发生,把路由器R1 的g0/0 配置成被动接口,然而路由器R1 还想把路由更新发送给R3,这时候必须采用单播更新,为指定的相邻路由器R3 发送路由更新。路由器R1 具体的配置如下:

R1(config)#router rip

R1(config-router)#passive-interface GigabitEthernet0/0

R1(config-router)#neighbor 172.16.1.3

  wKioL1PD4Viy03NSAABdFUmPPU8395.jpg

图2-2配置单播更新

       实验3:使用子网地址

             1.实验目的

           通过本实验可以掌握:

            (1)RIPv1使用子网地址的条件

             (2)RIPv1接收子网路由的原则

         2.拓扑结构

wKiom1PE6rzRraEoAABR7sv7O-U817.jpg

实验拓扑如图3-1所示。


        3.实验步骤

        (1)步骤1:配置路由器  R1

        R1(config)#router  rip

        R1(config-router)#version  1

        R1(config-router)#network  172.16.0.0

        (2)步骤2:配置路由器  R2

        R2(config)#router  rip

        R2(config-router)#version  1

        R2(config-router)#network  172.16.0.0

        4.实验调试

        分别查看R1、R2 的路有表:

        R1#show  ip route

        Codes:C  -connected,S-static,R  -RIP,  M   -mobile,B  -BGP

        D  -EIGRP,EX  -EIGRPexternal,O -OSPF,IA-OSPF  interarea

        N1  -OSPF  NSSAexternal  type1, N2  -OSPF  NSSAexternal  type2

        E1-OSPF  external  type1,  E2-OSPF  external type2

        

        i-IS-IS,su-IS-IS summary,L1-IS-IS level-1,L2-IS-IS level-2

        ia  -IS-IS inter area, *-candidatedefault,U  -per-userstaticroute o  -ODR,  P  -periodicdownloaded  staticroute

         

         

        Gatewayoflast  resort  isnotset

         

         

        172.16.0.0/24issubnetted,3subnets

        C           172.16.1.0  isdirectlyconnected,Loopback0

        C           172.16.2.0  isdirectlyconnected,Serial0/0/0

        R           172.16.3.0 [120/1]via  172.16.2.2,  00:00:03,  Serial0/0/0

        R2#show  ip  route

        Codes:C  -connected,S-static,R  -RIP,  M   -mobile,B  -BGP

        D  -EIGRP,EX  -EIGRPexternal,O -OSPF,IA-OSPF  interarea

        N1  -OSPF  NSSAexternal  type1, N2  -OSPF  NSSAexternal  type2

        E1-OSPF  external  type1,  E2-OSPF  external type2

        i-IS-IS,su-IS-IS summary,L1-IS-IS level-1,L2-IS-IS level-2

        ia  -IS-IS inter area, *-candidatedefault,U  -per-userstaticroute o  -ODR,  P  -periodicdownloaded  staticroute

        Gatewayoflast  resort  isnotset

         

         

        172.16.0.0/24issubnetted,3subnets

        R           172.16.1.0 [120/1]via  172.16.2.1,  00:00:21,  Serial0/0/0

        C           172.16.2.0  isdirectlyconnected,Serial0/0/0

        C           172.16.3.0  isdirectlyconnected,Loopback0

 

 

从路由器R1和R2的路由表输出可以看出,它们互相学习到了24位的路由条目,从而 可以说明,某些情况下RIPv1更新确实可以携带子网信息。

        【技术要点】

        RIPv1路由更新可以携带子网信息必须同时满足两个条件:

        (1)整个网络所有地址在同一个主类网络;

        (2)子网掩码长度必须相同。

         

        【思考】

        假如在图3-1中,路由器R2的s0/0/0接口的IP地址的掩码长度为25位,那么,R2 的路由表是怎样的呢?结果如下:

        R2#show  ip route

        Codes:C  -connected,S-static,R  -RIP,  M   -mobile,B  -BGP

        D  -EIGRP,EX  -EIGRPexternal,O -OSPF,IA-OSPF  interarea

        N1  -OSPF  NSSAexternal  type1, N2  -OSPF  NSSAexternal  type2

        E1-OSPF  external  type1,  E2-OSPF  external type2

        i-IS-IS,su-IS-IS summary,L1-IS-IS level-1,L2-IS-IS level-2

        ia  -IS-IS inter area, *-candidatedefault,U  -per-userstaticroute o  -ODR,  P  -periodicdownloaded  staticroute

        

        Gatewayoflast  resort  isnotset

         

         

        172.16.0.0/16isvariably  subnetted,3subnets,  2masks

        R           172.16.1.0/25[120/1]  via 172.16.2.1,  00:00:17,  Serial0/0/0

        C           172.16.2.0/25isdirectlyconnected,Serial0/0/0

        C           172.16.3.0/24isdirectlyconnected,Loopback0

        由此得出RIPv1接收子网路由的原则:如果路由器收到的是子网路由条目,那么就以接 收该路由条目的接口的掩码长度作为该子网路由条目的掩码长度。