相比交互数据流,网络中tcp更多是传送块数据流
看一个块数据流的例子。
报文1、2、3是建链流程,建链信息中,可以获得信息
客户端和服务器的窗口windows size都是4096
客户端和服务器的mss都是1024
报文发送流程解析表
讲述nagle算法时候,每个数据都有一个对应的ack报文。
而在块数据发送的时候,不必每个数据都发送一个ack,比如上图的报文7、报文14、报文16。以报文7为例ack序列号2049,意味着服务器已经接收了2049个字节。也就是已经收到了报文4和报文5。
Tcp的ack是一个累积值,它代表已经收到的字节个数数减一。
领取专属 10元无门槛券
私享最新 技术干货