【计算机网络】TCP糊涂窗口综合症

TCP糊涂窗口综合症

TCP通过滑动窗口来完成流量控制,当接收方发现自己跟不上发送的速度,就缩小接收窗口大小,抑制发送方的发送速度,防止发送的过快

出现问题:接收方的接受能力越来越差怎么办?

简单来说,就是接收方接受能力变差,窗口变小,导致发送方犯傻,其发送的数据只有一个大大的头部,真正携带的数据很少

接收方和发送方都有问题:

  • 接收方:通告了发送方窗口缩小
  • 发送方:即使窗口很小也还是发送数据

一、接收方的策略

防止发送方发送小数据

1⃣️方案一

  • 只要窗口大小 < 某个值(内核缓冲区大小的一半)的时候,就直接讲窗口大小置为0,防止发送小数据
  • 等到窗口大小 >= 某个值的时候,才打开窗口,通告发送方,告知其可以发送数据了

2⃣️方案二:延迟确认应答

  • 如果接收到数据立刻发送ACK确认报文的话,接收方的窗口可能比较小,发送方发的数据也比较少
  • 如果能延迟一些确认的话,能够从缓冲区中清理的数据就变多了,窗口就变大了,发送方就能够发送的数据就更多了
    请添加图片描述

二、发送方的策略

不要犯傻去发送小报文

算法:Nagle,即若发送方还有数据待发送,但数据比较小,就可以进行延迟发送

具体来说,仅在下列任意一种条件下才能发送数据:

  • 已经发送的数据都已经收到确认应答
  • 可以发送的数据 >= 某个值(内核缓冲区大小的一半)

若两个都不满足,则等待一段时间在进行数据发送

【参考】这个网站很容易懂哦
https://cswiki.top/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值