首页 / 专利库 / 电脑安全 / 安全分析 / 数据包校验错误的处理方法及系统

数据包校验错误的处理方法及系统

阅读:666发布:2023-12-28

专利汇可以提供数据包校验错误的处理方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了数据包校验错误的处理方法及系统,包括:S1:数据传输时,查找数据包 帧 头;S2:一旦检测到帧头结束标记,就启动准备工作;S3:记录所接收字节,进行初次CRC校验计算;S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;S7:检测二次CRC校验计算结果通过对错误部位检测、错误数据记录以及错误原因分析实现不仅记录错误事件,而且提交完整的错误数据包的功能;便于通信运维人员分析错误发生的原因,统计错误发生的数量和频次,更加快捷准确了解整个网络的稳定运行情况,保证了网络通信的安全。,下面是数据包校验错误的处理方法及系统专利的具体信息内容。

1.一种数据包校验错误的处理方法,其特征在于,包括以下步骤:
S1:数据传输时,查找数据包头,实现数据包收发两端的同步;
S2:一旦检测到帧头结束标记,就启动准备工作;
S3:记录所接收字节,进行初次CRC校验计算;
S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;
S7:检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;
当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。
2.根据权利要求1所述的数据包校验错误的处理方法,其特征在于,通过高速FPGA实现帧头同步和帧头结束检测。
3.根据权利要求2所述的数据包校验错误的处理方法,其特征在于,步骤S2中,当检测到帧头结束标记时,所述准备工作为并行启动三个任务:读取实时时钟值作为时间戳、启动CRC校验计算、准备记录采集的数据。
4.根据权利要求3所述的数据包校验错误的处理方法,其特征在于,所述帧头结束标记为帧头中相邻两个高电平的1,1。
5.根据权利要求4所述的数据包校验错误的处理方法,其特征在于,所述帧头结束字节为10101011B。
6.根据权利要求1所述的数据包校验错误的处理方法,其特征在于,步骤S3中记录所接受字节方式为,收到一位记录一位,同时,当接收完成后,则结束初次CRC校验计算。
7.根据权利要求6所述的数据包校验错误的处理方法,其特征在于,步骤S3中,当检测到初次CRC校验计算结果为正确时,则将数据保存到缓冲区,通知上位机读取数据。
8.根据权利要求1所述的数据包校验错误的处理方法,其特征在于,所述错误信息至少包括错误发生时间、错误长度、错误数据。
9.一种数据包校验错误的处理系统,其特征在于,包括以下装置:
装置,其用于在数据传输时,查找数据包帧头,实现数据包收发两端的同步;
也用于一旦检测到帧头结束标记,就启动准备工作;
也用于记录所接收字节,进行初次CRC校验计算;
也用于一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
也用于查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
也用于一旦检测到帧头结束字节,就进行二次CRC校验计算;
也用于检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。
10.一种高精度数据采集卡上的FPGA芯片,其特征在于,其包括一种数据包校验错误的处理系统,该系统包括以下装置:
装置,其用于在数据传输时,查找数据包帧头,实现数据包收发两端的同步;
也用于一旦检测到帧头结束标记,就启动准备工作;
也用于记录所接收字节,进行初次CRC校验计算;
也用于一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
也用于查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
也用于一旦检测到帧头结束字节,就进行二次CRC校验计算;
也用于检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。

说明书全文

数据包校验错误的处理方法及系统

技术领域

[0001] 本发明涉及网络通信技术领域,具体来说,涉及数据包校验错误的处理方法及系统。

背景技术

