一种表项更新方法、装置、电子设备及存储介质与流程

文档序号:40523419发布日期:2024-12-31 13:32阅读:8来源:国知局
一种表项更新方法、装置、电子设备及存储介质与流程

本技术涉及通信,特别是涉及一种表项更新方法、装置、电子设备及存储介质。


背景技术:

1、自适应路由是一种根据网络拓扑和流量负载变化,进行动态路由决策的技术。通过自适应路由技术,网络设备能够根据实时的网络状态、链路质量、带宽利用率等条件选择最佳路径,以提升网络性能和可靠性。

2、在直连拓扑网络中,每个网络设备都有多条可选择的转发路径,直连拓扑网络的入口网络设备能够执行自适应路由算法,选择报文的最优转发路径,并将最优转发路径的信息存储于最优转发路径表中,入口网络设备后续会利用最优转发路径表中的转发路径进行报文转发。以将报文发往某一目的ip地址为例,如果入口网络设备到该目的ip地址所在的设备之间的最短路径不拥塞,则在最优转发路径表中存储该最短路径的信息,如果最短路径发生拥塞,则在该最优转发路径表中存储非最短路径的信息。

3、也就是说,当最短路径发生拥塞后,入口网络设备会利用自适应路由技术,将最短路径的业务流量全部切换至非最短路径,导致最短路径的带宽资源无法被充分利用,导致网络的整体带宽利用率降低。


技术实现思路

1、本技术实施例的目的在于提供一种表项更新方法、装置、电子设备及存储介质,以提升网络的整体带宽利用率。具体技术方案如下:

2、第一方面,本技术实施例提供一种表项更新方法,应用于网络设备的驱动层,所述方法包括:

3、每隔预设时长获取各最短路径接口和各非最短路径接口的当前带宽占用率;

4、若任一接口的当前带宽占用率超过高水线阈值或者降低至低水线阈值以下,则基于各最短路径接口的当前带宽占用率、各非最短路径接口的当前带宽占用率、所述高水线阈值和所述低水线阈值,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率;

5、基于各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率,计算各最短路径接口的转发权重值以及各非最短路径接口的转发权重值,基于计算得到的转发权重值更新每个接口对应的硬件寄存器表项中的转发带宽值。

6、在一种可能的实现方式中,所述基于各最短路径接口的带宽占用率、各非最短路径接口的带宽占用率、所述高水线阈值和所述低水线阈值,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率,包括:

7、计算各最短路径接口的当前带宽占用率的第一和值、第一平均值和第一最大值;

8、计算各非最短路径接口的当前带宽占用率的第二和值、第二平均值;

9、基于所述第一和值、所述第一平均值、所述第一最大值、所述第二和值和所述第二平均值与所述高水线阈值和所述低水线阈值之间的大小关系,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率。

10、在一种可能的实现方式中,所述基于所述第一和值、所述第一平均值、所述第一最大值、所述第二和值和所述第二平均值与所述高水线阈值和所述低水线阈值之间的大小关系,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率,包括:

11、在所述第一平均值小于等于所述高水线阈值,且所述第二平均值为0的情况下,若所述第一最大值大于所述高水线阈值,则确定各最短路径接口的目标带宽占用率均为所述第一平均值,且各非最短路径接口的目标带宽占用率均为0;

12、在所述第一平均值大于所述高水线阈值,且所述第二平均值为0的情况下,以各最短路径接口和各非最短路径接口共同承载所述第一和值对应的流量后,各接口的带宽占用率均低于所述高水线阈值为目标,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率;

13、在所述第一平均值为0,且所述第二平均值大于0的情况下,判断若由各最短路径接口承载所述第二和值对应的流量,各最短路径接口的带宽占用率是否会超出所述高水线阈值,若否,则按照由各最短路径接口承载所述第二和值对应的流量,确定各最短路径接口的目标带宽占用率,并确定各非最短路径接口的目标带宽占用率为0;若是,则按照由各最短路径接口和各非最短路径接口共同承载所述第二和值对应的流量,确定各最短路径接口和各非最短路径接口的目标带宽占用率;

14、在所述第一平均值大于所述高水线阈值,且所述第二平均值大于0的情况下,或者在所述第一平均值大于所述低水线阈值,小于等于所述高水线阈值,且所述第二平均值大于0,且所述第一最大值大于所述高水线阈值的情况下,以各最短路径接口和各非最短路径接口共同承载所述第一和值和所述第二和值对应的流量后,各接口的带宽占用率均低于所述高水线阈值为目标,确定各最短路径接口和各非最短路径接口的目标带宽占用率;

