RIP(距离矢量)
一、工作原理
RIP是一种基于距离矢量算法的动态路由协议,主要用于小型的中性网络。它的工作原理包括:
路由表
每个使用RIP的路由器都有一张路由表,表中包含到达每个目标网络的最佳路径信息。路由表的条目包括以下内容:
- 目标网络: 目标网络地址
- 下一跳 :发送数据包到目标网络时的吓一跳路由器的地址
- 距离:到达网络的跳数,及通过多少个路由器可以到达目标网络。RIP的最大跳数为15跳,16跳不可达。
- 更新计数器:每个路由条目的更新时间。
距离矢量算法
- RIP基于距离矢量算法,每个路由器定期向其他邻居发送自己的路由表,并接受邻居的路由表更新。具体过程如下:
- 路由器更新:RIP路由每隔30秒会向直接连接的所有邻居发送自己的路由表。这些更新是通过UDP端口520进行的
- 距离计算:路由器收到邻居的路由表后,会增加每个路由表的跳数(通常加1),并于自身已有的路由表进行对比,如果通过邻居的某个路由表条目具有更小的跳数,或是新的路由表条目,路由器会更新自己的路由表。
- 环路消除:为了防止路由环路的产生,RIP使用了几个机制:
- 水平分割(Split Horizon):路由器不会向发送某个路由条目的邻居重新通告该条目。
- 水平分割和毒性逆转(Split Horizon with Poison Reverse):路由器会将接收到的路由条目反向发送给邻居,并将度量值设置为16,表示不可达。
- 毒性更新(Route Poisoning):当某条路径变得不可用时,路由器会将度量值设置为16,并通告给所有邻居。
- 触发更新(Triggered Updates):当路由器检测到网络拓扑发生变化时,会立即发送更新,而不是等待定期更新间隔。
路由老化和刷新
计时器:RIP路由器使用多个计时器来管理路由条目:
- 更新计时器(Update Timer):每隔30秒发送一次完整的路由表更新。
- 无效计时器(Invalid Timer):如果在180秒内没有收到某条路由的更新,则认为该路由无效,但不会立即从路由表中删除,而是标记为不可达。
- 持有计时器(Holddown Timer):在某条路由被标记为不可达后,会进入持有状态,一般为180秒,在此期间不会接受关于该路由的更新,以避免路由环路。
- 刷新计时器(Flush Timer):如果在240秒内没有收到某条路由的更新,则从路由表中删除该条目。
限制
- 最大跳数:RIP的最大跳数为15,这限制了其应用范围,通常适用于小型和中型网络。
- 收敛速度慢:由于定期更新和持有计时器的存在,RIP的收敛速度较慢。
- 简单性:RIP的算法简单,配置容易,但在现代大规模网络中应用有限。
优缺点
优点
- 1.简单易用:
- 配置简单
- 协议成熟
- 资源需求低
- 低CPU和内存占用
- 资源需求低
- 标准化
- 广泛兼容:RIP是一种标准化协议,得到广泛支持,能够在不同厂商的设备之间互操作。
缺点
-
收敛速度慢
- 定期更新:RIP每30秒发送一次路由更新,这导致其收敛速度较慢,尤其是在网络拓扑发生变化时。
- 持有时间:持有时间(Holddown Timer)和路由老化机制(例如无效计时器和刷新计时器)进一步增加了收敛时间。
-
最大跳数限制
最大跳数15:RIP的最大跳数为15,这限制了其应用范围,通常只适用于小型和中型网络。16跳表示不可达,这在大规模网络中无法满足需求。
-
路由环路问题:
环路控制:尽管RIP使用了水平分割、毒性逆转和持有时间等机制来防止路由环路,但这些机制也可能导致 路由更新的延迟。 -
网络带宽消耗
定期广播:RIP每隔30秒向所有邻居广播整个路由表,可能导致带宽的浪费,特别是在大型网络中。 -
度量值简单
跳数度量:RIP仅使用跳数作为度量标准,无法考虑链路带宽、延迟等其他重要因素。这可能导致选择的路径并不是最优的。
具体的工作流程
- 初始化阶段:
- 路由器A启动并启用RIP。
- 路由器A创建初始路由表,包含到其直连网络(如192.168.1.0/24)的条目,度量值为1。
- 周期性更新阶段:
- 每隔30秒,路由器A广播其路由表到相邻的路由器(B、C)。
- 路由器B、C接收A的路由表,更新它们自己的路由表,如果发现通过A的路径更优,则更新相应条目。
- 路由选择与维护阶段:
- 路由器B接收到C的更新,发现到达某个目标网络的度量值增加了(C -> 目标网络),更新其路由表。
- 处理网络拓扑变化:
- 路由器A检测到某个链路故障,标记相关路由为不可达(度量值16)。
- 路由器A立即触发更新,通知邻居(B、C)该路径不可达。
- 防止路由环路:
- 路由器A使用水平分割,不会向B通告从B收到的路径。
- 路由器A使用毒性逆转,将不可达路径信息发送给B和C,度量值为16。
- 路由老化与刷新:
- 路由器A未收到某路径的更新超过180秒,将其标记为无效。
- 超过240秒后,路由器A从路由表中删除该无效路径。
路由选择
路由器通过不同的路由协议发现去往同一个目的网络的路由时,会选择路由优先级最小的路由,如果这些路由学习自相同的路由协议,则优先选择度量值最优的
路由协议 | 路由优先级 |
---|---|
DIRECT(直连) | 0 |
OSPF | 10 |
STATIC(静态) | 60 |
RIP | 100 |
实验
R1配置
<R1>dis cu
[V200R003C00]
#
sysname R1
#
undo info-center enable
#
dhcp enable
#
ip pool 1 #定义ip地址池1
gateway-list 192.168.1.254 #设置网关
network 192.168.1.0 mask 255.255.255.0 #定义ip地址池的网络范围192.168.1.0/24
lease day 0 hour 12 minute 0 #租期设置为12个小时
dns-list 8.8.8.8
#
ip pool 2
gateway-list 192.168.2.254
network 192.168.2.0 mask 255.255.255.0
static-bind ip-address 192.168.2.30 mac-address 5489-9866-4623
lease day 0 hour 12 minute 0
dns-list 8.8.8.8
#
#
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
dhcp select global
#
interface GigabitEthernet0/0/1
ip address 192.168.2.254 255.255.255.0
dhcp select global
#
interface GigabitEthernet0/0/2
ip address 12.0.0.1 255.255.255.0
dhcp select global
#
rip 1
version 2
network 192.168.1.0 #将网络加入RIP路由通告
network 192.168.2.0
network 12.0.0.0
#
return
<R1>
查看R1的RIP路由表
<R1>dis rip 1 database
---------------------------------------------------
Advertisement State : [A] - Advertised
[I] - Not Advertised/Withdraw
---------------------------------------------------
12.0.0.0/8, cost 0, ClassfulSumm
12.0.0.0/24, cost 0, [A], Rip-interface
23.0.0.0/8, cost 1, ClassfulSumm
23.0.0.0/24, cost 1, [A], nexthop 12.0.0.2
34.0.0.0/8, cost 2, ClassfulSumm
34.0.0.0/24, cost 2, [A], nexthop 12.0.0.2
192.168.1.0/24, cost 0, ClassfulSumm
192.168.1.0/24, cost 0, [A], Rip-interface
192.168.2.0/24, cost 0, ClassfulSumm
192.168.2.0/24, cost 0, [A], Rip-interface
192.168.3.0/24, cost 3, ClassfulSumm
192.168.3.0/24, cost 3, [A], nexthop 12.0.0.2
192.168.4.0/24, cost 3, ClassfulSumm
192.168.4.0/24, cost 3, [A], nexthop 12.0.0.2
<R1>
R2配置
<R2>dis cu
[V200R003C00]
#
sysname R2
#
interface GigabitEthernet0/0/0
ip address 12.0.0.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 23.0.0.1 255.255.255.0
#
rip 1
version 2
network 12.0.0.0
network 23.0.0.0
#
return
<R2>
R2的RIP路由表
<R2>dis rip 1 database
---------------------------------------------------
Advertisement State : [A] - Advertised
[I] - Not Advertised/Withdraw
---------------------------------------------------
12.0.0.0/8, cost 0, ClassfulSumm
在这里插入图片描述
23.0.0.0/24, cost 0, [A], Rip-interface
34.0.0.0/8, cost 1, ClassfulSumm
34.0.0.0/24, cost 1, [A], nexthop 23.0.0.2
192.168.1.0/24, cost 1, ClassfulSumm
192.168.1.0/24, cost 1, [A], nexthop 12.0.0.1
192.168.2.0/24, cost 1, ClassfulSumm
192.168.2.0/24, cost 1, [A], nexthop 12.0.0.1
192.168.3.0/24, cost 2, ClassfulSumm
192.168.3.0/24, cost 2, [A], nexthop 23.0.0.2
192.168.4.0/24, cost 2, ClassfulSumm
192.168.4.0/24, cost 2, [A], nexthop 23.0.0.2
<R2>
R3配置
<R3>dis cu
[V200R003C00]
#
sysname R3
#
interface GigabitEthernet0/0/0
ip address 23.0.0.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 34.0.0.1 255.255.255.0
#
rip 1
version 2
network 23.0.0.0
network 34.0.0.0
#
return
<R3>
R3的RIP路由表
<R3>dis rip 1 database
---------------------------------------------------
Advertisement State : [A] - Advertised
[I] - Not Advertised/Withdraw
---------------------------------------------------
12.0.0.0/8, cost 1, ClassfulSumm
12.0.0.0/24, cost 1, [A], nexthop 23.0.0.1
23.0.0.0/8, cost 0, ClassfulSumm
23.0.0.0/24, cost 0, [A], Rip-interface
34.0.0.0/8, cost 0, ClassfulSumm
34.0.0.0/24, cost 0, [A], Rip-interface
192.168.1.0/24, cost 2, ClassfulSumm
192.168.1.0/24, cost 2, [A], nexthop 23.0.0.1
192.168.2.0/24, cost 2, ClassfulSumm
192.168.2.0/24, cost 2, [A], nexthop 23.0.0.1
192.168.3.0/24, cost 1, ClassfulSumm
192.168.3.0/24, cost 1, [A], nexthop 34.0.0.2
192.168.4.0/24, cost 1, ClassfulSumm
192.168.4.0/24, cost 1, [A], nexthop 34.0.0.2
<R3>
R4的配置
<R4>dis cu
[V200R003C00]
#
sysname R4
#
interface GigabitEthernet0/0/0.1
dot1q termination vid 10
ip address 192.168.3.254 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/0.2
dot1q termination vid 20
ip address 192.168.4.254 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/1
ip address 34.0.0.2 255.255.255.0
#
rip 1
version 2
network 192.168.3.0
network 192.168.4.0
network 34.0.0.0
#
return
<R4>
R4路由表
<R4>dis rip 1 database
---------------------------------------------------
Advertisement State : [A] - Advertised
[I] - Not Advertised/Withdraw
---------------------------------------------------
12.0.0.0/8, cost 2, ClassfulSumm
12.0.0.0/24, cost 2, [A], nexthop 34.0.0.1
23.0.0.0/8, cost 1, ClassfulSumm
23.0.0.0/24, cost 1, [A], nexthop 34.0.0.1
34.0.0.0/8, cost 0, ClassfulSumm
34.0.0.0/24, cost 0, [A], Rip-interface
192.168.1.0/24, cost 3, ClassfulSumm
192.168.1.0/24, cost 3, [A], nexthop 34.0.0.1
192.168.2.0/24, cost 3, ClassfulSumm
192.168.2.0/24, cost 3, [A], nexthop 34.0.0.1
192.168.3.0/24, cost 0, ClassfulSumm
192.168.3.0/24, cost 0, [A], Rip-interface
192.168.4.0/24, cost 0, ClassfulSumm
192.168.4.0/24, cost 0, [A], Rip-interface
<R4>
检验