一种负载分担方法及装置与流程

文档序号:35007008发布日期:2023-08-04 03:38阅读:20来源:国知局
一种负载分担方法及装置与流程

本申请涉及通信,尤其涉及一种负载分担方法及装置。


背景技术:

1、当前互联网应用十分广泛,尤其是各种短视频app的大量使用,使得网络流量增长很快。在不同的网络设备间流量很大,往往需要多条物理链路,甚至多个物理设备来共同分担这些流量,这样就会在两个边缘设备间形成多条等价链路来分担流量。但不同的链路可能带宽不同,为避免小带宽链路承担超带宽的流程,需要开启ucmp(unequal-costmultiple path,非等价多路径)功能,以让每条等价链路按物理带宽分担流量,对于隧道类型的出口,需要根据隧道配置的带宽来分担流量。

2、为了实现流量按带宽比分担,网络芯片定义了等价转发表,但这些等价转发表受限于硬件资源,每个等价转发表最多只能有n个硬件出接口表项,这里以64个出接口表项为例。当等价链路的带宽最简比之和小于64时,设备才能准确的按这个比例进行ucmp负载分担流量;当最简比之和大于64时,则会存在比例误差,导致负载分担不均衡。比如,带宽最简比为1:4:1时,则在网络芯片下发硬件表项时按照第一个出口和第三个出接口各下发一个硬件出接口表,第二个出口下发4个硬件出接口表,流量即可严格按照这个比例负载分担。

3、若带宽最简比是1:100,最简比之和超过64,则无法按照第一个出接口下1个硬件出接口表,第二个出接口下100个硬件出接口表,最多只能按照1:63来下发硬件出接口表,导致负载分担与预期分担比例差异较大,有可能导致小带宽的出接口超带宽丢包。若流量超过64g,则1g链路因分担超带宽流量而丢包。

4、因此,如何实现任意带宽比的ucmp负载分担,不受出接口的限制是值得考虑的技术问题之一。


技术实现思路

1、有鉴于此,本申请提供一种负载分担方法及装置,用以在不受出接口的限制的情况下,实现任意带宽比的ucmp负载分担。

2、具体地,本申请是通过如下技术方案实现的:

3、根据本申请的第一方面,提供一种负载分担方法,应用于网络芯片中,所述网络芯片包括多个出接口,每个出接口的出接口表包括对应等价多路径ecmp表在该出接口的下发数量,所述下发数量为基于所述网络芯片所承载的各等价多路径的带宽比确定出的;所述方法,包括:

4、接收网络报文;

5、从所述网络报文中提取出报文属性;

6、对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果;

7、确定所述模值结果所属的目标数量范围;

8、根据数量范围与出接口之间的对应关系,确定所述目标数量范围对应的目标出接口,每个数量范围为基于对应出接口的出接口表包括的下发数量确定出的;

9、利用所述目标出接口转发所述网络报文。

10、根据本申请的第二方面,提供一种报文处理装置,设置于网络芯片中,所述网络芯片包括多个出接口,每个出接口的出接口表包括对应等价多路径ecmp表在该出接口实际需要下发的出接口表的下发数量,所述下发数量为基于所述网络芯片所承载的各等价多路径的带宽比确定出的;所述装置,包括:

11、接收模块,用于接收网络报文;

12、提取模块,用于从所述网络报文中提取出报文属性;

13、运算模块,用于对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果;

14、第一确定模块,用于确定所述模值结果所属的目标数量范围;

15、第二确定模块,用于根据数量范围与出接口之间的对应关系,确定所述目标数量范围对应的目标出接口,每个数量范围为基于对应出接口的出接口表包括的下发数量确定出的;

16、转发模块,用于利用所述目标出接口转发所述网络报文。

17、根据本申请的第三方面,提供一种网络设备,包括网络芯片和机器可读存储介质,机器可读存储介质存储有能够被网络芯片执行的计算机程序,网络芯片被计算机程序促使执行本申请实施例第一方面所提供的方法。

18、根据本申请的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被网络芯片调用和执行时,计算机程序促使网络芯片执行本申请实施例第一方面所提供的方法。

19、本申请实施例的有益效果:

20、本申请实施例提供的负载分担方法及装置,网络芯片在接收到网络报文后,从所述网络报文中提取出报文属性;对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果;确定所述模值结果所属的目标数量范围;根据数量范围与出接口之间的对应关系,确定所述目标数量范围对应的目标出接口,每个数量范围为基于对应出接口的出接口表包括的下发数量确定出的;利用所述目标出接口转发所述网络报文。上述方法中,由于在每个出接口表中增加了对应ecmp表在该出接口实际需要下发的出接口表的下发数量这一特征,然后基于该下发数量实现负载分担处理,这样也就不需要在每个出接口下发多个出接口表,不再受出接口的数量的限制,只需要根据带宽比在对应出接口下发一个出接口表也就能够实现负载分担处理,不仅减少了表项下发数量,而且节省了网络芯片的存储资源。



技术特征:

1.一种负载分担方法,其特征在于,应用于网络芯片中,所述网络芯片包括多个出接口,每个出接口的出接口表包括对应等价多路径ecmp表在该出接口实际需要下发的出接口表的下发数量,所述下发数量为基于所述网络芯片所承载的各等价多路径的带宽比确定出的;所述方法,包括:

2.根据权利要求1所述的方法,其特征在于,对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果,包括:

3.根据权利要求1所述的方法,其特征在于,每个ecmp表在对应出接口的下发数量包括在该出接口的出接口表中的count属性中。

4.根据权利要求1所述的方法,其特征在于,每个下发数量为基于所述网络芯片所承载的对应等价多路径的带宽比值。

5.根据权利要求1所述的方法,其特征在于,第n个数量范围的左端点值为前n-1个出接口对应的下发数量的第一和值,第n个数量范围的右端值为前n个出接口对应的下发数量的第二和值。

6.一种报文处理装置,其特征在于,设置于网络芯片中,所述网络芯片包括多个出接口,每个出接口的出接口表包括对应等价多路径ecmp表在该出接口实际需要下发的出接口表的下发数量,所述下发数量为基于所述网络芯片所承载的各等价多路径的带宽比确定出的;所述装置,包括:

7.根据权利要求6所述的装置,其特征在于,

8.根据权利要求6所述的装置,其特征在于,每个ecmp表在对应出接口的下发数量包括在该出接口的出接口表中的count属性中。

9.根据权利要求6所述的装置,其特征在于,每个下发数量为基于所述网络芯片所承载的对应等价多路径的带宽比值。

10.根据权利要求6所述的装置,其特征在于,第n个数量范围的左端点值为前n-1个出接口对应的下发数量的第一和值,第n个数量范围的右端值为前n个出接口对应的下发数量的第二和值。


技术总结
本申请提供了一种负载分担方法及装置,应用于网络芯片中。网络芯片包括多个出接口,每个出接口的出接口表包括对应等价多路径ECMP表在该出接口实际需要下发的出接口表的下发数量,所述下发数量为基于所述网络芯片所承载的各等价多路径的带宽比确定出的;所述方法,包括:接收网络报文;从所述网络报文中提取出报文属性;对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果;确定所述模值结果所属的目标数量范围;根据数量范围与出接口之间的对应关系,确定所述目标数量范围对应的目标出接口,每个数量范围为基于对应出接口的出接口表包括的下发数量确定出的;利用所述目标出接口转发所述网络报文。

技术研发人员:杨亚伟
受保护的技术使用者:新华三技术有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1