数据帧主要由什么构成,数据帧包含哪些内容

首页 > 体育 > 作者:YD1662023-11-13 09:47:57

CRC简介

数据在传输过程中可能会因为传输介质故障或外界的干扰而产生比特差错(使原来的0变为1,原来的1变为0),从而导致接收方接收到错误的数据。为尽量提高接收方收到数据的正确率,在接收数据之前需要对数据进行差错检测,仅当检测的结果为正确时才接收数据。

循环冗余校验CRC(Cyclic Redundancy Check)是数据通信领域常用的一种数据传输检错技术。通过在发送端对数据按照某种算法计算出校验码,并将得到的校验码附在数据帧的后面,一起发送到接收端。接收端对收到的数据和校验码按照相同算法进行验证,以此判断接收到的数据是否正确、完整。

CRC是如何计算的?

CRC的思想就是先在要发送的K比特长度的数据后面附加一个R比特长度的校验码,然后生成一个新帧发送给接收端。接收端接收到新帧后,根据收到的数据和校验码来验证接收到的数据是否正确。

数据帧主要由什么构成,数据帧包含哪些内容(1)

在K比特数据后面再拼接R比特的校验码,整个编码长度为N比特,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以通过一个最高次幂为N-K=R的多项式g(x),生成R比特的校验码。

不同的CRC生成多项式,其检错能力是不同的。要使用R位校验码,生成多项式的次幂应为R。以下为常见的一些标准多项式。

数据帧主要由什么构成,数据帧包含哪些内容(2)

校验码是通过某个特定数整除(“模2除法”)得到,这些多项式的值便是模2除法的除数。根据这个除数获得校验码并进行校验的原理可以分为以下几个步骤:

下面以一个简单示例来展示CRC的计算过程:

以g(x)为CRC-4=X⁴ X 1为例,此时除数P=10011。假设源数据M为10110011。在发送端将M左移4位,然后除以P。

数据帧主要由什么构成,数据帧包含哪些内容(3)

计算得到的余数就是0100,也就是CRC校验码。将0100附加到原始数据帧10110011后,组成新帧101100110100发送给接收端。接收端接收到该帧后,会用该帧去除以上面选定的除数P,验证余数是否为0,如果为0,则表示数据在传输过程中没有出现差错。

数据帧主要由什么构成,数据帧包含哪些内容(4)

CRC错误如何处理?

网络设备的接口偶尔出现极少量的CRC错包可以不用关注。如果是接口持续产生CRC错包,一般主要由传输介质导致的,比如连接的双绞线或者光纤质量有问题,接口光模块异常等。此时可尝试更换接口或光模块、线缆等,然后再检查此问题是否已解决。

数据帧主要由什么构成,数据帧包含哪些内容(5)

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.