几种校验和

Posted liushoudong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几种校验和相关的知识,希望对你有一定的参考价值。

CRC校验:CRC多项式  -->检错、纠错  保证数据链路层的可靠传输

根据CRC多项式最高次幂,给待检验数据后面添加0,然后用得到的数据除以CRC多项式,得到的余数即校验位,加到发送数据后面

接收端将接收数据除以相同的CRC多项式,得到余数,为0则正确,否则代表出错的位置,纠错

https://baike.baidu.com/item/%E5%BE%AA%E7%8E%AF%E5%86%97%E4%BD%99%E6%A0%A1%E9%AA%8C%E7%A0%81/10168758?fromtitle=CRC%E6%A0%A1%E9%AA%8C&fromid=3439037&fr=aladdin

 

UDP校验:二进制反码求和  回卷

伪首部(12B) = 源IP + 目的IP+全0+协议号+UDP长度 (4、4、1、1、2) 仅仅是为了计算校验和,不进行传递

UDP = 源端口 + 目的端口+长度+校验和   8=2、2、2、2

 

TCP校验:二进制反码求和  20B固定长度+4B可选

 

为什么TCP首部不需要数据长度字段?   IP首部有总长度字段- IP首部长度 - TCP首部长度

UDP有是为了计算校验和

以上是关于几种校验和的主要内容,如果未能解决你的问题,请参考以下文章

几种常见的校验算法

vue中的几种校验方式

求助大神还都有哪些16位冗余校验计算方法,试过常见的几种CRC16都不对

计算机组成原理 & 计算机网络几种校验码的java编程实现

APP安全之APK完整性校验

APP安全之APK完整性校验