通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  上士

注册:2009-2-7
跳转到指定楼层
1#
发表于 2009-5-20 02:57:36 |只看该作者 |倒序浏览
对于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 编辑 ]

举报本楼

本帖有 5 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-23 11:00 , Processed in 0.111984 second(s), 18 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部