背景:还是拿水果店老板进货的例子,假如补货的人来问水果店老板,什么时候需要补货,老板说晚上再给你发微信。那么这种情况下,水果店老板会在白天继续卖出去一些水果,晚上再跟补货人说要多少水果,就可以达到剩余空间最大利用
目的:为了提高效率,在流量控制的基础上,尽量返回一个合理但是又比较大的窗口
方式:在不影响可靠性的前提下让ACK发送的时间晚一会儿
条件:为了保证可靠性,不是每个包都可以延迟应答的,还要看:1.数量控制(每隔N个包就应答一次),2.时间控制(超过最大时间就会应答一次)
延迟应答的等待时间是不能大于超时重传的等待时间的
在延迟应答的基础上,为了进一步提高程序运行效率而引入的
本身的客户端和服务器的通讯方式应该是以下方式:
但是有了捎带应答机制,就可以让ACK的传输时机略有延迟,大概是200ms左右,这足以让应用程序完成响应计算,之后Resp在写回的时候发现刚才的ACK还没有发,就在这个Resp的数据报的基础上带上ACK,顺便传输一下
这样可以把两个包合成一个包进行传输,提高效率的同时还节省了带宽。