一种基于FPGA的流表处理方法、装置、设备以及存储介质制造方法及图纸

技术编号:37770664 阅读:18 留言:0更新日期:2023-06-06 13:34
本发明专利技术公开了一种基于FPGA的流表处理方法、装置、设备以及存储介质。由现场可编程门阵列FPGA器件执行,该方法包括:响应于通过外部接口输入的以太网报文,确定以太网报文中的查找数据包和新建数据包;基于预设的哈希算法,根据查找数据包和新建数据包中的五元组信息,在FPGA存储空间中进行流表更新操作和流表新建操作;在检测到所述以太网报文中的查找数据包和新建数据包均处理完毕后,对所述以太网报文进行整合输出。本发明专利技术的技术方案,可以基于FPGA器件,实现更全面有效的流表管理,提高以太网报文的处理效率。太网报文的处理效率。太网报文的处理效率。

【技术实现步骤摘要】
一种基于FPGA的流表处理方法、装置、设备以及存储介质


[0001]本专利技术涉及通信领域,尤其涉及一种基于FPGA的流表处理方法、装置、设备以及存储介质。

技术介绍

[0002]以太网报文是以数据包为单位进行传输的,对网络报文中的数据包进行流表管理可以有效地提高网络数据包的传输效率。
[0003]随着通信技术的不断发展,如何对基于FPGA器件进行全面有效的流表管理,提高以太网报文中数据包的处理效率,是目前亟待解决的问题。

技术实现思路