[0002] 目前的网络通信过程中,数据在网络中是以数据为单位进行传输,为了保证传输正确,帧后面附加了32位的帧校验序列,采用了循环冗余校验,英文缩写为CRC,用来对整帧数据的完整性进行检测。通过对组成帧的所有比特位应用一个多项式,可以得到一个独一无二的CRC值,当接收方收到后,对数据帧进行校验,如果校验正确,则通信成功,可以使用数据。如果校验错误,则由上层协议例如TCP协议或者应用层协议,请求重新发送数据包,直到接收方正确接收为止。这个重发过程是由操作系统的协议栈自动完成的,网络的用户感觉不到的,仍然认为网络正确;因为自动重发机制,网络通信还是很可靠的,至少对于网络用户感觉不到通信错误。但是,在网络通信过程中,难免会受到各种干扰,造成传输错误;
[0003] 通信错误根据发生时间和数量,通常分成两类:(1)突发错误;(2)持续成片错误;对于突发错误,往往只发生一个或几个数据包错误,影响范围有限,重发机制自动回避了该错误,不容易复现。通信运维部需要监测,减小影响。对于持续成片错误,影响该信道的大多数数据包,造成很大后果。重发只能恢复部分数据包,而且时延加大,用户体验变差;这是通信运维部门需要重点保障的
[0004] 针对校验错误的数据包,现有的处理方式为:
[0005] (1)直接舍弃,因为自动重发,网络用户没有感觉,不需要处理。
[0006] (2)记录错误事件,统计误码率。
[0007] 采用此类处理方式无论软件采集或硬件采集,都会舍弃掉校验错误的数据,只是记录网络的误码率,运维人员并不能了解何时出现错误以及如何出错。
[0008] 针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

[0009] 针对相关技术中的上述技术问题,本发明提出数据包校验错误的处理方法。
[0010] 本发明的技术方案是这样实现的:
[0011] 一种数据包校验错误的处理方法,包括以下步骤:
[0012] S1:数据传输时,查找数据包帧头,实现数据包收发两端的同步;
[0013] S2:一旦检测到帧头结束标记,就启动准备工作;
[0014] S3:记录所接收字节,进行初次CRC校验计算;
[0015] S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
[0016] S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
[0017] S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;
[0018] S7:检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。
[0019] 进一步的,通过高速FPGA实现帧头同步和帧头结束检测。
[0020] 进一步的,步骤S2中,当检测到帧头结束标记时,所述准备工作为并行启动三个任务:读取实时时钟值作为时间戳、启动CRC校验计算、准备记录采集的数据。
[0021] 进一步的,所述帧头结束标记为帧头中相邻两个高电平的1,1。
[0022] 进一步的,所述帧头结束字节为10101011B。
[0023] 进一步的,步骤S3中记录所接受字节方式为,收到一位记录一位,同时,当接收完成后,则结束初次CRC校验计算。
[0024] 进一步的,步骤S3中,当检测到初次CRC校验计算结果为正确时,则将数据保存到缓冲区,通知上位机读取数据。
[0025] 进一步的,所述错误信息至少包括错误发生时间、错误长度、错误数据。
[0026] 一种数据包校验错误的处理系统,包括以下装置:
[0027] 装置,其用于在数据传输时,查找数据包帧头,实现数据包收发两端的同步;
[0028] 也用于一旦检测到帧头结束标记,就启动准备工作;
[0029] 也用于记录所接收字节,进行初次CRC校验计算;
[0030] 也用于一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
[0031] 也用于查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
[0032] 也用于一旦检测到帧头结束字节,就进行二次CRC校验计算;
[0033] 也用于检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。
[0034] 一种高精度数据采集卡上的FPGA芯片,其包括一种数据包校验错误的处理系统,该系统包括以下装置:
[0035] 装置,其用于在数据传输时,查找数据包帧头,实现数据包收发两端的同步;
[0036] 也用于一旦检测到帧头结束标记,就启动准备工作;
[0037] 也用于记录所接收字节,进行初次CRC校验计算;
[0038] 也用于一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
[0039] 也用于查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
[0040] 也用于一旦检测到帧头结束字节,就进行二次CRC校验计算;
[0041] 也用于检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。
[0042] 本发明的有益效果:通过对错误部位检测、错误数据记录以及错误原因分析实现不仅记录错误事件,而且提交完整的错误数据包的功能;便于通信运维人员分析错误发生的原因,统计错误发生的数量和频次,为评估通信质量提供了数据量,更加快捷准确了解和掌握整个网络的稳定运行情况,保证了网络通信的安全。附图说明
[0043] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1是根据本发明数据包校验错误的处理方法及系统中帧结构示意图;
[0045] 图2是现有数据包校验错误的处理方法流程图
[0046] 图3是根据本发明数据包校验错误的处理方法及系统流程图;
[0047] 图4是根据本发明数据包校验错误的处理方法及系统中第一种错误示意图;
[0048] 图5是根据本发明数据包校验错误的处理方法及系统中第二种错误示意图;
[0049] 图6是根据本发明数据包校验错误的处理方法及系统中第三种错误示意图;
[0050] 图7是根据本发明数据包校验错误的处理方法及系统中第四种错误示意图。

