一种网络路由表更新装置和更新方法与流程

摘要: 本发明涉及路由更新,具体涉及一种网络路由表更新装置和更新方法。背景技术:1、在当今互联网骨干网及大型数据中心网络中,路由器普遍依赖边界网关协议(borderga...
一种网络路由表更新装置和更新方法与流程

本发明涉及路由更新,具体涉及一种网络路由表更新装置和更新方法。

背景技术:

1、在当今互联网骨干网及大型数据中心网络中,路由器普遍依赖边界网关协议(border gateway protocol,bgp)等动态路由协议来维护网络拓扑结构。当网络出现链路故障或路由策略变更时,路由器会接收大量路由更新报文,这类报文需经路由守护进程(如frr、bird等)处理后,通过netlink接口写入操作系统内核的转发表,路由更新的处理效率与稳定性直接决定网络整体连通性。

2、现有技术方案通常采用固定的限速机制(如令牌桶算法)来控制路由更新的下发速率,以防止内核因瞬时流量过大而出现过载。这种基于用户态计数的限速方式仅能在指令发送层面进行速率限制,而无法感知内核执行指令的真实进度与负载状况。

3、然而,现有技术中因用户态限速与内核执行异步滞后、且无法区分新增与删除等不同路由操作在内核中的真实计算成本差异,导致在路由震荡过程中存在资源分配不合理及死锁风险,具体表现为:当内核处理能力下降时,固定发送速率会造成内核缓冲区积压和进程阻塞;高耗时的新增操作被低估负载,低耗时的删除操作又被过度限速,进而影响故障恢复速度;极端情况下,路由守护进程无法及时发送心跳报文,引发bgp邻居断连及更大范围的网络中断。

技术实现思路

1、为了解决现有技术因用户态限速、无法感知内核执行指令的真实进度与负载状况,导致在路由震荡过程中存在资源分配不合理及死锁风险的技术问题,本发明的目的在于提供一种网络路由表更新装置和更新方法,所采用的技术方案具体如下:

2、第一方面,提供一种网络路由表更新方法,包括:针对不同类型的路由操作,获取路由操作在内核态的实际执行耗时,并根据实际执行耗时确定对应类型的路由操作在当前系统负载下的基准耗时值;获取用于表征系统处理能力的多维状态指标,并根据多维状态指标确定系统过载概率;系统过载概率用于表征系统接近性能崩溃边缘的风险程度;根据系统过载概率,确定当前调度周期内允许用于下发路由指令的安全处理时间配额;安全处理时间配额大于预设的最小生存配额;响应于待下发的路由指令,根据安全处理时间配额以及待下发的路由指令所属类型的基准耗时值,在安全处理时间配额的约束下,将待下发的路由指令下发至内核。

3、基于上述技术方案,在本发明提供的一种网络路由表更新方法中,通过按路由操作类型获取内核态实际执行耗时以确定基准耗时值,精准量化不同路由操作的内核执行成本,再基于表征系统处理能力的多维状态指标确定系统过载概率,实现对系统崩溃风险的动态感知,同时依据系统过载概率确定不小于预设最小生存配额的安全处理时间配额,保障极端过载场景下的指令下发基础通道,最终结合安全处理时间配额与对应类型路由指令的基准耗时值约束下发路由指令,能够自适应调控路由指令下发速率,有效避免内核资源过载,消除控制平面死锁风险,提升路由更新处理的稳定性与网络故障收敛效率。

4、结合上述第一方面,在一种可能的实现方式中,上述获取路由操作在内核态的实际执行耗时的方法,具体包括:通过在内核态的路由操作函数的入口和出口挂载探针,获取每次路由操作的执行时间戳,确定每次路由操作的实际执行耗时。

5、结合上述第一方面,在一种可能的实现方式中,上述根据实际执行耗时确定对应类型的路由操作在当前系统负载下的基准耗时值的方法,具体包括:针对每个调度周期,根据多次路由操作的实际执行耗时,按路由操作的类型统计每个调度周期内的分位耗时值;利用预设的平滑算法,根据上一周期的基准耗时值与当前周期的分位耗时值,确定当前周期的基准耗时值。

6、结合上述第一方面,在一种可能的实现方式中,上述多维状态指标包括:路由协议守护进程调用内核接口发送指令时的接口发送延迟、系统软中断占用率、以及路由操作耗时的波动标准差;上述获取多维状态指标的方法,具体包括:统计当前调度周期内路由协议守护进程调用内核接口发送函数时的平均阻塞时长,作为接口发送延迟;将当前调度周期内软中断处理时间增量占总中央处理器时间增量的比例,作为系统软中断占用率;对当前调度周期内多次路由操作的实际执行耗时统计标准差,作为路由操作耗时的波动标准差。

7、结合上述第一方面,在一种可能的实现方式中,上述根据多维状态指标确定系统过载概率的方法,具体包括:分别对接口发送延迟和波动标准差进行归一化处理,得到归一化接口延迟和归一化耗时波动;根据归一化接口延迟、系统软中断占用率和归一化耗时波动,确定综合压力指数;将综合压力指数映射为取值在预设范围内的系统过载概率。

8、结合上述第一方面,在一种可能的实现方式中,上述对综合压力指数进行映射的方式为非线性映射。

9、结合上述第一方面,在一种可能的实现方式中,上述根据系统过载概率,确定当前调度周期内允许用于下发路由指令的安全处理时间配额的方法,具体包括:根据系统过载概率和调度周期的物理时长,确定初步配额;系统过载概率越高,初步配额越低;将初步配额与预设的最小生存配额进行比较,取两者中的最大值,作为安全处理时间配额。

10、结合上述第一方面,在一种可能的实现方式中,上述响应于待下发的路由指令,根据安全处理时间配额以及待下发的路由指令所属类型的基准耗时值,在安全处理时间配额的约束下,将待下发的路由指令下发至内核的方法,具体包括:根据路由指令的类型,将待下发的路由指令分流至高优先级队列或普通优先级队列;若系统过载概率大于预设的风险阈值,优先从高优先级队列中取出指令进行处理,直至高优先级队列为空,若此时安全处理时间配额有剩余,则从普通优先级队列中取出指令进行处理;根据取出的当前指令的操作类型查询对应的基准耗时值作为本次下发的预估成本,并根据安全处理时间配额和已累计的预估成本,判断是否允许下发。

11、结合上述第一方面,在一种可能的实现方式中,上述根据安全处理时间配额和已累计的预估成本,判断是否允许下发的方法,具体包括:若当前调度周期内尚未下发任何指令,则允许当前指令下发;若当前调度周期内已下发过指令、且已累计的预估成本与当前指令的预估成本之和小于或等于安全处理时间配额,则允许当前指令下发;若当前调度周期内已下发过指令、且已累计的预估成本与当前指令的预估成本之和大于安全处理时间配额,则拒绝当前指令下发,并终止当前调度周期的调度。

12、第二方面,提供了一种网络路由表更新装置,包括:基准构建模块,用于针对不同类型的路由操作,获取路由操作在内核态的实际执行耗时,并根据实际执行耗时确定对应类型的路由操作在当前系统负载下的基准耗时值;风险评估模块,用于获取用于表征系统处理能力的多维状态指标,并根据多维状态指标确定系统过载概率;系统过载概率用于表征系统接近性能崩溃边缘的风险程度;配额计算模块,用于根据系统过载概率,确定当前调度周期内允许用于下发路由指令的安全处理时间配额;安全处理时间配额大于预设的最小生存配额;指令调度模块,用于响应于待下发的路由指令,根据安全处理时间配额以及待下发的路由指令所属类型的基准耗时值,在安全处理时间配额的约束下,将待下发的路由指令下发至内核。

13、本发明具有如下有益效果:

14、通过按路由操作类型获取内核态实际执行耗时以确定基准耗时值,精准量化不同路由操作的内核执行成本,再基于表征系统处理能力的多维状态指标确定系统过载概率,实现对系统崩溃风险的动态感知,同时依据系统过载概率确定不小于预设最小生存配额的安全处理时间配额,保障极端过载场景下的指令下发基础通道,最终结合安全处理时间配额与对应类型路由指令的基准耗时值约束下发路由指令,能够自适应调控路由指令下发速率,有效避免内核资源过载,消除控制平面死锁风险,提升路由更新处理的稳定性与网络故障收敛效率。