#交换设备
RIP路由协议汇总
一、原理概述
-
当网络中路由器的路由条目非常多时,可以通过路由汇总(又称路由汇聚或路由聚合)来减少路由条目数,加快路由收敛时间和增强网络稳定性。路由汇总的原理是,同一个自然网段内的不同子网的路由在向外(其他网段)发送时聚合成一个网段的路由发送。由于汇总后路由器将不会感知被汇总子网有关的变化,从而提高了网络稳定性,减少了不必要的路由器更新
-
RIPv1 是有类别路由协以,它的协议报文中没有携带掩码信息,只能识别A、B、C类这样的自然网段的路由,因此 RIPv1 无法支持路由聚合,也不支持不连续子网,所有路由会被自动汇总为有类路由。
-
RIPv2 是一种无分类路由协议,报文中携带掩码信息,支持手动路由汇总和自动路由汇总两种方式。
-
基于 RIP 进程的有类自动汇总: 比如对于 10.1.1.0/24 (metric=2) 和 10.1.2.0/24(Cmetric=3 ) 这两条路由,聚合成自然网段路由 10.0.0.0/8 (metric=2)。自动汇总是按类聚合的,在华为设备上自动汇总是默认关闭的,可手动更改配置使自动汇总生效;
-
基于接口的手动汇总: 用户可以指定聚合路由。比如,对于 10.1.1.0/24 (metric=2 )和 10.1.2.0/24 (metric=3 ) 这两条路由, 可以在此接口上配置聚合路由 10.1.0.0/16 (metric=2)。
metric 代表路由度量值,用于衡量到达目标网络的距离,具体是指从一个路由器到另一个路由器的跳数
二、RIPv1自动汇总
可以观察到,RIPv1l 的协议报文中没有携带掩码信息,只有相应的网络号以及Metric 值, 即 RIPv1 只发布汇总后的有类路由。RIPv1 默认开启自动汇总, 且无法关闭,也不支持手动汇总。可以使用 display default-parameter rip
命令查看 RIP 默认配置信息。
可以看到,192.168.23.0的路由度量值为16,代表不可达,但是实际上,这里是因为,这个数据包就是192.168.23.2接口发出的,所以将metric设置为最大值来表示自己所处的网段
查看RIP默认配置信息
三、RIPv2自动汇总
- 配置过程同上,使用ripv2
- 抓包查看RIP
- RIPv2默认开启自动汇总,且支持手动关闭
查看路由表时,可能会发现,路由表中并没有汇总的条目,这是因为在华为设备上,以太网接口和串口都默认启用了++水平分割++功能。为了防止环路和不连续子网问题的产生,在启用了水平分割或毒性逆转的接口上,RIPv2 的默认自动汇总就会失效,所以从 R3 通告过来的都是具体的明细路由条目。
手动开启路由汇总的方法
- 通过使用
summary always
命令,无论水平分割是否启用,自动汇总都生效 - 通过关闭水平分割功能,使自动汇总自动生效
powershell
第一种方法
[R3]rip 2
[R3-rip-2]summary always
第二种方法
[R3-rip-2]int g0/0/0
[R3-GigabitEthernet0/0/0]undo rip split-horizon
四、RIPv2手动汇总
- 通过人工计算,将若干网段合并为一个大网段,通过命令
rip summary-address
配置手动汇总
powershell
[R3-rip-2]int g0/0/0
[R3-GigabitEthernet0/0/0]rip summary-address 3.3.0.0 255.255.252.0
RIP版本兼容、定时器、协议优先级
- 定时器:内容详见[[12_RIP协议/12_RIP 动态路由协议#^9b1293]]
一、RIP版本兼容性
-
首先,建议路由器之间配置相同版本的RIP,避免出现不必要的故障
-
关于两个版本的区别,详见[[12_RIP协议/12_RIP 动态路由协议#^6d8803]]
-
再配置RIP时,如果不指定版本,则接口默认情况下可以接受V1和V2的报文,但是只能发送V1的报文,在制定版本的情况下,只能发送相应版本的报文
- 广播方式发送RIPv2报文
powershell
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]rip version 2 broadcast
- 组播方式发送RIPv2报文,组播地址为224.0.0.9
powershell
[R1]int g0/0R1-GigabitEthernet0/0/0]rip version 2 multicast
二、3种定时器配置
- 路由更新的有效时间为180s,如果超过180s还没有收到新的路由更新,则宣布该路由无效,在默认情况下,RIP协议会每隔30s左右发送一个理由更新
1.手动停止路由跟新
powershell
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]undo rip output
2.查看rip发布数据库信息
- 通过查看rip数据库的信息,检查对应的网段是否正在被通告 advertised
powershell
dis rip 1 database #查看rip数据库
- 可以发现,超时后,该路由条目被标记为 跳数cost=16,表示不可达,并且通告标记为
I
表示不通告 - 如果在接下来的120s内还没有收到改路由条目的跟新,那么在数据中将会删除该条目
在这里插入图片描述
3.通过命令修改定时器默认值
- 例如将R1的
- 更新报文时间间隔 设置为 20s
- 超时计时器超时时间间隔 设置为 120s
- 垃圾收集计时器的超时时间 设置为 60s
powershell
[R1]rip 1
[R1-rip-1]timer
[R1-rip-1]timers rip 20 120 60
如果 3 个定时器值设置不当,会引起网络不稳定。例如,如果更新时间大于失效时间,那么在更新时间内,可能在接收到路由更新之前,本地的路由条目已经失效了。定时器值的调整应考虑网络的规模和性能,并在所有运行的 RIP 路由器上进行统一配置。
三、协议优先级配置
-
在实际网络中,去往相同目的网段的路由信息可以通过不同的路由协议获取,比如同时通过静态路由和 RIP 协议获取,此时就会先比较二者的协议优先级,通过具有较高优先级的路由协议所获取的路由信息将被优选放入路由表中。
-
在路由器的路由表中显示了协议的优先级,默认设置为100
- 通过命令修改RIP协议的优先级
powershell
[R1]rip
[R1-rip-1]preference 90 #设置协议优先级为90