CRC循环冗余校验

参考:【计网 - 第三章 - 数据链路层】by 总是难免

1.循环冗余校验 CRC 是Cyclic Redundancy Check的缩写,用于校验数据传输的完整性。 一般情况下在数据发送前计算CRC校验值,附在发送数据之后,数据接收方也按照同样方法计算CRC,然后对比计算结果,如果一致说明数据数据传输无误,否则数据传输出错。

2.计算

(1)计算冗余码

  • 加0——假设生成多项式G(x)的阶为r,则加r个0
  • 模2除法——数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。

(2)若要发送的数据为1101011011,采用CRC的生成多项式是P(x)=x4+x+1. 求应添加在数据后面的余数。

做二进制除法(异或运算:同0异1),除数为10011,得余数1110

最终发送得数据:要发送得数据+帧检验序列FCS

(3)接收端检错过程:把收到的每一个帧都除以同样的除数,然后检查得到的余数R

  • 余数为0,判定这个帧没有差错,接收
  • 余数不为0,判定这个帧有差错,丢弃

(4)FCS的生成以及接受端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值