基于多次Hash计算的报文处理方法及装置制造方法及图纸

技术编号:37714544 阅读:12 留言:0更新日期:2023-06-02 00:09
本发明专利技术涉及一种基于多次Hash计算的报文处理方法及装置,其根据报文的报文类型匹配n个字段选取模板,根据所述字段选取模板对报文进行相应字段的选取,得到n个字段组,其中n≥2;对每个字段组进行至少两种方式的Hash计算得到不同类哈希值,其中每一种方式的Hash计算对应一类哈希值;根据报文类型选取对应报文的不同字段组,从不同字段组中分别选取不同类哈希值进行合并计算,得到新的哈希值。即本发明专利技术的方案能够根据报文类型匹配出不同的字段选取模板,从而获取不同的字段组,并分别进行Hash计算,每个字段组的Hash计算得到的不同类Hash值进行的合并计算,能够提高字段选取的灵活性。活性。活性。

【技术实现步骤摘要】
基于多次Hash计算的报文处理方法及装置


[0001]本专利技术涉及数据通信领域中的数据报文转发
,尤其涉及一种基于多次Hash计算的报文处理方法及装置。

技术介绍

[0002]Hash机制是网络交换设备用于计算Hash值的常用方法,即利用当前处理报文中的字段,以及报文入口,出口等信息,通过Hash算法,计算得到一个或多个Hash值,从而给后续报文转发提供依据的一套机制。
[0003]通常,Hash机制分为以下几个步骤:第一,根据策略挑选当前处理报文中的字段,以及报文入口等属性,将这些信息组成KEY;第二,对KEY进行 Hash多项式运算,得到Hash值;第三,利用Hash值进行ECMP选路等转发决策。
[0004]现有的方案是针对不同的报文类型,以模板的形式,选取报文中的不同字段来参与Hash计算。比如针对IPv4报文,模板一可选择IP源地址+IP目的地址+四层协议类型+四层源端口+四层目的端口;模板二可选择IP 源地址+IP目的地址+四层协议类型。上层用户可根据报文中的每种报文类型选择不同的模板来选取字段参与Hash计算,然后用计算的Hash值来辅助进行转发选路。
[0005]但是,上述中现有的方案的缺点在于:
[0006]第一,模板并不能随意创建;这是由于模板是固定在逻辑里面的,并且是有数量限制和种类限制的,而为了设备或装置的成本考虑,设计者通常只会放一些常用模板。
[0007]第二,不管模板如何定义,总体可选取的KEY的宽度有限,因此无法在各个场景选中需要的字段。假设参与Hash计算的KEY的宽度为N,如果针对IPv4报文,需要将MACDa(MAC目的地址)和MACSa(MAC源地址) 参与到Hash计算中来,留给其他字段的比特数就只有N-96比特。如果上层用户同时要求要将MACDa+MACSa+IP源地址+IP目的地址等参与Hash 计算,比特位宽N很有可能是不够的,导致包含了MACDa+MACSa+IP源地址+IP目的地址的模板就无法实现,造成网络交换设备无法针对报文灵活选取不同的字段来做Hash计算,报文无法转发的问题。

技术实现思路

[0008]本专利技术的目的是提供一种基于多次Hash计算的报文处理方法及装置,用于解决现有技术模板数量限制和种类限制,以及KEY比特位宽不足,无法灵活选取字段的问题。
[0009]为了实现上述目的,本专利技术提供的一种基于多次Hash计算的报文处理方法的技术方案,包括如下步骤:
[0010]根据报文的报文类型匹配n个字段选取模板,根据所述字段选取模板对报文进行相应字段的选取,得到n个字段组,其中n≥2;
[0011]对每个字段组进行至少两种方式的Hash计算得到不同类哈希值,其中每一种方式的Hash计算对应一类哈希值;
[0012]根据报文类型选取对应报文的不同字段组,从不同字段组中分别选取不同类哈希值进行合并计算,得到新的哈希值。
[0013]进一步的,所述合并计算为:将从一个字段组对应的哈希值中选取第一类哈希值和从另一个字段组对应的哈希值中选取第二类哈希值进行计算,得到新的哈希值。
[0014]进一步的,所述的至少两种方式为在进行Hash计算时,哈希函数保持不变,调整输入的初始值Seed确定对应的方式。
[0015]进一步的,所述初始值Seed通过seed

