动态路由协议包括距离矢量路由协议和链路状态路由协议。RIPRouting InformationProtocols,路由信息协议)是使用最广泛的距离矢量路由协议。RIP 是为小型网络环境设计的,因为这类协议的路由学习及路由更新将产生较大的流量,占用过多的带宽。
     RIP 协议分为版本1 和版本2。不论是版本1或版本2,都具备下面的特征:
1. 是距离向量路由协议;
2. 使用跳数(Hop Count)作为度量值;
3.默认路由更新周期为30 秒;
4. 管理距离(AD)为120
5. 支持触发更新;
6. 最大跳数为15 跳;
7. 支持等价路径,默认4 ,最大6 条;
8. 使用UDP520 端口进行路由更新。
通过下面的实验来学习RIPv1RIPv2的配置:
在路由器上启动RIPv1进程
(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)#network 192.168.1.0
2)步骤2:配置路由器R2
R2(config)#router rip
R2(config-router)#version 1
R2(config-router)#network 192.168.1.0
R2(config-router)#network 192.168.2.0
3)步骤3:配置路由器R3
R3(config)#router rip
R3(config-router)#version 1
R3(config-router)#network 192.168.2.0
R3(config-router)#network 192.168.3.0
4)步骤4:配置路由器R4
R4(config)#router rip
R4(config-router)#version 1
R4(config-router)#network 192.168.3.0
R4(config-router)#network 4.0.0.0
调试:(1)使用show ip route 命令查看路由表
R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external 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
 
     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.1.2, 00:00:14, Ethernet0/0
C    192.168.1.0/24 is directly connected, Ethernet0/0
R    192.168.2.0/24 [120/1] via 192.168.1.2, 00:00:14, Ethernet0/0
R    192.168.3.0/24 [120/2] via 192.168.1.2, 00:00:14, Ethernet0/0
以上输出表明路由器R1 学到了3 RIP 路由,其中路由条目“R 4.0.0.0/8 [120/3]via 192.168.1.2, 00:00:14, Ethernet0/0”的含义如下:
R:路由条目是通过RIP 路由协议学习来的;
4.0.0.0/8:目的网络;
120RIP 路由协议的默认管理距离;
3: 度量值,从路由器R1 到达网络4.0.0.0/8 的度量值为3 跳;
192.168.1.2:下一跳地址;
00:00:14:距离下一次更新还有1630-14)秒;
Ethernet0/0:接收该路由条目的本路由器的接口。
同时通过该路由条目的掩码长度可以看到,RIPv1 确实不传递子网信
2show ip protocol该命令查看IP 路由协议配置和统计信息。
R1#show ip protocol
Routing Protocol is "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, next due in 22 seconds
  Invalid after 180 seconds, hold down 180, flushed after 240
  Redistributing: rip
  Default version control: send version 1, receive version 1
    Interface             Send  Recv  Triggered RIP  Key-chain
    Ethernet0/0           1     1
    Loopback0             1     1
  Automatic network summarization is in effect
  Maximum path: 4
  Routing for Networks:
    1.0.0.0
    192.168.1.0
  Routing Information Sources:
    Gateway         Distance      Last Update
    192.168.1.2          120      00:00:08
  Distance: (default is 120)
其中:Routing Protocol 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, next due in 22 seconds
//更新周期是30 秒,距离下次更新还有22
Redistributing: rip
//只运行RIP 协议,没有其它的协议重分布进来
Default version control: send version 1, receive version 1
//默认发送版本1 的路由更新,接收本版1 的路由更新
Interface             Send  Recv  Triggered RIP  Key-chain
    Ethernet0/0           1     1
    Loopback0             1     1
Automatic network summarization is in effect
//RIP 路由协议默认开启自动汇总功能
Maximum path: 4
//RIP 路由协议可以支持4 条等价路径,最大为6
【提示】
可以通过下面的命令来修改RIP 路由协议支持等价路径的条数:
R1(config-router)#maximum-paths number-paths
 
