【网络】TCP的延迟应答和捎带应答

延迟应答

在TCP中,有确认应答机制以保证数据的可靠传输,但是是不是接收方收到数据就立即返回ACK应答呢,如果是这样,这时候的缓冲区中接受的数据还没能够处理,缓冲区的剩余大小就是窗口大小。

在收到数据以后并不立即返回确认应答,延迟一会,等待缓冲区中数据被处理,那么剩余的缓冲区就会大些——这是延迟应答

如果接受数据的主机立刻返回ACK应答,这时候返回的窗口可能比较小。那是因为刚接受完数据,缓冲区已满。当某个接收端收到这个小窗口的通知以后,会以它为上限发送数据,从而又降低了网络的利用率,为此引入了延迟应答机制。

  • 假设接受端缓冲区为1M,一次收到了500K的数据;如果立刻应答,返回的窗口就是500K;
  • 但实际上可能处理端处理的速度很快,10ms之内就把500K数据从缓冲区消费掉了;
  • 在这种情况下,接收端处理还远没有达到自己的极限,即使窗口再放大一些,也能处理过来;
  • 如果接收端稍微等一会再应答,比如等待200ms再应答,那么这个时候返回的窗口大小就是1M;

一定要记得,窗口越大,网络吞吐量就越大,传输效率就越高,我们的目标是在保证网络不拥堵的情况下尽量提高传输效率;

那么所有的包都可以延迟应答吗?

不是的,与以下有关:

  • 数量限制:每隔N个包就应答一次;
  • 时间限制:
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值