四:TCP坚持定时器
在TCP连接双方,均有一个接收缓存,当接收缓存满时,接收端会回复发送端一个窗口大小为0的报文,当接收端的接收缓存可用时,接收端会再次回复一个报告窗口大小的报文,但由于ACK报文的传递是不可靠的,如若该窗口大小更新的ACK报文丢失,将使得发送端永远不会再向接收端发送数据,因为它还一直以为接收端的缓存已满。
为了解决该问题,TCP协议规定发送端定期向接收端发送一个字节长度的报文,以确认接收端缓存是否可用。如下图所示,值得注意的是,该定时器永远不会失效,一直到接收端缓存可用为止。