15、在所述第一平均值小于等于所述低水线阈值,所述第二平均值大于0,且所述第一最大值大于所述高水线阈值的情况下,判断若由各最短路径接口承载所述第一和值和所述第二和值对应的流量,各最短路径接口的带宽占用率是否会超出所述高水线阈值;若否,则按照各最短路径接口承载所述第一和值和所述第二和值对应的流量,确定各最短路径接口的目标带宽占用率,并确定各非最短路径接口的带宽占用率为0;若是,则以各最短路径接口和各非最短路径接口共同承载所述第一和值和所述第二和值对应的流量后,各接口的带宽占用率均低于所述高水线阈值为目标,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率;

16、在所述第一平均值小于等于所述低水线阈值,所述第二平均值大于0,且所述第一最大值小于等于所述高水线阈值的情况下,若由各最短路径接口承载所述第一和值和所述第二和值对应的流量,各最短路径接口的带宽占用率不会超出所述高水线阈值,则按照各最短路径接口承载所述第一和值和所述第二和值对应的流量,确定各最短路径接口的目标带宽占用率,并确定各非最短路径接口的带宽占用率为0。

17、在一种可能的实现方式中,所述每隔预设时长获取各最短路径接口和各非最短路径接口的当前带宽占用率,包括:

18、每隔所述预设时长获取各最短路径接口和各非最短路径接口各自转发的报文数量;

19、针对每个接口,将相邻两次获取的该接口的报文数量之间的差值与所述预设时长之间的比值,作为该接口的当前带宽占用率。

20、在一种可能的实现方式中,在所述每隔预设时长获取各最短路径接口和各非最短路径接口的当前带宽占用率之后,所述方法还包括:

21、若任一接口的接口缓冲区的已占用空间大于等于预设空间阈值,则将该接口的当前带宽占用率更新为100%。

22、在一种可能的实现方式中,在所述每隔预设时长获取各最短路径接口和各非最短路径接口的当前带宽占用率之后,所述方法还包括:

23、通过最短路径接口或非最短路径接口接收业务报文;

24、若所述业务报文中包括ecn标记,且所述ecn标记的值为第一值或第二值,则将接收所述业务报文的接口记录为不拥塞状态;

25、若所述业务报文中包括ecn标记,且所述ecn标记的值为第三值,则将所述业务报文的接口记录为拥塞状态;

26、当任一接口的状态由不拥塞状态变更为拥塞状态时,将该接口的当前带宽占用率更新为100%。

27、第二方面,本技术实施例提供一种表项更新装置,应用于网络设备的驱动层,所述装置包括:

28、获取模块,用于每隔预设时长获取各最短路径接口和各非最短路径接口的当前带宽占用率;

29、确定模块,用于若任一接口的当前带宽占用率超过高水线阈值或者降低至低水线阈值以下,则基于各最短路径接口的当前带宽占用率、各非最短路径接口的当前带宽占用率、所述高水线阈值和所述低水线阈值,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率;

30、更新模块,用于基于各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率,计算各最短路径接口的转发权重值以及各非最短路径接口的转发权重值,基于计算得到的转发权重值更新每个接口对应的硬件寄存器表项中的转发带宽值。

31、在一种可能的实现方式中,所述确定模块,具体用于:

32、计算各最短路径接口的当前带宽占用率的第一和值、第一平均值和第一最大值;

33、计算各非最短路径接口的当前带宽占用率的第二和值、第二平均值;

34、基于所述第一和值、所述第一平均值、所述第一最大值、所述第二和值和所述第二平均值与所述高水线阈值和所述低水线阈值之间的大小关系,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率。

35、在一种可能的实现方式中,所述确定模块,具体用于:

36、在所述第一平均值小于等于所述高水线阈值,且所述第二平均值为0的情况下,若所述第一最大值大于所述高水线阈值,则确定各最短路径接口的目标带宽占用率均为所述第一平均值,且各非最短路径接口的目标带宽占用率均为0;

37、在所述第一平均值大于所述高水线阈值,且所述第二平均值为0的情况下,以各最短路径接口和各非最短路径接口共同承载所述第一和值对应的流量后,各接口的带宽占用率均低于所述高水线阈值为目标,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率;

