美文网首页
TCP协议之校验和

TCP协议之校验和

作者: 杜子龙 | 来源:发表于2019-07-16 17:17 被阅读0次

发送方生成校验和:

1.将待发送数据分成若干个16位的位串,每个位串看成一个二进制数,这里并不管位串代表什么,可以是整数、浮点数、或者位图;
2.将IP、UDP、TCP的PDU首部中的校验和字段置为0,该字段也参与校验和运算;
3.对这些16位的二进制数进行1的补码和运算,累加的结果再取反码即生成了校验码,将校验码放入校验和字段中。
(其中1的补码和运算,即带循环进位的加法,最高位有进位则循环进到最低位;反码即二进制各位取反,如0111的反码为1000。)

接收方校验校验和:

1.接收方将接收的数据(包括校验和字段)按发送方同样的方法进行1的补码和运算,累加的结果再取反码;
2.校验,如果上步的结果为0,表示传输正确;否则传输出错。

校验算法示例如图: image.png

图中所示为一个只包含4个16位二进制数进行检验和运算的简单例子。图(a)所示为发送方的运算,①、②、③是3个数据,④是检验和,先置0,也参加检验和运算。⑤是它们的一的补码和,⑥是⑤的反码。发送方将⑥放到检验和字段和数据一起发出。图(b)所示为接收方的运算,如果没有传输差错,最后结果应为0。

参考:

https://baike.baidu.com/item/%E6%A0%A1%E9%AA%8C%E5%92%8C/7358071?fr=aladdin

相关文章

  • TCP协议之校验和

    发送方生成校验和: 1.将待发送数据分成若干个16位的位串,每个位串看成一个二进制数,这里并不管位串代表什么,可以...

  • 6.传输层协议UDP、TCP及可靠传输

    TCP/UDP协议 UDP 校验和 TCP 数据偏移 * 4 = 首部长度,数据偏移取值 5 - 14,首部长度 ...

  • 面试常见问题04 - 计算机网络(施工ing)

    1. TCP、UDP的区别 2. TCP协议可靠性 校验和:判断数据是否损坏 序列号: TCP传输时将每个字节的数...

  • 网络分层模型和TCP/IP协议族 —— TCP/UDP

    这篇简单讲讲用于传输层中用于可靠性的TCP和UDP协议 UDP UDP协议主要讲 端口 + 校验和 优点:简单 快...

  • 传输层

    传输层的功能:传输层寻址和端口;无连接服务和面向连接服务 UDP协议:UDP数据报,UDP校验 TCP段:TCP连...

  • 网络协议-3-TCP

    TCP传输控制协议 Transmission Control Protocol 概述面向连接,可靠(差错校验),基...

  • 理解tcp协议

    TCP协议中包含的信息和作用 1.目标端口号和源端口号 2.序列号 3.确认号 4.校验和 TCP协议的数据传输的...

  • 传输层

    因特网协议集 传输层要求: 拥塞控制 TCP TCP的差错校验和多路复用 快速重传机制:连续收到3个相同的确认AC...

  • RTU协议与TCP协议

    RTU相当于将TCP传输时前六位去掉 后面加了两位校验码 TCP和RTU协议非常类似,只要把RTU协议的两个字节的...

  • 15分钟TCP

    TCP协议详解 介绍TCP协议之前,先区分一下TCP协议,和TCP/IP体系结构。TCP协议是TCP/IP协议体系...

网友评论

      本文标题:TCP协议之校验和

      本文链接:https://www.haomeiwen.com/subject/efitlctx.html