几种校验和

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有是为了计算校验和

原文地址:https://www.cnblogs.com/liushoudong/p/12586720.html