Tcp的接收窗口是通知对方自己接收buffer大小的参数。
从nagle例子看tcp接收窗口
上节nagle算法为例,看windows size的用途。
客户端和服务器的接收窗口大小分别是4096个8192
报文5,windows size为4095,少了一个字,节意味着报文4发来的那一个字节还存放在tcp的buf中,应用程序还没有读取它,所以空余buf少了一个字节,接收窗口大小更新为4095。
报文7、报文9、报文11、和报文17的windows size都小于4096,说明tcp的buf里还存放着报文6、报文8、报文10、和报文16发来的数据。
同样,服务器发来的报文报文12、报文16和报文18的widnows size小于8192,意味着这些时刻,tcp的rcv buf里还积压着客户端发来的数据,服务器的应用进程还没有来得及读取。
领取专属 10元无门槛券
私享最新 技术干货