3debug ip rip:查看RIP 路由协议的动态更新过程。
R1#debug ip rip
RIP protocol debugging is on
R1#
*Mar  1 00:46:53.487: RIP: received v1 update from 192.168.1.2 on Ethernet0/0
*Mar  1 00:46:53.487:      4.0.0.0 in 3 hops
*Mar  1 00:46:53.491:      192.168.2.0 in 1 hops
*Mar  1 00:46:53.491:      192.168.3.0 in 2 hops
*Mar  1 00:46:58.747: RIP: sending v1 update to 255.255.255.255 via Loopback0 (1.1.1.1)
*Mar  1 00:46:58.747: RIP: build update entries
*Mar  1 00:46:58.747:   network 4.0.0.0 metric 4
*Mar  1 00:46:58.751:   network 192.168.1.0 metric 1
*Mar  1 00:46:58.751:   network 192.168.2.0 metric 2
*Mar  1 00:46:58.751:   network 192.168.3.0 metric 3
*Mar  1 00:46:59.347: RIP: sending v1 update to 255.255.255.255 via Ethernet0/0(192.168.1.1)
*Mar  1 00:46:59.347: RIP: build update entries
*Mar  1 00:46:59.347:   network 1.0.0.0 metric 1
通过以上输出,可以看到RIPv1 采用广播更新(255.255.255.255
在路由器上启动RIPv2进程 
1)步骤1:配置路由器R1
R1(config)#router rip        //启动RIP进程
R1(config-router)#version 2   //配置RIP版本2
R1(config-router)#no auto-summary   //关闭自动汇总
R1(config-router)#network 1.0.0.0
R1(config-router)#network 192.168.1.0
2)步骤2:配置路由器R2
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary
R2(config-router)#network 192.168.1.0
R2(config-router)#network 192.168.2.0
3)步骤3:配置路由器R3
R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#no auto-summary
R3(config-router)#network 192.168.2.0
R3(config-router)#network 192.168.3.0
4)步骤4:配置路由器R4
R4(config)#router rip
R4(config-router)#version 2
R4(config-router)#no auto-summary
R4(config-router)#network 192.168.3.0
R4(config-router)#network 4.0.0.0
调试:(1)使用show ip route 命令查看路由表
R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external 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
 
     1.0.0.0/24 is subnetted, 1 subnets
C       1.1.1.0 is directly connected, Loopback0
    4.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
R   4.4.4.0/24 [120/3] via 192.168.1.2, 00:00:22, Ethernet0/0
C    192.168.1.0/24 is directly connected, Ethernet0/0
R    192.168.2.0/24 [120/1] via 192.168.1.2, 00:00:11, Ethernet0/0
R    192.168.3.0/24 [120/2] via 192.168.1.2, 00:00:11, Ethernet0/0
从上面输出的路由条目“4.4.4.0/24”,可以看到RIPv2 路由更新是携带子网信息
2show ip protocol该命令查看IP 路由协议配置和统计信息。
 
R1#show ip protocol
Routing Protocol is "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, next due in 2 seconds
  Invalid after 180 seconds, hold down 180, flushed after 240
  Redistributing: rip
  Default version control: send version 2, receive version 2
    Interface             Send  Recv  Triggered RIP  Key-chain
    Ethernet0/0           2     2
    Loopback0             2     2
  Automatic network summarization is not in effect
  Maximum path: 4
  Routing for Networks:
    1.0.0.0
    192.168.1.0
  Routing Information Sources:
    Gateway         Distance      Last Update
    192.168.1.2          120      00:00:23
  Distance: (default is 120)
// RIPv2 默认情况下只接收和发送版本2 的路由更新
【提示】
可以通过命令“ip rip send version”和“ip rip receive version”来控制在路由器接口上接收和发送的版本,例如在Ethernet0/0 接口上接收版本1 2 的路由更新,但是只发送版本2 的路由更新,配置如下:
R1(config-if)#ip rip send version 2
R1(config-if)#ip rip receive version 1 2
3)通过debug ip rip 命令查看RIP 路由协议的动态更新过程。
R1#debug ip rip
RIP protocol debugging is on
*Mar  1 01:37:27.119: RIP: received v2 update from 192.168.1.2 on Ethernet0/0
*Mar  1 01:37:27.119:      4.4.4.0/24 via 0.0.0.0 in 3 hops
*Mar  1 01:37:27.123:      192.168.2.0/24 via 0.0.0.0 in 1 hops
*Mar  1 01:37:27.123:      192.168.3.0/24 via 0.0.0.0 in 2 hops
*Mar  1 01:37:29.627: RIP: sending v2 update to 224.0.0.9 via Ethernet0/0 (192.1
68.1.1)
*Mar  1 01:37:29.627: RIP: build update entries
*Mar  1 01:37:29.627:   1.1.1.0/24 via 0.0.0.0, metric 1, tag
通过以上输出,可以看到RIPv2 采用组播更新(224.0.0.9)