TCP之滑动窗口,流量控制和拥塞控制

滑动窗口

是在可靠性的前提下,让我们进一步提高传输效率。
在这里插入图片描述
所谓窗口:就是不等待ack的情况下,批量发送的最大数据量,就叫:窗口大小。上面的窗口大小就是4000。
滑动:窗口范围表示哪些数据在等待ack,随着一个ack的到达,就立刻发送下一个数据,等待范围就逐渐向后滑动。
在这里插入图片描述
窗口越大,传输效率越高,但也不能无限大。

在这过程中,假如出现丢包怎么办?
在这里插入图片描述

在这过程中,假如数据报丢了怎么办?
在这里插入图片描述

流量控制

窗口大小不能无限大,传输速率太快,接收方可能处理不过来。

所以此处会根据接收方的处理能力来方向制衡发送方的发送速率(窗口大小)。

接收方的处理能力即通过接受缓冲区的“剩余空间大小”来决定发送方的速率。

在这里插入图片描述
这里就是在应答ack中加入了一个窗口大小,就是缓冲区的剩余空间大小,但发送发不一定会按这个发小发送数据,数据只会比这个数据小或者等于,但不会大于。当窗口为0,发送方就会定时发送一个探测报文,因为缓冲区的数据很肯能被取走一部分,就可以接受新的数据了。
在这里插入图片描述
有人会问:而发第一个数据时没有ack返回窗口大小吧,这里由拥塞控制决定,后面后提到。

还有就是当数据包出现部分丢失的时候,还是按照没有缺失的情况下来返回窗口剩余大小。
在这里插入图片描述

拥塞控制

拥塞控制和流量控制共同决定发送方的窗口大小。
考虑了网络传输路径上的拥堵程度,由于不好衡量传输路径的拥堵情况,只能不断反复试探,逐渐试探出应该用多大的窗口。
在这里插入图片描述
为啥要动态变化呢?

网络拥堵也是瞬息万变的,要随时根据网络实际状态进行动态调整。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lhj_loveFang_1105

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

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

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

打赏作者

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

抵扣说明:

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

余额充值