TCP的接收端如何处理窗口探查报文段
TCP协议在接收端缓存满的时候会ACK win=0,发送端收到win=0的确认报文段后会用坚持定时器发送1byte的探查窗口报文段。
我的猜测接收端处理窗口探查报文段有两种情况:
1.接收端收到窗口探查报文段时仍然处于缓存满的状态,这时接收端不确认这1byte,继续ack win=0;
2.接收端收到窗口探查报文段时已经有空闲缓存,这时接收端确认这1byte,要求发送端发从下一字节开始,ack win=X。
是不是这样,请高手指点。
[解决办法]
不是这样的。
这个1字节,一般实现中,是不用发送的。
当应用层,去recv的时候,实际上,他才会发送一个发送请求,这时因为有数据取出窗口有空闲,允许发送方再发送数据。