[发明专利]一种基于FPGA的TCP/IP首部校验装置及方法有效
申请号: | 201710631401.0 | 申请日: | 2017-07-28 |
公开(公告)号: | CN107248903B | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 王海;刘岩;李芙蓉;杨敏;张敏;王立豪 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L29/06 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 韦全生;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种基于FPGA的TCP/IP首部校验装置及方法,用于解决现有技术中校验和计算方法存在数据误判的技术问题;校验装置包括在FPGA中实现的六个模块,待校验数据首部存储模块接收并存储TCP/IP数据包首部信息;接收数据首部校验模块判断校验信号的电平状态,为高电平时读取TCP/IP数据包首部信息进行接收校验计算;发送数据首部校验模块判断校验信号的电平状态,为低电平时读取TCP/IP数据包首部信息进行发送校验计算;特殊数据查找与去特殊处理模块获取去特殊化因子并发送;接收校验和整合模块及发送校验和整合模块通过整合去特殊化因子来获取并输出接收校验和及发送校验和。 | ||
搜索关键词: | 一种 基于 fpga tcp ip 首部 校验 装置 方法 | ||
【主权项】:
1.一种基于FPGA的TCP/IP首部校验装置,包括在FPGA中实现的待校验数据首部存储模块、接收数据首部校验模块和发送数据首部校验模块,其中:待校验数据首部存储模块,用于对接收到的TCP/IP数据包首部信息进行存储;接收数据首部校验模块,与待校验数据首部存储模块连接,用于判断校验信号的电平状态,在校验信号为高电平时读取TCP/IP数据包首部信息,将其按照二进制每16位双字依次相加,得到接收数据相加和,对接收数据相加和的高16位与低16位反复相加,直到其高16位为全0,将其低16位作为接收基本校验和;发送数据首部校验模块,与待校验数据首部存储模块连接,用于判断校验信号的电平状态,在校验信号为低电平时读取TCP/IP数据包首部信息,将其按照二进制每16位双字依次相加,得到发送数据相加和,对发送数据相加和的高16位与低16位反复相加,直到其高16位为全0,将其低16位作为发送基本校验和;其特征在于,所述接收数据首部校验模块连接有接收校验和整合模块,所述发送数据首部校验模块连接有发送校验和整合模块,所述待校验数据首部存储模块还连接有特殊数据查找与去特殊处理模块,其中:接收校验和整合模块,用于将特殊数据查找与去特殊处理模块输出的去特殊化因子和接收数据首部校验模块输出的校验结果进行整合运算,即将接收基本校验和与去特殊化因子相加得到去特殊接收数据相加和,并将去特殊接收数据相加和的高16位与低16位反复相加,直到其高16位为全0,将其低16位作为接收校验和输出;发送校验和整合模块,用于将特殊数据查找与去特殊处理模块输出的去特殊化因子和发送数据首部校验模块输出的校验结果进行整合运算,即将发送基本校验和与去特殊化因子相加得到去特殊发送数据相加和,并将去特殊发送数据相加和的高16位与低16位反复相加,直到其高16位为全0,将其低16位取反作为发送校验和并输出;特殊数据查找与去特殊处理模块,包括第一存储器和第二存储器,用于缓存TCP/IP数据包首部信息,进行特殊数据查找,即进行TCP/IP数据包首部信息中双字为0xFFFF、0x0000或两个双字互为反码的数据查找并将查找到的特殊数据进行去特殊处理,即对每个特殊数据循环加1直到其不再是特殊数据,得到所有特殊数据循环加一的次数和为去特殊化因子,并发送该去特殊化因子,其中:第一存储器,用于存储大于0x7FFF的数据,并对该存储器内部各存储单元中的TCP/IP数据包首部信息进行多次移动;第二存储器,用于存储小于等于0x7FFF的数据,并与第一存储器配合查找并处理特殊数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710631401.0/,转载请声明来源钻瓜专利网。