delay ack与nagle算法

tcp在处理交互数据流时会采用delay ack与nagle算法

Delay Ack

在接收到数据时,并不立刻发送ACK,而将ACK的发送推迟到下一次与该方向要发送的数据一起发送或是达到最大时延(大多数为200ms)
可以通过TCP_QUICKACK选项设置

Nagle算法

该算法要求一个TCP连接上最多只能有一个未被确认的未完成的小分组(小于MSS的数据块),该分组的确认到达之前不能发送其他的小分组。TCP收集这些小分组,并在确认到来时以一个分组一起发出去。
nagle算法规则:

  1. 如果改包长度达到MSS,则允许发送
  2. 如果改包含有FIN,则允许发送
  3. 设置了TCP_NODELAY,则允许发送
  4. 未设置TCP_CORK选项时,若所有包都被发出去,或者小数据包(小于MSS)均被确认,则允许发送
    TCP_NODELAY:无论数据包大小,都立即发送
    TCP_CORK:只有数据量达到MSS时,才会被发送
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值