一种数据包验证方法及系统与流程

文档序号:11147420阅读:来源:国知局

技术特征:

1.一种数据包验证方法,其特征在于,包括:

服务器接收待验证数据包;

FPGA从所述服务器接收所述待验证数据包及用于验证所述待验证数据包的正则表达式;

所述FPGA并行调用多个微核执行所述正则表达式对所述待验证数据包进行验证;

所述FPGA将各微核的检验结果合并后发送至所述服务器。

2.如权利要求1所述的数据包验证方法,其特征在于,在FPGA并行调用多个微核之前,还包括:所述FPGA获取所述待验证数据包的所有取值,根据所述所有取值的数量,并行调用对应数量的微核。

3.如权利要求2所述的数据包验证方法,其特征在于,在并行调用对应数量的微核之后,还包括:所述FPGA根据待验证数据包的大小及速度,调整被调用微核的数量。

4.如权利要求1所述的数据包验证方法,其特征在于,还包括:所述FPGA根据所述正则表达式的检验结果,将待验证数据包并行跳转至其他被调用微核。

5.如权利要求1所述的数据包验证方法,其特征在于,还包括:所述FPGA从所述服务器获取新的正则表达式,并替换当前使用的正则表达式。

6.如权利要求1至5任一项所述的数据包验证方法,其特征在于,所述FPGA并行调用多个微核执行所述正则表达式对所述待验证数据包进行验证包括:

所述FPGA将从服务器接收的正则表达式缓存在正则表达式矩阵中;

所述FPGA将从服务器接收的网络数据包以包的形式缓存在网络数据包中;

所述FPGA每次从数据包中读出一个字节,将字节并行和所有可能字符比较,每个比较结果输出一个比特,所有比特组成一个判决数组;

所述FPGA将每个判决数组和所述正则表达式矩阵输出的掩膜数据进行与操作,得到一个判决验证结果输出;

所述FPGA从正则表达式矩阵中读取下一个掩膜数据,然后读取下一个字节,重复以上步骤,直到数据包检验结束;

所述FPGA将待验证数据包中各字节对应的判决验证结果,合并得到所述待验证数据包的检验结果。

7.一种数据包验证系统,其特征在于,包括:服务器及FPGA,所述FPGA包括网络数据包分配矩阵模块、多个数据包微核判断模块、控制模块、正则表达式模块及判断结果汇总模块,其中,

所述服务器用于接收待验证数据包;

所述网络数据包分配矩阵模块用于从所述服务器接收所述待验证数据包;

所述正则表达式模块用于获取用于验证所述待验证数据包的正则表达式;

所述数据包微核判断模块用于执行所述正则表达式对所述待验证数据包进行验证

所述控制模块用于并行调用多个所述数据包微核判断模块执行所述正则表达式对所述待验证数据包进行验证;

所述判断结果汇总模块用于将各微核的检验结果合并后发送至所述服务器。

8.如权利要求7所述的数据包验证系统,其特征在于,在FPGA并行调用多个微核之前,所述控制模块还用于获取所述待验证数据包的所有取值,根据所述所有取值的数量,并行调用对应数量的数据包微核判断模块。

9.如权利要求8所述的数据包验证系统,其特征在于,在并行调用对应数量的微核之后,所述控制模块还用于根据待验证数据包的大小及速度,调整被调用数据包微核判断模块的数量。

10.如权利要求7所述的数据包验证系统,其特征在于,所述控制模块还用于根据所述正则表达式的检验结果,将待验证数据包并行跳转至其他被调用数据包微核判断模块。

11.如权利要求7所述的数据包验证系统,其特征在于,所述正则表达式模块还用于从所述服务器获取新的正则表达式,并替换当前使用的正则表达式。

12.如权利要求7至11任一项所述的数据包验证系统,其特征在于,所述数据包微核判断模块用于将从服务器接收的正则表达式缓存在正则表达式矩阵中,将从服务器接收的网络数据包以包的形式缓存在网络数据包中,每次从数据包中读出一个字节,将每个字节并行和所有可能字符比较,每个比较结果输出一个比特,所有比特组成一个判决数组,将每个判决数组和所述正则表达式矩阵输出的掩膜数据进行与操作,得到一个判决验证结果输出,从正则表达式矩阵中读取下一个掩膜数据,然后读取下一个字节,重复以上步骤,直到数据包检验结束,将待验证数据包中各字节对应的判决验证结果,合并得到所述待验证数据包的检验结果。

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