38、在所述第一平均值为0,且所述第二平均值大于0的情况下,判断若由各最短路径接口承载所述第二和值对应的流量,各最短路径接口的带宽占用率是否会超出所述高水线阈值,若否,则按照由各最短路径接口承载所述第二和值对应的流量,确定各最短路径接口的目标带宽占用率,并确定各非最短路径接口的目标带宽占用率为0;若是,则按照由各最短路径接口和各非最短路径接口共同承载所述第二和值对应的流量,确定各最短路径接口和各非最短路径接口的目标带宽占用率;

39、在所述第一平均值大于所述高水线阈值,且所述第二平均值大于0的情况下,或者在所述第一平均值大于所述低水线阈值,小于等于所述高水线阈值,且所述第二平均值大于0,且所述第一最大值大于所述高水线阈值的情况下,以各最短路径接口和各非最短路径接口共同承载所述第一和值和所述第二和值对应的流量后,各接口的带宽占用率均低于所述高水线阈值为目标,确定各最短路径接口和各非最短路径接口的目标带宽占用率;

40、在所述第一平均值小于等于所述低水线阈值,所述第二平均值大于0,且所述第一最大值大于所述高水线阈值的情况下,判断若由各最短路径接口承载所述第一和值和所述第二和值对应的流量,各最短路径接口的带宽占用率是否会超出所述高水线阈值;若否,则按照各最短路径接口承载所述第一和值和所述第二和值对应的流量,确定各最短路径接口的目标带宽占用率,并确定各非最短路径接口的带宽占用率为0;若是,则以各最短路径接口和各非最短路径接口共同承载所述第一和值和所述第二和值对应的流量后,各接口的带宽占用率均低于所述高水线阈值为目标,确定各最短路径接口的目标带宽占用率和各非最短路径接口的目标带宽占用率;

41、在所述第一平均值小于等于所述低水线阈值,所述第二平均值大于0,且所述第一最大值小于等于所述高水线阈值的情况下,若由各最短路径接口承载所述第一和值和所述第二和值对应的流量,各最短路径接口的带宽占用率不会超出所述高水线阈值,则按照各最短路径接口承载所述第一和值和所述第二和值对应的流量,确定各最短路径接口的目标带宽占用率,并确定各非最短路径接口的带宽占用率为0。

42、在一种可能的实现方式中,所述获取模块,具体用于:

43、每隔所述预设时长获取各最短路径接口和各非最短路径接口各自转发的报文数量;

44、针对每个接口,将相邻两次获取的该接口的报文数量之间的差值与所述预设时长之间的比值,作为该接口的当前带宽占用率。

45、在一种可能的实现方式中,所述获取模块,还用于:

46、若任一接口的接口缓冲区的已占用空间大于等于预设空间阈值,则将该接口的当前带宽占用率更新为100%。

47、在一种可能的实现方式中,所述获取模块,还用于:

48、通过最短路径接口或非最短路径接口接收业务报文;

49、若所述业务报文中包括ecn标记,且所述ecn标记的值为第一值或第二值,则将接收所述业务报文的接口记录为不拥塞状态;

50、若所述业务报文中包括ecn标记,且所述ecn标记的值为第三值,则将所述业务报文的接口记录为拥塞状态;

51、当任一接口的状态由不拥塞状态变更为拥塞状态时,将该接口的当前带宽占用率更新为100%。

52、第三方面,本技术实施例提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

53、存储器,用于存放计算机程序;

54、处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法。

55、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。

56、第五方面,本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

57、采用上述技术方案,可以每隔预设时长获取各最短路径接口和各非最短路径接口的当前带宽占用率,在任一接口的当前带宽占用率超过高水线阈值或者降低至低水线阈值以下的情况下,网络设备并未将流量全部切换至最短路径或者全部切换至非最短路径,而是基于各最短路径接口的当前带宽占用率、各非最短路径接口的当前带宽占用率、高水线阈值和低水线阈值,确定各最短路径接口的目标带宽占用率和各非最短路径的目标带宽占用率,进而基于确定出的目标带宽占用率计算各接口的转发权重值,基于计算得到的转发权重值更新每个接口对应的硬件寄存器表项中的转发带宽值。如此,可以使得后续各接口按照目标带宽占用率承载流量,即最短路径和非最短路径均能承载流量,能够提升带宽的整体利用率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1