CRC制造技术

技术编号:39744783 阅读:7 留言:0更新日期:2023-12-17 23:44
本申请提出一种

【技术实现步骤摘要】
CRC计算电路、芯片、报文处理方法及网络安全设备


[0001]本申请涉及信息安全
,更为具体来说,本申请涉及一种
CRC
计算电路

芯片

报文处理方法及网络安全设备


技术介绍

[0002]过滤型防火墙通常部署在客户端与服务器之间,用于对客户端与服务器之间的
IP
报文进行快速转发

过滤型防火墙需要对输入
/
输出的以太网报文内容进行
CRC

Cyclic Redundancy Check
,循环冗余校验)计算

[0003]相关技术中,
CRC
校验值是利用线性编码理论,根据要传送的报文,以一定的规则产生一个校验用的
CRC
校验值

在线性编码理论中每个时钟周期只能输入报文的
1bit
数据,当报文的全部数据位输入完时寄存器内部的值即为该报文的
CRC
校验值

[0004]但每个时钟只能输入
1bit
数据,报文的各个数据位需要线性计算,导致
CRC
计算的延时很大,无法满足高速率报文传输的实时性要求,容易产生丢包现象


技术实现思路

[0005]基于上述技术缺陷,本申请提出了一种
CRC
计算电路

芯片

报文处理方法及网络安全设备,报文数据和初值的处理能够并行执行,提高了处理速率,降低了
CRC
计算复杂度,缩短了
CRC
计算的延时,能够满足高速率报文传输场景下的实时性要求,提升了防火墙的报文快转性能

[0006]本申请第一方面提供了一种
CRC
计算电路,包括:相互连接的报文数据处理模块

初值处理模块和合并处理模块;所述报文数据处理模块,用于基于当前时钟周期输入的报文数据,输出当前时钟周期的数据异或结果给所述初值处理模块和所述合并处理模块;所述初值处理模块,用于基于当前时钟周期的初值,输出当前时钟周期的初值异或结果给所述合并处理模块;所述合并处理模块,用于基于当前时钟周期的数据异或结果和初值异或结果,获得当前时钟周期的校验值;若当前时钟周期为报文的最后一个周期,则将所述校验值作为报文的
CRC
值输出;若当前时钟周期不是所述最后一个周期,则将所述校验值传输给所述初值处理模块;所述初值处理模块,还用于基于当前时钟周期的初值

所述数据异或结果及所述校验值,生成下一时钟周期的初值;所述报文数据处理模块与所述初值处理模块是并行运行的

[0007]本申请第二方面提供了一种
CRC
处理模块,包括上述第一方面所述的
CRC
计算电路

[0008]本申请第三方面提供了一种
FPGA
芯片,包括上述第二方面所述的
CRC
处理模块

[0009]本申请第四方面提供了一种网络安全设备,包括相互连接的处理器和上述第三方
面所述的
FPGA
芯片

[0010]本申请第五方面提供了一种报文处理方法,应用于网络安全设备,所述方法包括:接收上一跳设备发送的报文,计算所述报文的
CRC
值;基于所述
CRC
值对所述报文进行处理,将处理后的所述报文发送给下一跳设备;其中,计算所述报文的
CRC
值,包括:基于当前时钟周期输入的报文数据,生成所述当前时钟周期的数据异或结果;基于所述当前时钟周期的初值,生成所述当前时钟周期的初值异或结果;对所述数据异或结果和所述初值异或结果进行并行异或运算,得到当前时钟周期的校验值;若所述当前时钟周期为所述报文的最后一个周期,则对所述校验值进行修正操作得到所述报文的
CRC
值;若所述当前时钟周期不是所述最后一个周期,则基于所述校验值

所述数据异或结果和所述当前时钟周期的初值,生成下一个时钟周期的初值

[0011]本申请的有益效果至少包括:在本申请实施例中,通过设计
CRC
计算电路,在一个时钟周期可以计算很多位报文数据,计算效率很高,大大节省了计算时间

报文数据和初值的处理能够并行执行,提高了处理速率,降低了
CRC
计算复杂度,缩短了
CRC
计算的延时,能够满足高速率报文传输场景下的实时性要求,提升了防火墙的报文快转性能

附图说明
[0012]构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理

[0013]参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:图1示出了相关技术中
CRC32
线性反馈移位寄存器的示意图;图2示出了本申请一示例性实施例提供的一种
CRC
计算电路的结构示意图;图3示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图4示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图5示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图6示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图7示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图8示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图9示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图
10
示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图
11
示出了本申请一示例性实施例提供的一种
CRC
计算电路的另一结构示意图;图
12
示出了本申请一示例性实施例提供的一种
CRC
处理模块的结构示意图;图
13
示出了本申请一示例性实施例提供的一种
CRC
处理模块的另一结构示意图;图
14
示出了本申请一示例性实施例提供的一种
CRC
处理模块的另一结构示意图;图
15
示出了本申请一示例性实施例提供的一种
CRC
处理模块的另一结构示意图;图
16
示出了本申请一示例性实施例提供的一种
FPGA
芯片的结构示意图;图
17
示出了本申请一示例性实施例提供的一种
FPGA<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
CRC
计算电路,其特征在于,包括:相互连接的报文数据处理模块

初值处理模块和合并处理模块;所述报文数据处理模块,用于基于当前时钟周期输入的报文数据,输出当前时钟周期的数据异或结果给所述初值处理模块和所述合并处理模块;所述初值处理模块,用于基于当前时钟周期的初值,输出当前时钟周期的初值异或结果给所述合并处理模块;所述合并处理模块,用于基于当前时钟周期的数据异或结果和初值异或结果,获得当前时钟周期的校验值;若当前时钟周期为报文的最后一个周期,则将所述校验值作为报文的
CRC
值输出;若当前时钟周期不是所述最后一个周期,则将所述校验值传输给所述初值处理模块;所述初值处理模块,还用于基于当前时钟周期的初值

