动态路由协议 RIP
RIP:Routing Information Protocol。RFC1058.
-
距离矢量协议:有间隔的多少和方向。传递的是路由条目。每个路由器不知道网络的完整拓扑结构,OSPF知道。
-
度量值:每种协议都有会计算出发点到目的地之间的度量也就是单位。rip的度量值(单位)是跳数。跳数超过15就不往后传播了,也就是无法到达目的地。
-
每30秒收敛一次。
收敛:前面的路由会定期把自己的整个路由表发送给后面的路由器。rip是每30秒发送一次。
-
rip有2个版本:
- V1(版本1:有类路由)使用广播把路由表发送给下一个路由器。只传递ip地址,不传递子网掩码。
- V2(版本2:无类路由)使用组播,组播地址:224.0.0.9。既传递ip地址,又传递子网掩码。
-
管理距离(AD):120。
路由表里中括号里的值就是管理距离。当用不同的协议,获得了相同的路由时,看哪个协议获得的路由的管理距离小,路由表里只能留下一个路由,留管理距离小的路由。
例如:如果有下面2条路由,则只能留下[1/0]的路由,因为管理距离小。
S 192.168.1.0/24 [1/0] via 192.168.0.2 192.168.1.0/24 [1/0] via 192.168.0.2 R 192.168.1.0/24 [100/0] via 192.168.0.2 192.168.1.0/24 [1/0] via 192.168.0.2
-
使用UDP协议传输
-
源和目的端口号都是520
-
报文形式:请求和响应报文,使用的格式相同。
-
默认支持等价负载均衡:4,最大可调到6.
RIP计时器
- 更新计时器(update):每30秒接收一次相邻路由器的更新请求(收敛)
- 无效计时器(invalid):180秒后相邻的路由器不给我路由表,把到这些路由的度量值更新为16,也就是不可达。
- 刷新计时器(flush):默认240秒后,相邻的路由器不给我路由表,则把这些路由全部删除。
- 抑制计时器(hold-down):180秒。
RIPv1:
- 有类路由协议
- 不支持变长子网掩码(VLSM)
- 广播方式发包
- 不支持认证
- 每个更新包最大支持25条路由条目
- 路由表查询方式为主类网段
- 不支持不连续子网
RIPv2:
- 无类路由协议
- 支持变长子网掩码
- 组播方式发包,目的地址:224.0.0.9
- 支持明文及密文认证(cisco才支持)
- 路由表查询机制是由小类->大类(按位查询,最长匹配,精准匹配,先检查32位掩码的)
- 支持不连续子网
添加路由器的loopback(换回接口,类似pc里的127.0.0.1)
添加后,接口立即生效,不需要开启(no sh)。
#interface loopback ?
<0-2147483647> Loopback interface number
R1(config)#interface loopback 0
R1(config-if)#
*Mar 1 00:08:43.587: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
添加后,在路由器上就多了一个虚拟接口
R1#show ip int b
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 12.1.1.1 YES manual up up
Loopback0 1.1.1.1 YES manual up up
给换回接口添加ip,注意子网掩码必须是255.255.255.255.代表主机的意思。
R1(config-if)#ip addr 1.1.1.1 255.255.255.255
启动路由器的RIP协议:
1,进入全局模式,启动rip
R1(config)#router rip
R1(config-router)#
2,指定使用哪个版本的rip。如果不指定版本的话,使用的既不是版本1,也不是版本2,而是1和2中间的版本,具体来说是:以广播方式发送,既能接收广播的也能接收组播的。
R1(config-router)#version 2
R1(config-router)#
3,关闭自动汇总:no auto-summary
R1(config-router)#no auto-summary
R1(config-router)#
什么是自动汇总?接口上的ip假如是12.1.1.1/24 ,自动汇总后,就变成了12.0.0.0/8,就相当于变成了版本1的有类路由协议了,不能精确到子网,所以,才要关闭自动汇总。
4,告诉路由器,我要把本地的哪个直连(C)的接口上的网段,用于rip协议,发送和接收rip包
R1:
R1(config-router)#do show ip int b
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 12.1.1.1 YES manual up up
FastEthernet1/0 unassigned YES unset administratively down down
Loopback0 1.1.1.1 YES manual up up
R1(config-router)#do show ip route
1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
12.0.0.0/24 is subnetted, 1 subnets
C 12.1.1.0 is directly connected, FastEthernet0/0
R1(config-router)#network 1.1.1.1
R1(config-router)#net 12.1.1.0
R1(config-router)#
R2:
R2#show ip int b
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 12.1.1.2 YES manual up up
FastEthernet1/0 23.1.1.2 YES manual up up
Loopback0 2.2.2.2 YES manual up up
R2#show ip route
2.0.0.0/32 is subnetted, 1 subnets
C 2.2.2.2 is directly connected, Loopback0
23.0.0.0/24 is subnetted, 1 subnets
C 23.1.1.0 is directly connected, FastEthernet1/0
12.0.0.0/24 is subnetted, 1 subnets
C 12.1.1.0 is directly connected, FastEthernet0/0
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#router rip
R2(config-router)#net 2.2.2.2
R2(config-router)#net 23.1.1.0
R2(config-router)#net 12.1.1.0
R3:
R3#show ip int b
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 23.1.1.3 YES manual up up
FastEthernet1/0 unassigned YES unset administratively down down
Loopback0 3.3.3.3 YES manual up up
R3#show ip route
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
23.0.0.0/24 is subnetted, 1 subnets
C 23.1.1.0 is directly connected, FastEthernet0/0
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#router rip
R3(config-router)#ver 2
R3(config-router)#no au
R3(config-router)#net 3.3.3.3
R3(config-router)#net 23.1.1.0
R1,2,3配置完RIP的路由条目结果:
R1的路由条目:
注意:R 3.3.3.3 [120/2]里面的【2】,含义:到目标网络需要2跳
R1#show ip route
1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
R 2.2.2.2 [120/1] via 12.1.1.2, 00:00:22, FastEthernet0/0
3.0.0.0/32 is subnetted, 1 subnets
R 3.3.3.3 [120/2] via 12.1.1.2, 00:00:22, FastEthernet0/0
23.0.0.0/24 is subnetted, 1 subnets
R 23.1.1.0 [120/1] via 12.1.1.2, 00:00:22, FastEthernet0/0
12.0.0.0/24 is subnetted, 1 subnets
C 12.1.1.0 is directly connected, FastEthernet0/0
R2的路由条目:
R2#show ip route
1.0.0.0/32 is subnetted, 1 subnets
R 1.1.1.1 [120/1] via 12.1.1.1, 00:00:21, FastEthernet0/0
2.0.0.0/32 is subnetted, 1 subnets
C 2.2.2.2 is directly connected, Loopback0
3.0.0.0/32 is subnetted, 1 subnets
R 3.3.3.3 [120/1] via 23.1.1.3, 00:00:07, FastEthernet1/0
23.0.0.0/24 is subnetted, 1 subnets
C 23.1.1.0 is directly connected, FastEthernet1/0
12.0.0.0/24 is subnetted, 1 subnets
C 12.1.1.0 is directly connected, FastEthernet0/0
R3的路由条目:
R3#show ip route
1.0.0.0/32 is subnetted, 1 subnets
R 1.1.1.1 [120/2] via 23.1.1.2, 00:00:15, FastEthernet0/0
2.0.0.0/32 is subnetted, 1 subnets
R 2.2.2.2 [120/1] via 23.1.1.2, 00:00:15, FastEthernet0/0
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
23.0.0.0/24 is subnetted, 1 subnets
C 23.1.1.0 is directly connected, FastEthernet0/0
12.0.0.0/24 is subnetted, 1 subnets
R 12.1.1.0 [120/1] via 23.1.1.2, 00:00:15, FastEthernet0/0
33-35集讲RIP协议
# c/c++ 学习互助QQ群:877684253 ![](https://img2018.cnblogs.com/blog/1414315/201811/1414315-20181106214320230-961379709.jpg) # 本人微信:xiaoshitou5854