data命令设置。
[0016]进一步的,当初始值Seed=0xFFFF时,根据第一种方式的Hash计算得到第一哈希值;当初始值Seed=0时,根据第二种方式的Hash计算得到第二哈希值。
[0017]进一步的,当所述报文为IPv4报文,对应的字段选取模板为2个时,则所述字段选取模板包括模板一和模板二;
[0018]所述模板一为存放MACDa及MACSa的模板;
[0019]所述模板二为存放IP源地址及IP目的地址的模板。
[0020]本专利技术还提供了一种基于多次Hash计算的报文处理装置,包括Hash选择器、Hash计算器以及Hash合并器;
[0021]Hash选择器,用于根据报文的报文类型匹配n个字段选取模板,根据所述字段选取模板对报文进行相应字段的选取,得到n个字段组,其中n≥2;
[0022]Hash计算器,对每个字段组进行至少两种方式的Hash计算得到不同类哈希值,其中每一种方式的Hash计算对应一类哈希值;
[0023]Hash合并器,根据报文类型选取对应报文的不同字段组,从不同字段组中分别不同类哈希值进行合并计算,得到新的哈希值。
[0024]进一步的,所述的至少两种方式为在进行Hash计算时,哈希函数保持不变,调整输入的初始值Seed确定对应的方式。
[0025]进一步的,所述初始值Seed通过seed

data命令设置。
[0026]进一步的,当初始值Seed=0xFFFF时,根据第一种方式的Hash计算得到第一哈希值;当初始值Seed=0时,根据第二种方式的Hash计算得到第二哈希值。
[0027]本专利技术的有益效果为:
[0028]本专利技术的方案能够根据报文类型匹配出不同的字段选取模板,从而获取不同的字段组,并分别进行Hash计算,并根据Hash算法中初始Seed值的调整,每个字段组可以进行至少两次Hash计算,得到不同类的Hash值,在合并计算时,根据报文类型选取不同字段组,并从不同字段组中分别选取不同类的Hash值,解决了由于模板的数量和种类不足,以及KEY比特位宽不足的问题,提高了字段选取的灵活性。
附图说明
[0029]图1示出了本专利技术的一种基于多次Hash计算的报文处理方法实施例的方法流程图;
[0030]图2示出了本专利技术的一种基于多次Hash计算的报文处理装置实施例的结构示意图;
[0031]图3示出了本专利技术的一种基于多次Hash计算的报文处理装置另一实施例的结构示
意图;
[0032]图4示出了本专利技术的一种基于多次Hash计算的报文处理装置的Hash选择器的原理示意图;
[0033]图5示出了本专利技术的一种基于多次Hash计算的报文处理装置的Hash计算器的原理示意图;
[0034]图6示出了本专利技术的一种基于多次Hash计算的报文处理装置的Hash合并器的原理示意图。
具体实施方式
[0035]下面结合附图,对本专利技术的具体实施方式进行详细描述,但应当理解本专利技术的保护范围并不受具体实施方式的限制。
[0036]除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
[0037]方法实施例:
[0038]本专利技术提供了一种基于多次Hash计算的报文处理方法的一种具体实施方式,该方法实施例针对的是网络交换设备针对不同类型报文能够灵活选取字段进行Hash计算的问本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多次Hash计算的报文处理方法,其特征在于,包括如下步骤:根据报文的报文类型匹配n个字段选取模板,根据所述字段选取模板对报文进行相应字段的选取,得到n个字段组,其中n≥2;对每个字段组进行至少两种方式的Hash计算得到不同类哈希值,其中每一种方式的Hash计算对应一类哈希值;根据报文类型选取对应报文的不同字段组,从不同字段组中分别选取不同类哈希值进行合并计算,得到新的哈希值。2.根据权利要求1所述的一种基于多次Hash计算的报文处理方法,其特征在于,所述合并计算为:将从一个字段组对应的哈希值中选取第一类哈希值和从另一个字段组对应的哈希值中选取第二类哈希值进行计算,得到新的哈希值。3.根据权利要求1所述的一种基于多次Hash计算的报文处理方法,其特征在于,所述的至少两种方式为在进行Hash计算时,哈希函数保持不变,调整输入的初始值Seed确定对应的方式。4.根据权利要求3所述的一种基于多次Hash计算的报文处理方法,其特征在于,所述初始值Seed通过seed

data命令设置。5.根据权利要求3所述的一种基于多次Hash计算的报文处理方法,其特征在于,当初始值Seed=0xFFFF时,根据第一种方式的Hash计算得到第一哈希值;当初始值Seed=0时,根据第二种方式的Hash计算得到第二哈希值。6.根据权利要求1所述的一种基于多次Hash计算的报文处理方法,其特征在于,当所...

【专利技术属性】
技术研发人员:姚佳毅周伟崔兴龙
申请(专利权)人:苏州盛科通信股份有限公司
类型:发明
国别省市:

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

1