【计算机网络】TCP的延迟确认和Nagle算法

TCP为了提高效率,采用Nagel算法避免频繁的小数据传输,及延迟确认策略减少单独ACK报文的发送。然而,这两者在特定情况下可能导致传输延迟,解决方案包括关闭Nagel算法或延迟确认。
摘要由CSDN通过智能技术生成

因为TCP头部开销很大,当我们每次发送的数据很小的时候,都要带着这个巨大的头部,效率很低。造成浪费

为了解决这个问题,TCP采用了两种策略:

  • Nagel算法(发送角度)

  • 延迟确认(接收角度)

Nagel算法

  • 没有已发送但未确认的报文时,马上发送数据

  • 存在未确认报文时,直到没有已发送未确认报文或数据长度达到MSS大小时再发送数据

  • 只要没有满足上面两条中的一条,发送方就会一直囤积数据,直到满足条件

没用Nagel算法,发送方就会将字符一个一个发送,每次都要带上TCP头部,共发送了5次,形成浪费。

使用了Nagel算法

  • 第一个字符时,因为没有已发送未确认的报文,所以发送方直接发送了字母H

  • 发送完H后,发送方并没有直接发送下一个字符,而是在囤积字符数据,等到字符H的确认报文回来后,没有已发送未确认的报文了,再把囤积好的数据ELL发送出去

  • 最后等ELL的确认报文回来后,再发送O

此过程一共发送了3次数据,相比不使用Nagel算法更节省资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值