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的区别
RIPv1 | RIPv2 |
在路由更新的过程中不携带子网信息 | 在路由更新的过程中携带子网信息 |
不提供认证 | 提供明文和MD5认证 |
不支持VLSM 和CIDR | 支持VLSM和CIDR |
采用广播更新 | 采用组播(224.0.0.9)更新 |
有类别(CLassful)路由协议 | 无类别(CLassless)路由协议 |
RIPv1
实验1:RIPv1基本配置
1、实验目的
通过本实验可以掌握:
(1)在路由器上启动RIPv1路由进程
(2)启用参与路由协议的接口,并且通告网络
(3)理解路由表的含义
(4)查看和调试RIPv1路由协议相关信息
2、拓扑结构
实验拓扑如图1-2所示
图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 所示。
图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
图2-2配置单播更新
实验3:使用子网地址
1.实验目的
通过本实验可以掌握:
(1)RIPv1使用子网地址的条件
(2)RIPv1接收子网路由的原则
2.拓扑结构
实验拓扑如图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接收子网路由的原则:如果路由器收到的是子网路由条目,那么就以接 收该路由条目的接口的掩码长度作为该子网路由条目的掩码长度。