一种负载分担方法及装置制造方法及图纸

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

【技术实现步骤摘要】
一种负载分担方法及装置


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

技术介绍

[0002]当前互联网应用十分广泛,尤其是各种短视频APP的大量使用,使得网络流量增长很快。在不同的网络设备间流量很大,往往需要多条物理链路,甚至多个物理设备来共同分担这些流量,这样就会在两个边缘设备间形成多条等价链路来分担流量。但不同的链路可能带宽不同,为避免小带宽链路承担超带宽的流程,需要开启UCMP(Unequal

Cost Multiple Path,非等价多路径)功能,以让每条等价链路按物理带宽分担流量,对于隧道类型的出口,需要根据隧道配置的带宽来分担流量。
[0003]为了实现流量按带宽比分担,网络芯片定义了等价转发表,但这些等价转发表受限于硬件资源,每个等价转发表最多只能有N个硬件出接口表项,这里以64个出接口表项为例。当等价链路的带宽最简比之和小于64时,设备才能准确的按这个比例进行UCMP负载分担流量;当最简比之和大于64时,则会存在比例误差,导致负载分担不均衡。比如,带宽最简比为1:4:1时,则在网络芯片下发硬件表项时按照第一个出口和第三个出接口各下发一个硬件出接口表,第二个出口下发4个硬件出接口表,流量即可严格按照这个比例负载分担。
[0004]若带宽最简比是1:100,最简比之和超过64,则无法按照第一个出接口下1个硬件出接口表,第二个出接口下100个硬件出接口表,最多只能按照1:63来下发硬件出接口表,导致负载分担与预期分担比例差异较大,有可能导致小带宽的出接口超带宽丢包。若流量超过64G,则1G链路因分担超带宽流量而丢包。
[0005]因此,如何实现任意带宽比的UCMP负载分担,不受出接口的限制是值得考虑的技术问题之一。

技术实现思路

[0006]有鉴于此,本申请提供一种负载分担方法及装置,用以在不受出接口的限制的情况下,实现任意带宽比的UCMP负载分担。
[0007]具体地,本申请是通过如下技术方案实现的:
[0008]根据本申请的第一方面,提供一种负载分担方法,应用于网络芯片中,所述网络芯片包括多个出接口,每个出接口的出接口表包括对应等价多路径ECMP表在该出接口的下发数量,所述下发数量为基于所述网络芯片所承载的各等价多路径的带宽比确定出的;所述方法,包括:
[0009]接收网络报文;
[0010]从所述网络报文中提取出报文属性;
[0011]对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果;
[0012]确定所述模值结果所属的目标数量范围;
[0013]根据数量范围与出接口之间的对应关系,确定所述目标数量范围对应的目标出接口,每个数量范围为基于对应出接口的出接口表包括的下发数量确定出的;
[0014]利用所述目标出接口转发所述网络报文。
[0015]根据本申请的第二方面,提供一种报文处理装置,设置于网络芯片中,所述网络芯片包括多个出接口,每个出接口的出接口表包括对应等价多路径ECMP表在该出接口实际需要下发的出接口表的下发数量,所述下发数量为基于所述网络芯片所承载的各等价多路径的带宽比确定出的;所述装置,包括:
[0016]接收模块,用于接收网络报文;
[0017]提取模块,用于从所述网络报文中提取出报文属性;
[0018]运算模块,用于对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果;
[0019]第一确定模块,用于确定所述模值结果所属的目标数量范围;
[0020]第二确定模块,用于根据数量范围与出接口之间的对应关系,确定所述目标数量范围对应的目标出接口,每个数量范围为基于对应出接口的出接口表包括的下发数量确定出的;
[0021]转发模块,用于利用所述目标出接口转发所述网络报文。
[0022]根据本申请的第三方面,提供一种网络设备,包括网络芯片和机器可读存储介质,机器可读存储介质存储有能够被网络芯片执行的计算机程序,网络芯片被计算机程序促使执行本申请实施例第一方面所提供的方法。
[0023]根据本申请的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被网络芯片调用和执行时,计算机程序促使网络芯片执行本申请实施例第一方面所提供的方法。
[0024]本申请实施例的有益效果:
[0025]本申请实施例提供的负载分担方法及装置,网络芯片在接收到网络报文后,从所述网络报文中提取出报文属性;对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果;确定所述模值结果所属的目标数量范围;根据数量范围与出接口之间的对应关系,确定所述目标数量范围对应的目标出接口,每个数量范围为基于对应出接口的出接口表包括的下发数量确定出的;利用所述目标出接口转发所述网络报文。上述方法中,由于在每个出接口表中增加了对应ECMP表在该出接口实际需要下发的出接口表的下发数量这一特征,然后基于该下发数量实现负载分担处理,这样也就不需要在每个出接口下发多个出接口表,不再受出接口的数量的限制,只需要根据带宽比在对应出接口下发一个出接口表也就能够实现负载分担处理,不仅减少了表项下发数量,而且节省了网络芯片的存储资源。
附图说明
[0026]图1是本申请实施例提供的一种负载分担方法的流程示意图;
[0027]图2是本申请实施例提供的一种负载分担装置的结构示意图;
[0028]图3是本申请实施例提供的一种实施负载分担方法的网络设备的硬件结构示意图。
具体实施方式
[0029]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。
[0030]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
[0031]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0032]下面对本申请提供的负载分担方法进行详细地说明。
[0033]参见图1,图1是本申请提供的一种负载分担方法的流程图,应用于网络芯片中,该网络芯片包括多个出接口,每个出接口的出接口表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种负载分担方法,其特征在于,应用于网络芯片中,所述网络芯片包括多个出接口,每个出接口的出接口表包括对应等价多路径ECMP表在该出接口实际需要下发的出接口表的下发数量,所述下发数量为基于所述网络芯片所承载的各等价多路径的带宽比确定出的;所述方法,包括:接收网络报文;从所述网络报文中提取出报文属性;对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果;确定所述模值结果所属的目标数量范围;根据数量范围与出接口之间的对应关系,确定所述目标数量范围对应的目标出接口,每个数量范围为基于对应出接口的出接口表包括的下发数量确定出的;利用所述目标出接口转发所述网络报文。2.根据权利要求1所述的方法,其特征在于,对所述报文属性与所述网络芯片的出接口的总数量进行取模运算处理,得到模值结果,包括:当所述报文属性的格式不满足取模运算的格式时,则对所述报文属性进行转换处理,以得到与所述取模运算格式相匹配的报文属性转换值;对所述报文属性转换值与所述总数量进行取模运算处理,得到模值结果。3.根据权利要求1所述的方法,其特征在于,每个ECMP表在对应出接口的下发数量包括在该出接口的出接口表中的count属性中。4.根据权利要求1所述的方法,其特征在于,每个下发数量为基于所述网络芯片所承载的对应等价多路径的带宽比值。5.根据权利要求1所述的方法,其特征在于,第N个数量范围的左端点值为前N

1个出接口对应的下发数量的第一和值,第N个数量范围的右端值为前N个出接口对应的下发数量的第二和值。6.一种报文处理装置,其特征在...

【专利技术属性】
技术研发人员:杨亚伟
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1