流表存储及报文转发方法、装置、计算设备及介质制造方法及图纸

技术编号:34255982 阅读:67 留言:0更新日期:2022-07-24 12:41
公开了一种流表存储及报文转发方法、装置、计算设备及介质,所述流表存储方法包括:获取待存储流表的关键字和数据;获取所述关键字的第一哈希值和第二哈希值;根据所述第一哈希值,将所述待存储流表的第二哈希值存储在第一存储器中;将所述待存储流表的关键字和数据存储在第二存储器中,可以在确保带宽满足的情况下存储更多的流表,并且由于将流表的地址管理与流表的数据进行分离,减少了哈希冲突。减少了哈希冲突。减少了哈希冲突。

Flow table storage and message forwarding method, device, computing equipment and media

【技术实现步骤摘要】
流表存储及报文转发方法、装置、计算设备及介质


[0001]本说明书一个或多个实施例涉及通信
,尤其涉及一种流表存储及报文转发方法、装置、计算设备及介质。

技术介绍

[0002]随着云计算的高速发展,智能网卡芯片在云网络的地位不断上升,而智能网卡芯片核心在于有效管理流表。增加转发流表数量是流表管理最重要的手段之一,由于通常使用HASH算法来计算地址并存储在对应的地址空间,因此在增加了转发流表数量的情况下,HASH算法导致地址冲突是无法回避的困难问题。如何在尽可能存储更多转发流表的情况下,减少哈希冲突是目前亟待解决的问题。

技术实现思路

