9.4 RIP
9.4.1 补充概念
什么是邻居?
邻居指的是在网络拓扑结构中与某一节点(如路由器)直接相连的其他节点。它们之间可以直接进行通信和数据交互,能互相交换路由信息等,以实现网络中的数据转发和路径选择等功能。(上图R1和R2是邻居关系。)
什么是开销值?
开销值(Cost Value)是衡量数据传输路径代价的一个量化指标。它通常与链路带宽、延迟、可靠性等因素相关,用于评估数据包通过某条链路或路径的代价。开销值越低,路径越优,网络设备会依据开销值来选择最优的数据传输路径,以实现高效的数据传输。
上图中R2想要把信息发给R1时,只需要两个参数
目标网段和开销值(cost)
Cost (开销值 ) 当到达同一个目标网段存在多条路径时,需要比较开销值,优先选择开销值小的路径。
注意:同一种协议获取到的路由,比较开销值;不同协议获取到的路由,比较优先级。
这里开销值的算法:
COST = 本地路由表中的开销值 + 1
不同动态路由协议的开销值的评判标准是不一样的。
RIP开销值的评判标准 (跳数)
以跳数作为选路依据,存在不合理性(如果加上传输速率就难说了)。每经过一个路由器跳数加 1,跳数越少开销值越低,通常规定 15 跳为最大有效跳数,16 跳则表示目标网络不可达。
RIP的优先级和工作半径
RIP(路由信息协议)的默认的优先级设置为 100 ,这意味着在与其他路由协议竞争路由选择时,依据该优先级参与决策。同时,RIP 存在一个工作半径限制,即 15 跳。每经过一个路由器被视作一跳,跳数的增加意味着路径越长,当达到 15 跳时,便认为目标网络已达 “最远可达” 状态,若超过 15 跳,比如达到 16 跳,就会判定目标网络不可达。
Bellman-Ford算法(贝尔曼福特算法)
1,R2发送2.0网段的路由信息给R1,R1本地的路由表中没有该网段的路由信息,R1将2.0网段的路由信息刷新到本地的路由表中。2,R2发送2.0网段的路由信息给R1,R1本地的路由表中存在2.0网段的路由信息,并且,下一跳就是R2,R1将R2发来的路由信息刷新到本地的路由表中;(也就是将新的路由信息刷新到路由表中)。3,R2发送2.0网段的路由信息给R1,R1本地的路由表中存在2.0网段的路由信息,并且,下一跳不是R2,如果发来的路由信息的开销值小于本地路由条目的开销值,则将R2发来的路由信息刷新到本地的路由表中;4,R2发送2.0网段的路由信息给R1,R1本地的路由表中存在2.0网段的路由信息,并且,下一跳不是R2,如果发来的路由信息的开销值大于本地路由条目的开销值,则不刷新。
9.4.2 RIP的三个版本
RIPV1,RIPV2 --- IPV4
RIPNG --- IPV6
RIPV1和RIPV2的区别
1,RIPV1是有类别的路由协议,RIPV2是无类别的路由协议;
RIPV1在传递路由信息中目标网段时,不携带子网掩码;RIPV2携带子网掩码,路由宣告更灵活。
2,RIPV1不支持手工认证,RIPV2支持手工认证;
RIPV1 无手工认证机制,数据易被篡改;RIPV2 支持手工认证,像对暗号,保障路由信息安全。 手工认证(类似于有人敲门,去开门时对的暗号)。
3,RIPV1使用广播发送信息,RIPV2使用组播发送信息。
RIPV1 广播信息给所有设备,浪费资源;RIPV2 组播信息到指定组,节省带宽。
#以上图为例,分析数据包#广播过程应用层:RIPV1传输层:UDP SP:520,DP:520 (4层)网络层:SIP:12.0.0.2 DIP:255.255.255.255 (3层)数据链路层:SMAC:自己 DMAC:全F (2层)#组播过程应用层:RIPV2传输层:UDP SP520,DP:520网络层:SIP:12.0.0.2 DIP:224.0.0.9(组播地址,专门为RIPV2准备的地址)数据链路层:SMAC:自己 DMAC:01-00-5e-00-00-09(所有组播地址都是以01-00-5e为开头的)。
为什么RIP 协议传输层用 UDP 而非 TCP
一是 UDP 开销小,无连接、无拥塞控制与重传机制,能快速传输路由信息,适合 RIP 周期性更新需求。
二是 RIP 信息简单,少量数据传输,UDP 足以保证,无需 TCP 复杂机制。
9.4.3 RIP的数据包
#注意RIP在收敛完成后,依然每隔30s会发送一个response报文 (类似于一个负责任的老师,为确保学生听懂,一直讲,直到或期待学生下一次能听懂。)这个行为叫周期更新,为了弥补没有确认机制;弥补没有保活机制。RIP的周期更新一定异步周期更新(类似高峰期需要错峰一样)
周期更新定义
在计算机网络中,周期更新是指网络设备按照预先设定的固定时间间隔,对特定数据或信息进行刷新操作。例如路由器会周期性地向其他设备通告自己的路由表,以维护网络中路由信息的时效性。
周期更新作用
周期更新可确保网络设备掌握的信息始终是最新的,有助于及时适应网络拓扑的变化。它能让路由选择更精准,减少数据传输延迟,增强网络的稳定性和可靠性,保障通信的顺畅进行。
9.4.4 RIP的计时器
RIP(路由信息协议)计时器是用于控制RIP运行节奏的机制。主要有更新计时器(定期广播路由信息)、失效计时器(判定路由是否失效)、抑制计时器(防止路由环路)和刷新计时器(决定何时从路由表清除无效路由),确保路由信息准确及时。
更新计时器(Update Timer)
定义:该计时器用于设定路由器向相邻路由器广播路由信息的时间间隔,RIP 协议默认更新周期为 30 秒。即每 30 秒,运行 RIP 的路由器就会向相邻路由器发送完整的路由表。
作用:定期更新可让各路由器的路由表紧跟网络拓扑变化,保持信息同步,保证数据包能沿最优路径转发。
影响:更新周期设置很关键。过短会使网络通信流量大增,加重路由器处理负担;过长则在网络拓扑改变时,路由器难以及时获取新信息,导致数据包转发延迟甚至出错。
失效计时器(Expiration Timer)
定义:失效计时器为每个路由条目单独计时,默认时长 180 秒。若在这段时间内,路由器未收到某路由条目的更新信息,该条目的失效计时器就会超时,路由器会将其度量值设为 16 跳(即无穷大),表示该路由不可达。
时间是180S,当一条路由条目刷新之后开始计时,当180S时间到达后,该路由信息未刷新,则将判定该路由条目失效。首先,会将该路由信息从全局路由表中删除掉,但是,依然保存在缓存中,只是,将它的开销值改为16。在之后的周期更新中,依然会携带该路由信息。(带毒传输)也就是只能告诉我有什么,但是不能告诉我没有什么。
作用:它能有效检测网络中路由的有效性。当链路故障或路由器失效时,相关路由条目无法及时更新,失效计时器超时可让路由器迅速标记这些不可用路由。
影响:其时长需根据网络稳定性合理调整。设置过短,网络短暂拥塞或延迟时易误判路由失效;设置过长,路由真正失效时路由器反应迟缓,影响网络正常运行。
抑制计时器(Hold - down Timer)
定义:当路由器收到某路由条目不可达的消息后,会启动抑制计时器,默认 180 秒。计时期间,即便收到更优的该路由条目信息,路由器也不会立即更新路由表。
作用:主要功能是防止路由环路。网络拓扑变化时,路由信息可能不一致、产生振荡,抑制计时器能让网络有时间稳定,避免路由器在不稳定时频繁更新路由表,减少环路发生。
刷新计时器(Flush Timer)
定义:刷新计时器用于控制从路由表彻底删除失效路由条目的时间。某路由条目失效计时器超时后,刷新计时器开始计时,默认 240 秒,超时后该条目将被删除。
作用:定期清理路由表中的无效条目,释放路由器内存资源,提高路由表查询效率。
影响:时长设置要恰当。过短可能在网络短暂故障时过早删除可能恢复的条目;过长则会使无效信息长时间占据内存。
9.4.5 RIP的破环机制
(1)15跳的工作半径
为路由范围划定了明确界限,有效避免了数据包在环路中无休止地循环转发,防止网络资源的浪费和拥塞,保证了路由的基本合理性和有效性。(2)触发更新 --- 在拓扑结构发生变化时立即更新
传统路由信息按固定间隔交换,网络拓扑突变,如链路断开、新节点加入时,固定更新难以及时反映,易导致环路。触发更新让路由器检测到变化后,立刻向相邻路由器发送新信息。网络中路由器能迅速获取并调整路由表,避免信息延迟导致的环路,使网络快速适应变化。(3)水平分割 --- 从哪个接口接受到的信息将不再从这个接口发出
因为信息从原接口发回,易在相邻路由器间循环形成环路。水平分割避免了不必要的信息往返,减少环路可能,提升信息传递效率。(4)毒性逆转 --- 从哪个接口接受到的信息,依然可以从这个接口发出,但是要带毒
是对水平分割的补充。通常水平分割禁止从接收接口再发信息,但特定场景会影响网络收敛。毒性逆转允许从原接口发信息,不过将路由跳数设为 16(即 “带毒”,表示不可达)。当网络变化使路由不可用时,能快速扩散不可达信息,让相邻路由器更新路由表,避免用无效路由,打破潜在环路,加速收敛。
注意:因为水平分割和毒性逆转的做法矛盾,所以,只能开启一个。华为设备默认开启水平分割。