一种报文处理方法及网络安全设备技术

技术编号:38012964 阅读:10 留言:0更新日期:2023-06-30 10:35
本申请提供了一种报文处理方法及网络安全设备,涉及网络安全技术领域。该方法应用于网络安全设备包括的现场可编程门阵列FPGA中,所述网络安全设备还包括中央处理单元CPU,FPGA接收网络报文;对所述网络报文进行复制处理,得到复制报文;从所述网络报文中提取出用于计算校验和的目标数据;利用校验和叠加模型对所述目标数据进行处理,得到目标校验和;比对所述目标校验和与所述网络报文中的校验和;将比对结果及目标校验和封装到所述复制报文中并发送给所述CPU。由此,解决了CPU计算校验和时所导致的CPU使用率过高的问题,同时减少了报文在CPU中的停留时间。了报文在CPU中的停留时间。了报文在CPU中的停留时间。

【技术实现步骤摘要】
一种报文处理方法及网络安全设备


[0001]本申请涉及网络安全
,尤其涉及一种报文处理方法及网络安全设备。

技术介绍

[0002]当前,可通过某一过滤型网络安全设备实现对网络流量的过滤。例如,对于内部局域网,过滤型网络安全设备可以屏蔽终端对聊天应用、娱乐网站等与工作无关的网站的访问。过滤型网络安全设备通常部署在客户端与服务器之间,用于对客户端与服务器之间的网络报文进行过滤。其中,过滤型网络安全设备大多采用FPGA(现场可编程门阵列)与CPU(中央处理单元)相结合的架构模式,FPGA主要负责报文的接收与发送,以及与上游网络交换芯片的通信、与下游CPU的通信。CPU主要负责报文解析、会话新建、会话匹配以及报文过滤等业务相关的任务。
[0003]通常地,CPU在接收到输入报文时,首要任务会对输入报文的校验和进行计算和判断,以确保输入报文在网络传输过程中的完整性和正确性。在进行校验和计算时,例如,对于报文三层头(比如IPv4头,长度为20个字节)的校验和计算,由于需进行10次的内存访问操作和加法运算,会造成对CPU一定的占用。此外,在对报文四层头的校验和进行计算时,由于需要计算整个报文(报文最长约1500个字节)才能得到校验和,导致可能至少需要750次的内存访问和加法运算,这种情况下,不仅严重增加了CPU利用率,而且也增加了报文在CPU中的停留时间,从而降低了网络安全设备的过滤性能。
[0004]因此,如何解决CPU计算校验和时所导致的CPU使用率过高的问题,及减少报文在CPU中的停留时间是值得考虑的技术问题之一。

技术实现思路

