qt tcp接收缓冲区设置_TCP 协议:减少小报文提高网络传输效率

7bb8ca5d00aa057affec3340f630969c.png

SWS(silly window syndrome)糊涂窗口综合症

当发送端应用进程产生数据很慢、或接收端应用进程处理接收缓冲区数据很慢,或二者兼而有之;就会使应用进程间传送的报文段很小,特别是有效载荷很小。 极端情况下,有效载荷可能只有1个字节;而传输开销有40字节(20字节的IP头+20字节的TCP头) 这种现象就叫糊涂窗口综合症。

SWS避免算法

接收方

David D Clark算法:窗口边界移动值小于min(MSS,缓存/2)时,通知窗口为0

发送方

Nagle算法(TCP_NODELAY用于关闭Nagle算法):
1)没有已发送未确认报文段时立刻发送数据
2)存在未确认报文段时,直到:1-没有已发送未确认报文段,或2-数据长度达到MSS时, 再发送

TCP delayed acknowledgment 延迟确认

当有响应数据要发送时,ack会随着响应数据立即发送给对方;

如果没有响应数据,ack的发送将会有一个延迟,以等待看是否有响应数据一起发送;

如果再等待ack期间,对方的第二个数据段又到达了,这是就要立即发送ack;

Nagle 和 delayed ACK 冲突时,发送方或接收方的一方需要关闭对应设置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值