具体实施方式

[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0052] 如图1-7所示,根据本发明实施例的一种数据包校验错误的处理方法,包括以下步骤:
[0053] S1:数据传输时,查找数据包帧头,实现数据包收发两端的同步;
[0054] S2:一旦检测到帧头结束标记,就启动准备工作;
[0055] S3:记录所接收字节,进行初次CRC校验计算;
[0056] S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
[0057] S5:查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
[0058] S6:一旦检测到帧头结束字节,就进行二次CRC校验计算;
[0059] S7:检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。
[0060] 本实施例中,通过高速FPGA实现帧头同步和帧头结束检测。
[0061] 本实施例中,步骤S2中,当检测到帧头结束标记时,所述准备工作为并行启动三个任务:读取实时时钟值作为时间戳、启动CRC校验计算、准备记录采集的数据。
[0062] 本实施例中,所述帧头结束标记为帧头中相邻两个高电平的1,1。
[0063] 本实施例中,所述帧头结束字节为10101011B。
[0064] 本实施例中,步骤S3中记录所接受字节方式为,收到一位记录一位,同时,当接收完成后,则结束初次CRC校验计算。
[0065] 本实施例中,步骤S3中,当检测到初次CRC校验计算结果为正确时,则将数据保存到缓冲区,通知上位机读取数据。
[0066] 本实施例中,所述错误信息至少包括错误发生时间、错误长度、错误数据。
[0067] 一种数据包校验错误的处理系统,包括以下装置:
[0068] 装置,其用于在数据传输时,查找数据包帧头,实现数据包收发两端的同步;
[0069] 也用于一旦检测到帧头结束标记,就启动准备工作;
[0070] 也用于记录所接收字节,进行初次CRC校验计算;
[0071] 也用于一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
[0072] 也用于查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
[0073] 也用于一旦检测到帧头结束字节,就进行二次CRC校验计算;
[0074] 也用于检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。
[0075] 一种高精度数据采集卡上的FPGA芯片,其包括一种数据包校验错误的处理系统,该系统包括以下装置:
[0076] 装置,其用于在数据传输时,查找数据包帧头,实现数据包收发两端的同步;
[0077] 也用于一旦检测到帧头结束标记,就启动准备工作;
[0078] 也用于记录所接收字节,进行初次CRC校验计算;
[0079] 也用于一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;
[0080] 也用于查找帧头结束字节,当未找到帧头结束字节时,则进行错误信息记录;
[0081] 也用于一旦检测到帧头结束字节,就进行二次CRC校验计算;
[0082] 也用于检测二次CRC校验计算结果,当二次CRC校验计算结果错误,则进行错误信息记录;当二次CRC校验计算结果正确,则将数据保存到缓冲区,通知上位机读取数据。
[0083] 具体的,在网络中是以数据帧为单位进行传输,帧结构如下表1所示,
[0084] 表1网络数据包帧结构
[0085]64位 48位 48位 16位 48-1500字节 32位
帧头 目的地址 源地址 长度/类型 数据 帧校验序列
[0086] 为了保证传输正确,帧后面附加了32位的帧校验序列,采用了循环冗余校验,英文缩写为CRC,用来对整帧数据的完整性进行检测。通过对组成帧的所有比特位应用一个多项式,可以得到一个独一无二的CRC值。
[0087] 在网络传输中,数据帧之间是有间隔的,网络接口芯片PHY能够识别出来,即能够识别数据包的结束,数据包的开始则是由帧头决定的。帧头长度64比特位合8个字节,是为了帮助网络接口在实际内容到来之前同步数据流。前7个字节56比特位由交替的0和1组成,第8字节的前6位仍然是交替的0和1,末尾两位是连续的“1,1”,提醒接口帧头已经结束,随后传来的将是帧的内容;
[0088] 当帧头出现干扰时,第1~7字节在交替的0和1中,“1错成0”关系不大(允许后面接着同步),“0错成1”就会误成为帧头结束的“1,1”,就会启动后续的操作,造成数据包长度错误。
[0089] 当第8字节末尾的“1,1”错成“1,0”、“0,1”或“0,0”时,就识别不到帧头了,只能从后续的内容中查找,也许碰巧能找到,也许找不到,从而造成数据包长度变短;
[0090] 具体的可以分为以下四种错误,如表2所示,
[0091] 表2数据包干扰和错误情况表
[0092]
[0093] 通过本发明实施例的一种数据包校验错误的处理方法,
[0094] 针对第一种错误,如图4所示,因为有7个字节56比特同步,出现个别错误影响不太大,本发明方法通过步骤S1:数据传输时,查找数据包帧头,实现数据包收发两端的同步;实现数据包收发两端的同步,有效忽略避免了第一种错误;
[0095] 针对第二种错误,如图5所示,此时采集卡认为帧头结束,打上时间戳,开始记录收到的每一比特位,启动CRC校验计算,直到数据帧结束,然后才发现校验错误;本发明方法通过步骤S4:一旦检测到初次CRC校验计算结果为错误,就将帧头从后向前字节对齐;和S5:查找帧头结束字节,从后往前先字节对齐,然后查找真正的帧头结束字节“10101011”,如果找到,则二次CRC校验,这样可能就正确了,干扰仅仅发生在前面,直接上报正确的数据即可;
[0096] 针对第三种错误,如图6所示,此时采集卡继续查找帧头结束,通过本发明方法如果采集的比特位超过了64位,则终止帧头查找,打上时间戳,开始记录数据,启动CRC校验,直到数据帧结束;从后往前字节对齐后,记录错误信息并上报;
[0097] 针对第四种错误,如图7所示,通过本发明方法采集卡能够找到帧头,打上时间戳,记录数据了,初次CRC校验肯定不正确,记录错误信息并上报。
[0098] 上述检测到校验错误后,必需要记录与错误相关的信息,具体的错误数据记录:
[0099] 1、错误发生时间:直接取时间戳,但是第二种错误情况时间戳偏早,第3种错误情况时间戳偏晚,不会超过5个字节的传输时间;第4种错误情况时间是最精确的;
[0100] 2、错误长度:取修正以后的字节长度;因为采集卡是按照比特位进行采集检验的,需要字节对齐,进行修正;第2种错误情况错误长度有可能比正确长度值偏大,多数能够人工修改回来;第3种错误情况错误长度偏小,难以修正;第4种错误情况长度是最精确的;
[0101] 3、错误数据:记录字节对齐修正后的数,不包括32位的CRC校验。
[0102] 通过本发明方法错误原因分析提供可靠精确的辅助数据:
[0103] 首先统计错误数据包发生的数量,包括单位时间的数量和总数量。例如:每日平均发生数量,或最近一周发生的总数量等。
[0104] 统计发生的频次及间隔。例如:平均每日发生多少次,相邻两次错误之间的间隔。
[0105] 这两个统计值对于突发错误很有益处。
[0106] 其次统计,不同路径的数据包之间关系,从而确定错误的分布情况。
[0107] 再次,是综合分析其他节点上报的错误数据;实际工作中,通过在全网络各个重要节点进行部署,发生错误的往往只是其中某一段;综合分析上报的错误数据,就能了解错误发生的空间分布和时间分布;通信运维值班人员就可以根据这些数据,分析错误发生原因,根据预案进行相应的通信错误解决;从而了解和掌握整个网络的稳定运行情况,保证了网络通信的安全。
[0108] 由此可见,借助于本发明的上述技术方案,通过对错误部位检测、错误数据记录以及错误原因分析实现不仅记录错误事件,而且提交完整的错误数据包的功能;便于通信运维人员分析错误发生的原因,统计错误发生的数量和频次,为评估通信质量提供了数据量,更加快捷准确了解和掌握整个网络的稳定运行情况,保证了网络通信的安全。
[0109] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