通信人家园

标题: [原创]TCP/IP学习笔记-理解TCP(数据交互规则)  [查看完整版帖子] [打印本页]

时间:  2009-5-20 02:57
作者: chris_waity     标题: [原创]TCP/IP学习笔记-理解TCP(数据交互规则)

对于TCP/IP一书中TCP部分,我认为关键要掌握3点
1.建链和拆链过程 http://www.txrjy.com/viewthread.php?tid=332819
2.数据交互规则 http://www.txrjy.com/viewthread.php?tid=332827
3.流量控制原则 http://www.txrjy.com/viewthread.php?tid=332828

针对这几点,我进行了简要概括,希望有助于初学者理解

数据交互规则

TCP的数据交互过程,采用的也是发送应答方式。对于数据交互,非常重要的是要了解数据包编号的应用

cooperation.jpg

如上图所示,每个发送包都会有一个自己的编号,而 “包编号+包的数据长度”就是下一个连续包的编号。如上图中第一个包编号是1000,数据长度是512,则下个包的编号是1000+512=1512。而接收端的确认消息中,只包含它期望收到的下一个包的包号,用于告知发送端数据包的接收的进展。当发送端发现确认的包号不是将要发送的包号,则可能发生了丢包,需要进行重发,如下图所示:

lost.jpg

仔细看上图,会发现重发的包与原先的包的大小不同,从100变成了200,这并不是错误,TCP的重发只是从丢包的包号开始重新发数据,但是数据的大小可以不一样,可以包含更多的数据。同样,接收端会忽略比已收到的包号小的数据包,确认消息中,只包含根据已收包得出的最大的期望收包号。也就是说,接收端不需要对每个收到的包单独确认,而只需要确认最大的接收包号就可以完成对之前所有包的确认。而在交互应用时,一个数据包会同时携带本端的确认消息,如下图所示:

Together.jpg


  1.建链和拆链过程 http://www.txrjy.com/viewthread.php?tid=332819

  3.流量控制原则 http://www.txrjy.com/viewthread.php?tid=332828

[ 本帖最后由 chris_waity 于 2009-5-20 06:55 编辑 ]

附件: cooperation.jpg (2009-5-20 02:57, 14.68 KB) / 下载次数 5
https://www.txrjy.com/forum.php?mod=attachment&aid=NTIxMjJ8NzliYzQxYjF8MTc1MzA3ODY0NnwwfDA%3D

附件: lost.jpg (2009-5-20 02:57, 19.29 KB) / 下载次数 4
https://www.txrjy.com/forum.php?mod=attachment&aid=NTIxMjN8ZDY4ZDBhNjh8MTc1MzA3ODY0NnwwfDA%3D

附件: Together.jpg (2009-5-20 02:57, 17.22 KB) / 下载次数 4
https://www.txrjy.com/forum.php?mod=attachment&aid=NTIxMjR8MjZiMGM0ZDN8MTc1MzA3ODY0NnwwfDA%3D
时间:  2009-5-20 08:31
作者: harg6

谁能讲讲信令的过程啊,一点一点的讲~~
时间:  2009-5-20 08:33
作者: harg6

象讲TCP/IP一样~

多谢楼主~~~

图文并茂:))
时间:  2009-5-20 16:40
作者: 田野小龙

多谢楼主
时间:  2009-5-20 23:36
作者: guxiong108

再顶一个



时间:  2020-5-19 16:32
作者: 扣111111

数据传输和交互一样吗




通信人家园 (https://www.txrjy.com/) Powered by C114