TCP(滑动窗口,流量控制)

本文详细介绍了TCP的滑动窗口机制,通过发送缓冲区和接收缓冲区的概念,阐述了如何提高网络性能。同时,讨论了在丢包情况下的重传策略,包括高速重发控制。接着,讲解了TCP的流量控制,通过接收端反馈的窗口大小调整发送速率,避免缓冲区溢出。最后,提到了延迟应答和捎带应答两种优化策略,以提升网络传输效率。
摘要由CSDN通过智能技术生成

 

之前我们讨论了确认应答策略,对每一个发送的数据段,都要给一个ACK确认应答,收到ACK后再发送下一个数据段。

这样做有一个比较大的缺点,就是性能较差,尤其是数据往返时间较长的时候。

滑动窗口

既然这样一发一收的方式性能较低, 那么我们一次发送多条数据, 就可以大大的提高性能(其实是将多个段的等待时间重叠在一起了)

  • 窗口大小指的是无需等待确认应答而可以继续发送数据的最大值. 上图的窗口大小就是4000个字节(四个段).
  • 发送前四个段的时候, 不需要等待任何ACK, 直接发送;
  • 收到第一个ACK后, 滑动窗口向后移动, 继续发送第五个段的数据; 依次类推;
  • 操作系统内核为了维护这个滑动窗口, 需要开辟 发送缓冲区 来记录当前还有哪些数据没有应答; 只有确认应答过的数据, 才能从缓冲区删掉;
  •  窗口越大,则网络的吞吐率越高

那么如果出现了丢包, 如何进行重传? 这里分两种情况讨论.
情况一:数据包已抵达,ACK被丢了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

little-peter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值