1.tcp校验和 接收方在接收数据时检验数据包在传输过程中是否改变的验证方式
发送方将数据体取反码,检验和也取反码相加,高于4bit的和低于4bit的相加,得到的就是校验和,保存在tcp头的校验和字段,
接收方将数据取反码,校验和取反码,相加为1111则数据包没有异常,否则丢弃数据包。
参考此文
2.为什么Internet协议: IP, ICMP, IGMP, UDP, TCP 收到有检验和错误的分组都仅作丢弃处理?
不丢弃如何恢复数据呢?不恢复数据通知发送方重发?接收方也不确定是哪里出错。所以做丢弃处理。
tcp有重发机制,udp本来就是不可靠的传输层协议。只有链路层的CRC协议会尝试恢复数据分组。
参考知乎文章