所述数据异或结果及所述校验值,生成下一时钟周期的初值;所述报文数据处理模块与所述初值处理模块是并行运行的
。2.
根据权利要求1所述的
CRC
计算电路,其特征在于,所述报文数据处理模块包括依次连接的数据调整模块

第一直接异或电路和第一寄存电路;所述数据调整模块,用于对所述报文数据的有效位进行字节内倒序操作;若所述有效位的长度小于预设位宽,则对倒序操作后的报文数据进行位域调整;将处理后的报文数据传输给所述第一直接异或电路;所述第一直接异或电路,用于对接收到的报文数据进行异或运算,得到当前时钟周期的数据异或结果并存储在所述第一寄存电路中,以使所述初值处理模块和所述合并处理模块从所述第一寄存电路中读取所述数据异或结果
。3.
根据权利要求2所述的
CRC
计算电路,其特征在于,所述第一直接异或电路包括第一数目个第一直接异或子电路,所述第一寄存电路包括所述第一数目个第一子寄存电路,所述第一直接异或子电路与所述第一子寄存电路一一对应连接;所述报文数据处理模块还包括第一并行异或电路,所述第一并行异或电路分别与各第一子寄存电路和所述初值处理模块连接;所述数据调整模块,还用于将所述处理后的报文数据进行串并转换处理,以拆分成所述第一数目个数据段,将各数据段一一对应地分别传输给各第一直接异或子电路;所述第一并行异或电路,用于从各第一子寄存电路读取所述各数据段的异或结果,对所述各数据段的异或结果进行并行异或运算,得到当前时钟周期的数据异或结果,将所述数据异或结果传输给所述初值处理模块;和
/
或,所述
CRC
计算电路还包括第二寄存电路,所述第二寄存电路分别与所述第一并行异或电路及所述合并处理模块连接;所述第一并行异或电路,还用于将所述数据异或结果存储在所述第二寄存电路中,以使所述合并处理模块从所述第二寄存电路读取所述数据异或结果
。4.
根据权利要求1‑3任一项所述的
CRC
计算电路,其特征在于,所述初值处理模块包括依次连接的初值选择模块

初值调整模块

第二直接异或电路和第三寄存电路;所述初值选择模块与所述报文数据处理模块和所述合并处理模块连接,基于当前时钟周期的初值

所述报文数据处理模块传输的当前时钟周期的数据异或结果及所述合并处理
模块传输的当前时钟周期的所述校验值,生成下一时钟周期的初值;以及,将所述当前时钟周期的初值传输给所述初值调整模块;所述初值调整模块,用于对当前时钟周期的初值进行位域调整,将调整后的初值传输给第二直接异或电路;第二直接异或电路,用于对所述调整后的初值进行异或运算,得到当前时钟周期的初值异或结果,将所述初值异或结果存储在所述第三寄存电路中,以使所述合并处理模块从所述第三寄存电路读取所述初值异或结果
。5.
根据权利要求4所述的
CRC
计算电路,其特征在于,所述初值选择模块包括多路数据选择器

第二并行异或电路

第三直接异或电路和第四寄存电路;所述第二并行异或电路分别与所述报文数据处理模块

所述多路数据选择器及所述第四寄存电路连接,所述第三直接异或电路分别与所述多路数据选择器及所述第四寄存电路连接;所述多路数据选择器还与所述初值调整模块及所述合并处理模块连接;所述多路数据选择器,用于接收所述合并处理模块传输的当前时钟周期的校验值,将所述校验值与当前时钟周期的初值进行异或运算,将运算结果传输给所述第三直接异或电路;还将所述当前时钟周期的初值传输给所述初值调整模块;所述第三直接异或电路,用于对所述运算结果进行异或运算,将得到的结果存储在所述第四寄存电路中;所述第二并行异或电路,用于接收所述报文数据处理模块传输的当前时钟周期的数据异或结果以及读取所述第四寄存电路存储的结果,对所述数据异或结果和所述第四寄存电路存储的结果进行并行异或运算得到下一时钟周期的初值,将所述下一时钟周期的初值传输给所述多路数据选择器
。6.
根据权利要求4所述的
CRC
计算电路,其特征在于,所述第二直接异或电路包括第二数目个第二直接异或子电路,所述第三寄存电路包括所述第二数目个第二子寄存电路,所述第二直接异或子电路与所述第二子寄存电路一一对应连接;各所述第二子寄存电路均与所述合并处理模块连接;所述初值调整模块,还用于将所述调整后的初值拆分成所述第二数目个初值段,将各初值段一一对应地分别传输给各第二直接异或子电路
。7.
根据权利要求6所述的
CRC
计算电路,其特征在于,所述初值处理模块还包括第三并行异或电路;所述第三并行异或电路分别与各所述第二子寄存电路及所述合并处理模块连接;所述第三并行异或电路,用于从各所述第二子寄存电路读取各初值段的异或结果进行并行异或运算,将得到的当前时钟周期的初值异或结果传输给所述合并处理模块
。8.
根据权利要求1‑3任一项所述的
CRC
计算电路,其特征在于,所述合并处理模块包括依次连接的第四并行异或电路和终值修正模块;所述第四并行异或电路分别与所述报文数据处理模块和所述初值处理模块连接,所述终值修正模块还与所述初值处理模块连接;所述第四并行异或电路,用于对所述报文数据处理模块传输的当前时钟周期的数据异或结果和所述初值处理模块传输的当前时钟周期的初值异或结果进行并行异或运算,将得到的结果传输给所述终值修正模块;
所述终值...

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

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

1