【技术实现步骤摘要】
报文散列方法、装置、FPGA模组及处理器模组
本申请属于网络通信领域,具体涉及一种报文散列方法、装置、FPGA模组及处理器模组。
技术介绍
为了尽可能地保障网络安全,网络安全产品的架构也从传统的单核CPU处理报文演变到多核CPU并发处理报文。为了匹配多核CPU处理报文的能力,FPGA(可编程逻辑器件)作为网络安全产品中的重要元素,需要支持多队列发送报文,以便实现与多核CPU间进行高效的报文传递。FPGA在将报文通过多个散列队列发送到CPU时,需要对报文进行散列,以使得来自于同一条流的报文被分配到同一个散列队列中。在传统的报文散列方案中,FPGA采用现有的散列算法(哈希函数)对每个报文的五元组进行哈希计算,得到用于标识与该报文对应的散列队列的哈希值。其中,由哈希函数本身所决定,每个报文都需要进行320次运算。然而,有些报文并不需要运算320次,因此,对于有些报文而言,进行了不必要的运算次数,对FPGA的运算资源造成了浪费。
技术实现思路
有鉴于此,本申请的目的在于提供一种报文散列方法、装置、 ...
【技术保护点】
1.一种报文散列方法,其特征在于,应用于现场可编程门阵列FPGA,在所述FPGA内包括多个散列队列,所述方法包括:/n获取待发送报文,并解析所述待发送报文的协议类型;/n根据所述协议类型查询预设的表项,确定与所述协议类型对应的预设运算次数,所述表项记录有与各种协议类型的报文对应的运算次数;/n将所述待发送报文运算所述预设运算次数后,确定出与运算结果对应的散列队列;/n将所述待发送报文散列到所述对应的散列队列。/n
【技术特征摘要】
1.一种报文散列方法,其特征在于,应用于现场可编程门阵列FPGA,在所述FPGA内包括多个散列队列,所述方法包括:
获取待发送报文,并解析所述待发送报文的协议类型;
根据所述协议类型查询预设的表项,确定与所述协议类型对应的预设运算次数,所述表项记录有与各种协议类型的报文对应的运算次数;
将所述待发送报文运算所述预设运算次数后,确定出与运算结果对应的散列队列;
将所述待发送报文散列到所述对应的散列队列。
2.根据权利要求1所述的方法,其特征在于,所述FPGA包括多个散列计算单元,每个散列计算单元内保存所述表项,在所述将所述待发送报文运算所述预设运算次数之前,所述方法还包括:
将所述待发送报文分配到一个处于空闲状态的散列计算单元;
相应的,所述将所述待发送报文运算所述预设运算次数后,确定出与运算结果对应的散列队列,包括:
通过所述处于空闲状态的散列计算单元将所述待发送报文运算所述预设运算次数后,确定出与运算结果对应的散列队列。
3.根据权利要求2所述的方法,其特征在于,所述多个散列计算单元并行工作,在所述将所述待发送报文分配到一个处于空闲状态的散列计算单元之前,所述方法还包括:
根据所述待发送报文的获取顺序,依次为每个所述待发送报文设置报文ID,所述报文ID的数值逐次增大;
相应的,所述将所述待发送报文散列到所述对应的散列队列,包括:
等待预设时长;
将所述预设时长内获取到的所述待发送报文按照其报文ID从小到大的顺序依次散列到各自对应的散列队列。
4.根据权利要求1所述的方法,其特征在于,所述FPGA与CPU网络通信,所述方法还包括:
通过所述对应的散列队列将所述待发送报文发送到所述CPU。
5.根据权利要求4所述的方法,其特征在于,所述CPU包括多个处理核,所述散列队列的个数与所述处理核的数量相同,且所述散列队列与所述处理核一一对应,所述通过所述对应的散列队列将所述待发送报文发送到所述CPU,包括:
通过所述对应的散列队...
【专利技术属性】
技术研发人员:张阿珍,张芦韦,
申请(专利权)人:北京天融信网络安全技术有限公司,北京天融信科技有限公司,北京天融信软件有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。