CRC校验

差错控制
传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1
为了保证数据传输的可靠性,在计算机网路输数据时,必须采用各种差错检测措施
这里写图片描述
循环冗余检验CRC
在数据链路层传送的帧中,广泛使用了循环冗余检验CRC技术
在发送端,先把数据划分成组,假设每组k个比特,假设待传送的一组数据M=101001(现在k=6)。我们在M的后面再添加差错检测用的冗余码一起发送

冗余码的计算
用二进制的模2运算进行2^N乘M的运算,这相当于在M的后面添加n个0。
得到的(k+n)位的数除以事先选定好的长度(n+1)位的除数P得到的商是Q而余数是R,余数R比除数少一位,即余数是n位

计算过程如下图:
这里写图片描述

在接收方收到了这个数据帧之后还要对它进行校验,判断余数是否为0,余数为0那么接收方就接受这个数据帧,余数不为0那么接收方就将这个帧丢弃,然后

仅用循环冗余校验CRC差错检测错误技术只能做到无差错接受
“无差错接受”:凡是接受的帧(不包含丢弃的帧),凡是接收端数据链路层接受的帧都没有传输差错(有差错的帧就丢弃而不被接受)

要做到可靠传输(及发送什么就收到什么)就必须加上确认和重传机制
CRC是一种无比特差错,而不是无传输差错。

并且CRC并不是完全的无比特差错,有可能出一个错误的数据帧,但是之后计算出的余数还是0,那么就可能就接受了一个错误的数据帧,因此CRC不是百分之百可靠。它的除数越大,出错的可能性越小。如果发现传输过来的数据帧有错误,那么它是由上一层进行重传机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值