首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一个tcp快发满收的块数据流

这一节分析另外一个数据流,这个数据流是发送方速度快,接收方速度慢

时间序列如图

报文1、2、3是建链流程,建链信息中,可以获得信息

客户端和服务器的窗口windows size都是4096

服务器的mss是1024

客户端的mss是1460

客户端发送报文4、报文5、报文6、报文7,四个报文发送了4096个字节,对方windows size(rcv buf)已经放满了。

服务器发送报文8,ack了这4096个字节的数据,但是windows=0,这4096个字节还没有被应用进程读取,仍然停留在tcp的rcv buf里

服务器发送第9个报文,刷新窗口windows=4096,tcp rcv buf里的数据已经被应用进程读取,rcv buf空余出来。

客户端继续发送报文10、报文11、报文12、报文13,四个报文发送了4096个字节。

注意报文13同时是一个FIN报文,这个FIN标志需要占用1个字节的序列号。

报文14响应了4096个数据,同时也对FIN报文做FIN ack(比数据多一个字节),但是服务器应用进程仍然没有取走rcv buf里的数据,所以windows=0

报文15刷新windows=4096

报文16和报文17服务器的FIN流程

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190515A03XCB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券