设为首页收藏本站language 语言切换
查看: 1879|回复: 8
收起左侧

[分享] TCP细节探究(1):TCP数据交互

[复制链接]
发表于 2013-3-19 11:45:33 | 显示全部楼层 |阅读模式
本帖最后由 卡卡520 于 2013-3-19 11:50 编辑

TCP数据交互  
正如前面所说的TCP协议是一可靠协议,其原因就是发送方与接收方之间存在着数据到达确认机制,当发送方在一定时间内未收到确认或接收方收到乱序的报文时重复发送ACK都会触发发送方重发报文。


  观察以上抓包,其中序号477651到477662为客户端与服务器之间的数据交互,在此交互过程中, 客户端连续向服务端发送10个1024长度的数据包,其C++代码如下所示
  for ( i=0; i<10;i++)
  {
  send(m_clientSocket, buf, 1024, 0);
  }
  以几个需要注意的是:
  1:TCP会将上层提交的数据包整合成一个最大包发送,如上图477652,477654等,这些包的报文段长度正好是MSS长度。
  2:为防止网络阻塞,TCP一开始发送的数据包并不是以MSS长度发送,而是根据网络情况逐步增加发送的速度与长度,正如上图的477651,发送的报长度为1024,而非MSS
  3:接收端并不会对每一个数据包进行确认,而是对在其定时器周期内到达的所有数据报进行统一确认,如若在确认时,服务器端刚好有一个包发送到客户端,ACK包会与该包一并发送到客户端。
发表于 2013-3-19 11:58:48 | 显示全部楼层
沙发 2013-3-19 11:58:48 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-3-19 12:08:50 | 显示全部楼层
wireshark,good!
板凳 2013-3-19 12:08:50 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-3-19 12:09:28 | 显示全部楼层
zaiqiangyifen
地板 2013-3-19 12:09:28 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-3-19 12:09:49 | 显示全部楼层
红红火火鸿浩
5# 2013-3-19 12:09:49 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-3-22 22:01:49 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
6# 2013-3-22 22:01:49 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-4-14 12:24:18 | 显示全部楼层
lai nafeng haodongxi yanjiud touche
7# 2013-4-14 12:24:18 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-8-19 02:35:32 | 显示全部楼层
8# 2013-8-19 02:35:32 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-8-23 03:13:38 | 显示全部楼层
9# 2013-8-23 03:13:38 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-2 19:00 , Processed in 0.069012 second(s), 13 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表