[0003]有鉴于此,本说明书一个或多个实施例提供一种流表存储及报文转发方法、装置、计算设备及介质。
[0004]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种流表存储方法,该方法包括:
[0006]获取待存储流表的关键字和数据;
[0007]获取所述关键字的第一哈希值和第二哈希值;
[0008]根据所述第一哈希值,将所述待存储流表的第二哈希值存储在第一存储器中;
[0009]将所述待存储流表的关键字和数据存储在第二存储器中。
[0010]在一些实施例中,所述待存储流表具有标识信息,所述根据所述第一哈希值,将所述待存储流表的第二哈希值存储在第一存储器中,包括:
[0011]根据所述第一哈希值,得到所述待存储流表在所述第一存储器中对应的桶的地址;
[0012]将所述待存储流表的标识信息和所述第二哈希值存储于所述桶的槽位中。
[0013]在一些实施例中,所述根据所述待存储流表的关键字和数据存储在第二存储器中,包括:
[0014]根据所述待存储流表的标识信息,得到所述待存储流表在所述第二存储器中对应的桶的地址;
[0015]将所述待存储流表的关键字和数据存储在所述桶的槽位中。
[0016]根据本说明书一个或多个实施例的第二方面,提出了一种报文转发方法,该方法包括:
[0017]获取待转发报文的关键字,并获取所述关键字的第三哈希值和第四哈希值;
[0018]根据所述第三哈希值,从所述第一存储器获取至少一个流表的关键字的第二哈希值,并通过将所述第四哈希值与所述至少一个流表的关键字的第二哈希值进行比较,确定
与所述待转发报文匹配的流表;其中,所述第一存储器中存储第二哈希值的地址根据所述流表的关键字的第一哈希值确定;
[0019]从第二存储器中获取与所述待转发报文匹配的流表的关键字,其中,所述第二存储器中存储有流表的关键字和数据;
[0020]在所述流表的关键字与所述待转发报文的关键字匹配的情况下,根据所述流表的数据执行对所述待转发报文进行转发处理。
[0021]在一些实施例中,所述通过将所述报文的关键字的第四哈希值与所述至少一个流表的关键字的第二哈希值进行比较,确定与所述报文匹配的流表,包括:
[0022]根据所述报文的第二哈希值,得到所述第一存储器中对应的桶的地址;
[0023]将所述桶的各个槽位中存储的流表的第二哈希值与所述报文的第四哈希值进行比较,将具有相同哈希值的流表确定为与所述待转发报文匹配的流表。
[0024]在一些实施例中,所述桶的各个槽中还存储有流表的标识信息;所述从第二存储器中获取所述流表的关键字,包括:
[0025]获取与所述待转发报文匹配的流表的标识信息;
[0026]根据所述标识信息,得到所述第二存储器中对应的桶的地址;
[0027]获取所述桶中存储的流表的关键字和数据;
[0028]在所述流表的关键字与所述待转发报文的关键字匹配的情况下,根据所述流表的数据执行对所述待转发报文进行转发处理。
[0029]根据本说明书一个或多个实施例的第三方面,提出了一种流表存储装置,所述装置包括:
[0030]第一获取单元,用于获取待存储流表的关键字和数据;
[0031]第二获取单元,用于获取所述关键字的第一哈希值和第二哈希值;
[0032]第一存储单元,用于根据所述第一哈希值,将所述待存储流表的第二哈希值存储在第一存储器中;
[0033]第二存储单元,用于将所述待存储流表的关键字和数据存储在第二存储器中。
[0034]在一些实施例中,所述待存储流表具有标识信息,所述第一存储单元具体用于:
[0035]根据所述第一哈希值,得到所述待存储流表在所述第一存储器中对应的桶的地址;
[0036]将所述待存储流表的标识信息和所述第二哈希值存储于所述桶的槽位中。
[0037]在一些实施例中,所述第二存储单元具体用于:
[0038]根据所述待存储流表的标识信息,得到所述待存储流表在所述第二存储器中对应的桶的地址;
[0039]将所述待存储流表的关键字和数据存储在所述桶的槽位中。
[0040]根据本说明书一个或多个实施例的第四方面,提出了一种流表存储装置,所述装置包括:
[0041]第一获取单元,用于获取待转发报文的关键字,并获取所述关键字的第三哈希值和第四哈希值;
[0042]确定单元,用于根据所述第三哈希值,从所述第一存储器获取至少一个流表的关键字的第二哈希值,并通过将所述第四哈希值与所述至少一个流表的关键字的第二哈希值
进行比较,确定与所述待转发报文匹配的流表;其中,所述第一存储器中存储第二哈希值的地址根据所述流表的关键字的第一哈希值确定;
[0043]第二获取单元,用于从第二存储器中获取与所述待转发报文匹配的流表的关键字,其中,所述第二存储器中存储有流表的关键字和数据;
[0044]转发单元,用于在所述流表的关键字与所述待转发报文的关键字匹配的情况下,根据所述流表的数据执行对所述待转发报文进行转发处理。
[0045]在一些实施例中,所述确定单元具体用于:
[0046]根据所述报文的第二哈希值,得到所述第一存储器中对应的桶的地址;
[0047]将所述桶的各个槽位中存储的流表的第二哈希值与所述报文的第四哈希值进行比较,将具有相同哈希值的流表确定为与所述待转发报文匹配的流表。
[0048]在一些实施例中,所述转发单元具体用于:
[0049]获取与所述待转发报文匹配的流表的标识信息;
[0050]根据所述标识信息,得到所述第二存储器中对应的桶的地址;
[0051]获取所述桶中存储的流表的关键字和数据;
[0052]在所述流表的关键字与所述待转发报文的关键字匹配的情况下,根据所述流表的数据执行对所述待转发报文进行转发处理。
[0053]根据本说明书一个或多个实施例的第五方面,提出了一种计算设备,该计算设备包括:
[0054]处理器;
[0055]用于存储处理器可执行指令的存储器;
[0056]其中,处理器通过运行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流表存储方法,其特征在于,所述方法包括:获取待存储流表的关键字和数据;获取所述关键字的第一哈希值和第二哈希值;根据所述第一哈希值,将所述待存储流表的第二哈希值存储在第一存储器中;将所述待存储流表的关键字和数据存储在第二存储器中。2.根据权利要求1所述的方法,其特征在于,所述待存储流表具有标识信息,所述根据所述第一哈希值,将所述待存储流表的第二哈希值存储在第一存储器中,包括:根据所述第一哈希值,得到所述待存储流表在所述第一存储器中对应的桶的地址;将所述待存储流表的标识信息和所述第二哈希值存储于所述桶的槽位中。3.根据权利要求2所述的方法,其特征在于,所述根据所述待存储流表的关键字和数据存储在第二存储器中,包括:根据所述待存储流表的标识信息,得到所述待存储流表在所述第二存储器中对应的桶的地址;将所述待存储流表的关键字和数据存储在所述桶的槽位中。4.一种报文转发方法,其特征在于,所述方法包括:获取待转发报文的关键字,并获取所述关键字的第三哈希值和第四哈希值;根据所述第三哈希值,从第一存储器获取至少一个流表的关键字的第二哈希值,并通过将所述第四哈希值与所述至少一个流表的关键字的第二哈希值进行比较,确定与所述待转发报文匹配的流表;其中,所述第一存储器中存储第二哈希值的地址根据所述流表的关键字的第一哈希值确定;从第二存储器中获取与所述待转发报文匹配的流表的关键字,其中,所述第二存储器中存储有流表的关键字和数据;在所述流表的关键字与所述待转发报文的关键字匹配的情况下,根据所述流表的数据执行对所述待转发报文进行转发处理。5.根据权利要求4所述的方法,其特征在于,所述通过将所述报文的关键字的第四哈希值与所述至少一个流表的关键字的第二哈希值进行比较,确定与所述报文匹配的流表,包括:根据所述报文的第二哈希值,得到所述第一存储器中对应的桶的地址;将所述桶的各个槽位中存储的流表的第二哈希值与所述报文的第四哈希值进行比较,将具有相同哈希值的流表确定为与所述待转发...

【专利技术属性】
技术研发人员:薄守静
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1