[0004]本专利技术提供了一种基于FPGA的流表处理方法、装置、设备以及存储介质,以实现更全面有效的流表管理,提高以太网报文的处理效率。
[0005]根据本专利技术的一方面,提供了一种基于FPGA的流表处理方法,由现场可编程门阵列FPGA器件执行,所述方法包括:
[0006]响应于通过外部接口输入的以太网报文,确定所述以太网报文中的查找数据包和新建数据包;
[0007]基于预设的哈希算法,根据查找数据包和新建数据包中的五元组信息,在FPGA的存储空间中进行流表更新操作和流表新建操作;
[0008]在检测到所述以太网报文中的查找数据包和新建数据包均处理完毕后,对所述以太网报文进行整合输出。
[0009]可选的,基于预设的哈希算法,根据查找数据包的五元组信息,在FPGA的存储空间中进行流表更新操作,包括:
[0010]基于预设的哈希算法,对查找数据包的五元组信息进行哈希计算,并根据计算结果和预存哈希表,确定FPGA的存储空间中是否存在所述查找数据包;
[0011]若否,则确定所述查找数据包的流表ID,并对FPGA的存储空间中的流表进行更新操作。
[0012]上述技术方案通过对查找数据包的五元组信息进行哈希计算,从而根据哈希计算结果和预存哈希表来确定查找数据包是否已存在于FPGA的存储空间中,可以快速准确地确定出查找数据包是否已存储,通过在确定其不存在的情况下,基于流表ID进行更新操作,可以进行流表的及时更新,实现流表的实时管理。
[0013]可选的,基于预设的哈希算法,对查找数据包的五元组信息进行哈希计算,并根据计算结果和预存哈希表,确定FPGA的存储空间中是否存在所述查找数据包,包括:
[0014]基于预设的第一哈希算法和第二哈希算法,分别对查找数据包的五元组信息进行哈希计算,确定第一哈希值和第二哈希值;
[0015]根据第一哈希值,在预存哈希表中进行查找,确定对应的预存哈希值,并确定预存
的哈希值与第二哈希值是否一致;
[0016]若否,则确定FPGA的存储空间中不存在所述查找数据包。
[0017]上述技术方案通过两种哈希算法,分别对查找数据包的五元组信息进行哈希计算,从而根据第一哈希值和第二哈希值的关系,确定查找数据包是否已存在于FPGA的存储空间中,给出了利用哈希算法确认查找数据包是否已存储的一种可实施方式,有助于提高后续流表管理操作的效率。
[0018]可选的,确定预存的哈希值与第二哈希值是否一致之后,还包括:
[0019]若预存的哈希值与第二哈希值一致,则根据第一哈希值,在预存哈希表中进行查找,确定第一流表ID,并以第一流表ID为地址,在FPGA的存储空间中进行查找,确定对应的预存五元组信息;
[0020]确定所述预存五元组信息与查找数据包的五元组信息是否一致,若否,则确定FPGA的存储空间中不存在所述查找数据包。
[0021]上述技术方案通过在确定预存哈希值和第二哈希值一致的情况下,进一步确定查找数据包的第一流表ID,确定出预存的五元组信息,可以准确确定出查找数据包指定的流表ID处已预存的五元组信息,通过判断预存五元组信息和查找数据包的五元组信息的一致性,可以进一步细致的确定出查找数据包是否已存在于FPGA的存储空间中,保证报文处理的准确性。
[0022]可选的,基于预设的哈希算法,根据新建数据包的五元组信息,在FPGA的存储空间中进行流表新建操作,包括:
[0023]向ID管理模块申请并确定第二流表ID;
[0024]基于预设的第一哈希算法和第二哈希算法,对新建数据包对应的五元组信息进行哈希计算,确定第三哈希值和第四哈希值;
[0025]根据第三哈希值、第四哈希值以及第二流表ID,对预存哈希表进行更新,并在FPGA的存储空间中新建流表ID为第二流表ID的流表。
[0026]上述技术方案通过向ID管理模块申请并确定第二流表ID,进一步基于两种哈希算法,确定新建数据包五元组信息的第三哈希值和第四哈希值,从而可以对预存哈希表进行及时的更新,并在新申请的第二流表ID处新建流表,完成流表新建操作,实现流表的实时管理。
[0027]可选的,根据第三哈希值、第四哈希值以及第二流表ID,对预存哈希表进行更新,包括:
[0028]确定预存哈希表中第三哈希值对应的目标位置;
[0029]将第二流表ID和第四哈希值存储至所述目标位置,实现对预存哈希表的更新。
[0030]上述技术方案通过将第三哈希值作为存储地址,然后将第二流表ID和第四哈希值存储在该存储地址对应的位置,实现预存哈希表的更新,进一步细化了对预存哈希表的更新过程,可以及时有效的更新预存哈希表,有助于后续FPGA器件对查找数据包进行查找时,利用该预存哈希表快速判断数据包是否已存储。
[0031]可选的,在进行流表更新操作和流表新建操作的过程中,记录各流表的流表建立时间和流表更新时间;
[0032]若检测到目标流表的流表建立时间和流表更新时间的时间间隔大于预设的老化
时间,则在FPGA的存储空间中删除所述目标流表,并向ID管理模块反馈,用于指示ID管理模块回收目标流表对应的流表ID。
[0033]上述技术方案通过记录FPGA的存储空间中各流表的建立时间和更新时间,可以在检测到时间间隔较长时,及时进行老化操作,并将老化流表的流表ID进行回收,给出了流表管理中的老化流表管理的一种可实施方式,提高了基于FPGA进行流表管理的全面性。
[0034]根据本专利技术的另一方面,提供了一种基于FPGA的流表处理装置,所述装置配置于现场可编程门阵列FPGA器件中,包括:
[0035]确定模块,用于响应于通过外部接口输入的以太网报文,确定所述以太网报文中的查找数据包和新建数据包;
[0036]管理模块,用于基于预设的哈希算法,根据查找数据包和新建数据包中的五元组信息,在FPGA的存储空间中进行流表更新操作和流表新建操作;
[0037]输出模块,用于在检测到所述以太网报文中的查找数据包和新建数据包均处理完毕后,对所述以太网报文进行整合输出。
[0038]根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
[0039]至少一个处理器;以及
[0040]与所述至少一个处理器通信连接的存储器;其中,
[0041]所述存储器存储有可被所述至少一个处理器执行的计算机程序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的流表处理方法,其特征在于,由现场可编程门阵列FPGA器件执行,所述方法包括:响应于通过外部接口输入的以太网报文,确定所述以太网报文中的查找数据包和新建数据包;基于预设的哈希算法,根据所述查找数据包和所述新建数据包中的五元组信息,在FPGA的存储空间中进行流表更新操作和流表新建操作;在检测到所述以太网报文中的所述查找数据包和所述新建数据包均处理完毕后,对所述以太网报文进行整合输出。2.根据权利要求1所述的方法,其特征在于,基于预设的哈希算法,根据查找数据包的五元组信息,在FPGA的存储空间中进行流表更新操作,包括:基于预设的哈希算法,对所述查找数据包的五元组信息进行哈希计算,并根据计算结果和预存哈希表,确定所述FPGA的存储空间中是否存在所述查找数据包;若否,则确定所述查找数据包对应的流表ID,并对所述FPGA的存储空间中的流表进行更新操作。3.根据权利要求2所述的方法,其特征在于,所述基于预设的哈希算法,对所述查找数据包的五元组信息进行哈希计算,并根据计算结果和预存哈希表,确定所述FPGA的存储空间中是否存在所述查找数据包,包括:基于预设的第一哈希算法和第二哈希算法,分别对所述查找数据包的五元组信息进行哈希计算,确定第一哈希值和第二哈希值;根据所述第一哈希值,在预存哈希表中进行查找,确定对应的预存哈希值,并确定所述预存的哈希值与所述第二哈希值是否一致;若否,则确定所述FPGA的存储空间中不存在所述查找数据包。4.根据权利要求3所述的方法,其特征在于,所述确定预存的哈希值与第二哈希值是否一致之后,还包括:若所述预存的哈希值与所述第二哈希值一致,则根据所述第一哈希值,在预存哈希表中进行查找,确定第一流表ID,并以第一流表ID为地址,在FPGA的存储空间中进行查找,确定对应的预存五元组信息;确定所述预存五元组信息与查找数据包的五元组信息是否一致,若否,则确定FPGA的存储空间中不存在所述查找数据包。5.根据权利要求1所述的方法,其特征在于,基于预设的哈希算法,根据新建数据包的五元组信息,在FPGA的存储空间中进行流表新建操作,包括:向ID管理...

【专利技术属性】
技术研发人员:王广江刘志来胡玉庆
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

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

1