RIP协议介绍:动态路由协议包括距离向量路由协议跟链路状态路由协议、RIP是使用最广泛的距离微向量路由协议。RIP是为小型网络环境设计的,因为这类协议是路由学习以及路由更新将会产生比较大的流量、占用过多的网络带宽,网络环境越大产生的流量就越大、所以RIP只适用于小型网络环境。
RIP协议分为版本1和版本2、他们都有以下特点:
- 是距离向量路由协议、
- 使用跳数做为度量值 (跳数是指跨越的网络设备数,一个网络设备成为一跳)
- 默认路由更新周期为130s (RIP默认会每130s发送RIP协议包来更新路由表)、
- 管理距离(AD)为120、 (路由器会根据AD值来选择就近原则AD值越小意思就是发送数据越快捷。)
- 支持触发更新 (触发更新的意思是你去掉一个路由器的话他自己会发现、这是动态路由的特点)
- 最大跳数为150 (最多能横跨150个网络设备)
- 支持等价路径,默认4条,最大6条
- 使用UDP520短空进行路由更新。
RIPv1跟RIPv2的区别是:
RIPv1 RIPv2
在路由更新的过程中不携带子网信息 在路由更新的过程中携带子网信息
不提供认证 提供铭文是MD5认证
不支持VLSM和CIDR 支持VLSM和CIDR
采用广播更新 采用组播(222.0.0.9)更新
有类别路由协议 无类别路由协议
————————————————————————————————————
下面我们利用小实验来更好的学习、理解透彻RIP协议:
*先把IP跟loopback口配置好。
做好实验前的配置后我们来配置路由器R1、拿他当范例:
R1#configure terminal //进入配置模式
Enter configuration commands, one per line. End with CNTL/Z.
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.12.0
R1(config-router)#exit
R1(config)#
然后把其他路由器也都按R1的配置进行操作。配置RIP1版本、然后通告自己所连接的网络。
—————————————————————————————————————
R1#show ip route //查看路由表。
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
i - IS-IS, 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.12.2, 00:00:02, Serial0/3/0
C 192.168.12.0/24 is directly connected, Serial0/3/0
R 192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:02, Serial0/3/0
R 192.168.34.0/24 [120/2] via 192.168.12.2, 00:00:02, Serial0/3/0
R1#
以上输出表明路由器R1学习到了3调RIP路由、“R 4.0.0.0/8 [120/3] via 192.168.12.2, 00:00:02, Serial0/3/0”的含义是:
1、R:这条路由信息是通过RIP路由协议学习到的。
2、4.0.0.0/8:指的是目的网络。
3、[120/3]:RIP协议的默认管理距离是120、从路由器R1到达4.0.0.0/8的度量值是3跳、
4、192.168.12.2:下一跳的地址
5、00;00;02:距离下一次更新还有28s、(RIP默认更新时间是30s)
6、Serial0/3/0:接收这个路由条目的本路由器的接口
—————————————————————————————————————
R1#show ip protocols //查看IP路由协议的配置和统计信息。
Routing Protocol is "rip" //路由器上运行的是RIP协议
Sending updates every 30 seconds, next due in 24 seconds //更新周期是30s、距离下次更新还有24s
Invalid after 180 seconds, hold down 180, flushed after 240 //路由条目如果在180s还没有收到更新,则被标记为无效路由。在240s还没有收到更新、就会从路由表中删掉此路由条目。
【注意】被标记为无效路由的条目跟这个差不多“R 4.0.0.0/8 is possibly down,routing via 192.168.12.2, Serial0/0/0”
有很多方式可以使路由条目进入无效周期、例如在接口上加上拒绝接收UDP520端口的ACL;或者将端口设置为被动端口。这里先不做介绍。
Outgoing update filter list for all interfaces is not set //在出方向上没有设置过滤表、
Incoming update filter list for all interfaces is not set //在入方向上没有设置过滤表、
Redistributing: rip
Default version control: send version 1, receive 1 //默认的版本控制权出或入都是版本1
Interface Send Recv Triggered RIP Key-chain
Loopback0 1 1
Serial0/3/0 1 1
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
1.0.0.0
192.168.12.0
Passive Interface(s):
Routing Information Sources:
Gateway Distance Last Update
192.168.12.2 120 00:00:07
Distance: (default is 120)
R1#
—————————————————————————————————————
RIP协议的更新时间、多长时间接收不到更新会标记为无效路由条目、多长时间接收不到更新会删除此条目。这三个时间管理员是可以手动修改的、我们来说下:
R1(config)#route rip
R1(config-router)#version 1
R1(config-router)#timers basic ? //后面跟?查看后面还可以输入什么命令、
<0-4294967295> Interval between updates //更新计时器、设置更新时间
R1(config-router)#timers basic 100 ? //我们设置为100s然后看后面还能输入什么命令
<1-4294967295> Invalid //无效计时器、设置多长时间标记为无效路由条目
R1(config-router)#timers basic 100 200 ? //我们设置为200s
<0-4294967295> Holddown //设置抵制计时器的时间
R1(config-router)#timers basic 100 200 300 ? //设置为300s
<1-4294967295> Flush //设置多久没收到更新就删除此条路由条目
R1(config-router)#timers basic 100 200 300 400 ? //设置为400s
<cr> //表示后面不能再输入命令了、
R1(config-router)#timers basic 100 200 300 400
R1(config-router)#
我们可以看到中间多出了一个抵制计时器(也称为拟制计时器),实际抵制计时器的时间我们也是可以设置的、关于抵制计时器我在这里就不做过多的介绍了(如果有兴趣的话可以上网查查、或者联系本人,我还是有一点这方面的资料的)、如果设置的话一般抵制计时器的时间都会比无效计时器稍微短那么一点。
*注意:RIP协议的默认更新时间是30s、如果在没有达到30s的时候就收到了某条路由条目的更新的话那么他就会从0再次开始计时。
R1#clear ip route //(后面跟“*”表示清除所有RIP协议表、跟IP地址是清除某一条)
R1(config)#no route rip //关闭RIP协议