一种流表半卸载方法、设备及介质与流程

文档序号:33774552发布日期:2023-04-18 22:35阅读:46来源:国知局
一种流表半卸载方法、设备及介质与流程

本技术涉及计算机,尤其涉及一种流表半卸载方法、设备及介质。


背景技术:

1、随着数据中心、云计算、网络技术的发展以及应用,需要通过流表卸载相关加速技术来提升芯片转发性能。一种流表卸载相关加速技术是流表硬件卸载也叫流表全卸载,指的是将用户空间的软件流表卸载到硬件上,由硬件或者说通过内核空间直接进行流表匹配以及执行报文转发。但是,流表全卸载需要将完整的流表卸载到硬件的有限缓存中,因此只能容纳有限的流表规格。另一种流表卸载相关加速技术是流表半卸载,卸载到硬件的不是完整的流表,而是用于匹配的流表项键值,由硬件接收到报文后,通过卸载到硬件上的半卸载流表找到匹配的流表项键值,再由软件找到匹配的流表处理操作转发。现有技术中的流表半卸载,与流表全卸载共用硬件缓存,占用了原本可以用于全卸载流表条目的空间,另外面对较高的流表规格例如大数据、云计算应用中常见的百万量级的流表,在软硬件交互、老化、统计以及流程上都比较复杂和效率低下。


技术实现思路

1、本技术实施例提供了一种流表半卸载方法、设备及介质,用于解决现有技术中存在的问题。

2、第一方面,本技术提供了一种流表半卸载方法。所述流表半卸载方法包括:通过报文转发装置的硬件,接收报文数据包并且利用第一算法计算所述报文数据包的第一标识信息的第一计算结果,所述第一标识信息用于所述报文数据包的流表匹配,所述第一计算结果的长度小于所述第一标识信息的长度;通过所述报文转发装置的硬件,上送所述第一计算结果到所述报文转发装置的软件;通过所述报文转发装置的软件,根据所述第一计算结果进行冲突检查以确定所述第一计算结果是否命中至少两个流表项,如果命中则确定存在冲突,如果未命中则确定不存在冲突;当所述报文转发装置的软件确定不存在冲突时,通过所述报文转发装置的软件对所述报文数据包执行与所述第一计算结果相匹配的流表项的流表处理操作,当所述报文转发装置的软件确定存在冲突时,通过所述报文转发装置的硬件上送所述第一标识信息,然后通过所述报文转发装置的软件对所述报文数据包执行与所述第一标识信息相匹配的流表项的流表处理操作。

3、通过本技术的第一方面,节省了硬件的有限缓存资源也提高了有限的流表容量下的转发性能,也简化了软硬件交互、老化、统计等。

4、在本技术的第一方面的一种可能的实现方式中,所述流表半卸载方法还包括:在通过所述报文转发装置的硬件上送所述第一标识信息之后,通过所述报文转发装置的软件,基于所述第一标识信息,从所述报文转发装置的软转流表中检索与所述第一标识信息相匹配的流表项。

5、在本技术的第一方面的一种可能的实现方式中,所述流表半卸载方法还包括:当所述报文转发装置的软件在所述报文转发装置的软转流表中没有检索到与所述第一标识信息相匹配的流表项,通过所述报文转发装置的软件生成与所述第一标识信息相匹配的流表项以及添加与所述第一标识信息相匹配的流表项到所述报文转发装置的软转流表。

6、在本技术的第一方面的一种可能的实现方式中,当所述第一计算结果命中所述至少两个流表项时,利用所述第一算法计算所述至少两个流表项各自的标识信息得到的计算结果均为所述第一计算结果。

7、在本技术的第一方面的一种可能的实现方式中,所述至少两个流表项各自的标识信息与所述第一标识信息具有相同的内容组成。

8、在本技术的第一方面的一种可能的实现方式中,通过所述报文转发装置的软件,存储利用所述第一算法计算所述报文转发装置的软转流表中每一个流表项各自的标识信息得到的计算结果。

9、在本技术的第一方面的一种可能的实现方式中,所述至少两个流表项来自所述报文转发装置的软转流表。

10、在本技术的第一方面的一种可能的实现方式中,所述报文转发装置的软转流表中每一个流表项各自的标识信息与所述第一标识信息具有相同的内容组成。

11、在本技术的第一方面的一种可能的实现方式中,所述流表半卸载方法还包括:通过所述报文转发装置的硬件,接收另一报文数据包,以及根据所述报文转发装置的缓存状态,选择性地利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配从而生成所述另一报文数据包的标记标识,然后上送所述标记标识到所述报文转发装置的软件;通过所述报文转发装置的软件,对所述另一报文数据包执行与所述标记标识相匹配的流表项的流表处理操作。

12、在本技术的第一方面的一种可能的实现方式中,当所述报文转发装置的缓存状态指示所述报文转发装置的空闲缓存小于第一预设阈值时,所述报文转发装置的硬件只利用卸载到所述报文转发装置的硬件的全卸载流表来进行所述另一报文数据包的标识信息匹配。

13、在本技术的第一方面的一种可能的实现方式中,当所述报文转发装置的缓存状态指示所述报文转发装置的空闲缓存小于第二预设阈值时,所述报文转发装置的硬件不利用卸载到所述报文转发装置的硬件的全卸载流表或者半卸载流表来进行所述另一报文数据包的标识信息匹配。

14、在本技术的第一方面的一种可能的实现方式中,所述第一标识信息是所述报文数据包的key键值。

15、在本技术的第一方面的一种可能的实现方式中,所述报文数据包的所述键值包括以下至少一项:源机器地址、目的机器地址、vlan信息、协议类型、源ip地址,目的ip地址、端口号。

16、在本技术的第一方面的一种可能的实现方式中,所述第一标识信息用于对所述报文数据包进行报文硬转的流表匹配。

17、在本技术的第一方面的一种可能的实现方式中,所述流表处理操作包括以下至少一项:转发、丢弃、排队、修改域。

18、在本技术的第一方面的一种可能的实现方式中,所述报文转发装置是网卡,所述报文转发装置的硬件对应所述网卡的内核空间,所述报文转发装置的软件对应所述网卡的用户空间。

19、在本技术的第一方面的一种可能的实现方式中,所述报文转发装置基于现场可编程门阵列(field-programmable gate array,fpga)、专用集成电路(application-specific integrated circuit,asic)或者数据处理器dpu实现。

20、在本技术的第一方面的一种可能的实现方式中,所述第一算法是第一加密算法,所述第一计算结果是对所述第一标识信息应用所述第一加密算法得到的密文。

21、在本技术的第一方面的一种可能的实现方式中,所述第一加密算法是以下任意一项:哈希算法、密码散列函数md5算法、加密哈希sha算法、散列消息鉴别码hmac算法、数据加密标准des算法、高级加密标准aes算法、rsa加密算法。

22、在本技术的第一方面的一种可能的实现方式中,所述第一算法是第一压缩算法,所述第一计算结果是对所述第一标识信息应用所述第一压缩算法得到的压缩结果。

23、第二方面,本技术实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。

24、第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。

25、第四方面,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。

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