【技术实现步骤摘要】
CRC计算电路、芯片、报文处理方法及网络安全设备
[0001]本申请涉及信息安全
,更为具体来说,本申请涉及一种
CRC
计算电路
、
芯片
、
报文处理方法及网络安全设备
。
技术介绍
[0002]过滤型防火墙通常部署在客户端与服务器之间,用于对客户端与服务器之间的
IP
报文进行快速转发
。
过滤型防火墙需要对输入
/
输出的以太网报文内容进行
CRC
(
Cyclic Redundancy Check
,循环冗余校验)计算
。
[0003]相关技术中,
CRC
校验值是利用线性编码理论,根据要传送的报文,以一定的规则产生一个校验用的
CRC
校验值
。
在线性编码理论中每个时钟周期只能输入报文的
1bit
数据,当报文的全部数据位输入完时寄存器内部的值即为该报文的
CRC
校验值
。
[0004]但每个时钟只能输入
1bit
数据,报文的各个数据位需要线性计算,导致
CRC
计算的延时很大,无法满足高速率报文传输的实时性要求,容易产生丢包现象
。
技术实现思路
[0005]基于上述技术缺陷,本申请提出了一种
CRC
计算电路
、
芯片
、
报文处理方法及网络安 ...
【技术保护点】
【技术特征摘要】
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
计算电路,其特征在于,所述合并处理模块包括依次连接的第四并行异或电路和终值修正模块;所述第四并行异或电路分别与所述报文数据处理模块和所述初值处理模块连接,所述终值修正模块还与所述初值处理模块连接;所述第四并行异或电路,用于对所述报文数据处理模块传输的当前时钟周期的数据异或结果和所述初值处理模块传输的当前时钟周期的初值异或结果进行并行异或运算,将得到的结果传输给所述终值修正模块;
所述终值...
【专利技术属性】
技术研发人员:王亚春,
申请(专利权)人:新华三网络信息安全软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。