[0005]有鉴于此,本申请提供一种报文处理方法及网络安全设备,用以解决CPU计算校验和时所导致的CPU使用率过高的问题。
[0006]具体地,本申请是通过如下技术方案实现的:
[0007]根据本申请的第一方面,提供一种报文处理方法,应用于网络安全设备包括的现场可编程门阵列FPGA中,所述网络安全设备还包括中央处理单元CPU,所述方法,包括:
[0008]接收网络报文;
[0009]对所述网络报文进行复制处理,得到复制报文;
[0010]从所述网络报文中提取出用于计算校验和的目标数据;
[0011]利用校验和叠加模型对所述目标数据进行处理,得到目标校验和;
[0012]比对所述目标校验和与所述复制报文中的校验和;
[0013]将比对结果及目标校验和封装到所述复制报文中并发送给所述CPU。
[0014]根据本申请的第二方面,提供一种网络安全设备,包括:现场可编程门阵列FPGA和中央处理单元CPU,所述FPGA包括:
[0015]第一通信模块,用于接收网络报文;
[0016]校验和生成模块,用于对所述网络报文进行复制处理,得到复制报文;从所述网络报文中提取出用于计算校验和的目标数据;利用校验和叠加模型对所述目标数据进行处理,得到目标校验和;比对所述目标校验和与所述复制报文中的校验和;将比对结果及目标校验和封装到所述复制报文中;
[0017]第二通信模块,用于将封装了比对结果和目标校验和的复制报文发送给所述CPU。
[0018]本申请实施例的有益效果:
[0019]本申请实施例提供的报文处理方法及网络安全设备中,在网络安全设备中的FPGA内部实现校验和的计算,从而降低了CPU的使用率。即,FPGA在接收到网络报文后,对所述网络报文进行复制处理,得到复制报文;从该网络报文中提取出用于计算校验和的目标数据;利用校验和叠加模型对提取出的目标数据进行处理,得到目标校验和;然后比对目标校验和与该网络报文中的校验和;将比对结果及目标校验和封装到复制报文中并发送给CPU。由于FPGA本身的处理速度就比较高,且在FPGA中配置了针对不同的校验和的校验和叠加模型,因此,在提取出目标数据后,直接利用该校验和叠加模型就可以对该目标数据进行叠加处理,从而得到目标校验和,然后将校验和发送给CPU即可,由于CPU不需要计算校验和,这样也就大大降低了CPU的使用率,从而解决了CPU因计算校验和所导致的CPU使用率过高的问题,同时,由于也缩短了网络报文在CPU中的停留时间。
附图说明
[0020]图1是本申请实施例提供的一种网络安全设备的应用场景的结构示意图;
[0021]图2是本申请实施例提供的一种报文处理方法的流程示意图;
[0022]图3是本申请实施例提供的一种计算用于三层校验的目标校验和的运算逻辑示意图;
[0023]图4是本申请实施例提供的一种计算用于四层校验的目标校验和的运算逻辑示意图;
[0024]图5是本申请实施例提供的一种网络安全设备的结构示意图;
[0025]图6是本申请实施例提供的一种校验和生成模块的内部结构示意图;
[0026]图7是本申请实施例提供的目标校验和的运算逻辑示意图。
具体实施方式
[0027]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。
[0028]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
[0029]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离
本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0030]下面对本申请提供的报文处理方法进行详细地说明。
[0031]本申请提供的网络安全设备可以应用于图1所示的应用场景中为例进行说明,首先,客户端要访问服务端时,客户端流会将正向报文发往网络交换设备,然后本申请中的网络设备安全的FPGA会接收到网络交换设备发送的该正向报文,然后采用本申请任一实施例提供的报文处理方法来生成该正向报文的校验和,并协同正向报文发送给网络设备中的CPU;当CPU基于校验和完成对应正向报文的业务相关任务后,会将正向报文反馈给FPGA,然后由FPGA通过网络安全设备到达服务端。
[0032]同理,当服务端响应客户端时,会将反向报文流向网络交换设备,然后本申请中网络安全设备中的FPGA会接收到该网络安全设备转发的该反向报文,FPGA会通过实施本申请任一实施例提供的报文处理方法来内部生成该反向报文的校验和,然后将该校验和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文处理方法,其特征在于,应用于网络安全设备包括的现场可编程门阵列FPGA中,所述网络安全设备还包括中央处理单元CPU,所述方法,包括:接收网络报文;对所述网络报文进行复制处理,得到复制报文;从所述网络报文中提取出用于计算校验和的目标数据;利用校验和叠加模型对所述目标数据进行处理,得到目标校验和;比对所述目标校验和与所述复制报文中的校验和;将比对结果及目标校验和封装到所述复制报文中并发送给所述CPU。2.根据权利要求1所述的方法,其特征在于,当需要对所述网络报文进行三层校验时,所述目标数据为报文三层首部数据;利用校验和叠加模型对所述目标数据进行处理,得到目标校验和,包括:对所述目标数据进行分组,得到若干组第一目标子数据,各组的第一目标子数据的位宽相同;将相邻两组的第一目标子数据进行求和处理,得到若干组第二目标子数据;将所述第二目标子数据作为新的第一目标子数据,并继续执行所述相邻两组的第一目标子数据进行求和处理,得到若干组第二目标子数据的步骤,直至最终得到一组第二目标子数据,记为第三目标子数据;根据用于三层校验的目标校验和的位宽,将所述第三目标子数据划分成高若干位的第一数据和低若干位的第二数据,其中,第二数据的位宽与所述用于三层校验的目标校验和的位宽相同;将所述第一数据和所述第二数据进行求和处理,得到第四目标子数据;若第四目标子数据的位宽与所述用于三层校验的目标校验和的位宽不相同,则将所述第四目标子数据当作所述第三目标子数据,并继续执行根据所述目标校验和的位宽,将所述第三目标子数l据划分成高若干位的第一数据和低若干位的第二数据的步骤,直至得到位宽与所述用于三层校验的目标校验和的位宽相同的第四目标子数据;根据位宽与所述目标校验和的位宽一致的第四目标子数据,确定用于三层校验的目标校验和。3.根据权利要求2所述的方法,其特征在于,根据位宽与所述用于三层校验的目标校验和的位宽一致的第四目标子数据,确定所述目标校验和,包括:对所述第四目标子数据进行取反处理,得到用于三层校验的目标校验和。4.根据权利要求1或2所述的方法,其特征在于,从所述网络报文中提取出用于计算校验和的目标数据,包括:当需要对所述网络报文进行四层校验时,从所述网络报文中提取出至少一个目标数据;其中,一个目标数据为基于所述网络报文中的报文四层首部数据和伪首部数据确定的,其他的目标数据为基于所述网络报文中的载荷数据划分得到的。5.根据权利要求4所述的方法,其特征在于,利用校验和叠加模型对所述目标数据进行处理,得到目标校验和,包括:针对每一目标数据,对该目标数据进行分组,得到若干组第一子数据,各组的第一子数
据的位宽相同;将相邻两组的第一子数据进行求和处理,得到若干组第二子数据;将所述第二子数据作为新的第一子数据,并继续执行所述相邻两组的第一子数据进行求和处理,得到若干组第二子数据的步骤,直至最终得到两组第二子数据,分别记为第三子数据和第四子数据;获取上一次计算得到的其他的目标数据的第五子数据;将所述第三子数据和所述第四子数据扩展成位宽与所述第五子数据的位宽一致的第一扩展数据和第二扩展数据;将所述第一扩展数据、第二扩展数据和所述第五子数据进行求和处理,得到该目标数据的第五子数据;根据该目标数据的第五子数据,确定用于四层校验的目标校验和。6.根据权利要求5所述的方法,其特征在于,根据该目标数据的第五子数据,确定用于四层校验的目标校验和,包括:若该目标数据为所述网络报文中最后一个用于执行所述利用校验和叠加模型对所述目标数据进行处理,得到目标校验和的步骤的数据,则根据所述用于四层校验的目标校验和的位宽,将所述第五子数据划分成高若干位的第三数据和低若干位的第四数据,其中,第四数据的位宽与所述用于四层校验的目标校验和的位宽相同;将所述第三数据和所述第四数据进行求和处理,得到第六子数据;若所述第六子数据的位宽与所述用于四层校验的目标校验和的位宽不同,则将所述第六子数据确定为新的第五子数据,并继续执行根据所述用于四层校验的目标校验和的位宽,将所述第五子数据划分成高若干位的第三数据和低若干位的第四数据的步骤,直至得到位宽与所述用于四层校验的目标校验和的位宽相同的第六子数据;将所述第六子数据进行取反处理,得到所述用于四层校验的目标校验和。7.一种网络安全设备,其特征在于,包括:现场可编程门阵列FPGA和中央处理单元CPU,所述FPGA包括:第一通信模块,用于接收网络报文;校验和生成模块,用于对所述网络报文进行复制处理,得到复制报文;从所述网络报文中提取出用于计算校验和的目标数据;利用校验和叠加模型对所述目标数据进行处理,得到目标校验和;比对所述目标校验和与所述复制报文...

【专利技术属性】
技术研发人员:王亚春
申请(专利权)人:新华三信息安全技术有限公司
类型:发明
国别省市:

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

1