拥塞控制以及它和滑动窗口的区别

目录

一、滑动窗口

二、拥塞控制

1.作用:

2.拥塞控制方法:

3.慢开始和拥塞避免

4.快重传和快恢复

三、滑动窗口和拥塞控制的比较


窗口分为:滑动窗口和拥塞窗口

滑动窗口:用来告知发送端->接收端的缓存大小,从而达到流量控制的目的。(接收端使用)

拥塞窗口:指在一个RTT内最多可发送的数据包数。(发送端使用)

一、滑动窗口

见我的博文:https://blog.csdn.net/qq_37768971/article/details/96771315

二、拥塞控制

1.作用:

防止过多的数据注入网络,可以时网络中的路由器或链路不至过载。

拥塞控制是一个全局性的过程,涉及到所有主机、路由器、以及与降低网络传输性能有关的所有因素。

2.拥塞控制方法:

slow-start:慢开始

congestion avoidance :拥塞避免

fast retransmit :快重传

fast recovery:快恢复

3.慢开始和拥塞避免

(1)慢开始:

刚开始发送报文段时,先把拥塞窗口cwnd设置为一个最大报文段MSS的数值。

每收到一个对新的报文段的确认后,把拥塞窗口增加至多一个MSS的数值(2^n)

ssthresh 慢开始阈值

目的:为了防止拥塞窗口cwnd增长过快引起网络拥塞

    当 cwnd < ssthresh 时,使用上述的慢开始算法。

    当 cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法。

    当 cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞控制避免算法。

(2)拥塞避免算法:

每经过一个RTT就把拥塞窗口cwnd+1,而不是加倍

使cwnd线性缓慢增长

(3)出现拥塞的处理

出现拥塞(即没有收到确认),将ssthresh设置为当前拥塞窗口值的一半

将cwnd重新设置为1,执行慢开始算法。

图示:

注:

慢开始的”慢“不是指增长慢,而是值初始值小,试探性增长。

拥塞避免并不是完全避免了拥塞,而是将拥塞窗口控制为线性增长,使网络比较不容易出现拥塞

4.快重传和快恢复

(1)快重传:

要求:接收方每收到一个失序报文段就立即发出重复确认

步骤:

1.接收方收到了M1和M2后都分别发出了确认。

2.假定接收方未收到M3的,但收到了M4、M5、M6。

3.接收方不能确认这三个报文,因为他们是失序报文。

4.按照快重传算法规定,接收方需要发送对M2的重复确认,才能让发送方知道M3未到达。

5.快重传算法还规定,发送方只要一连收到三个重复确认,就要立即重传丢失报文段M3

(前面共发送了四次M2报文的确认,其中后三个都是重复确认)

6.这样就不必等待M3设置的超时重传计时器到齐,提高网络吞吐量。

(2)快恢复算法:

1.发送方收到三个重复确认后,执行“乘法减小”算法,ssthresh减半。

请注意:接下去不执行慢开始算法

2.将cwnd值设置为ssthresh减半后的数值,然后执行拥塞避免算法,线性增大。

原因:发送方认为网络很可能没有发生拥塞

 

注:

采用了快恢复算法后,慢开始算法只在TCP简历连接和网络出现超时时才使用。

除了拥塞窗口的限制,从接收方对发送方的流量控制角度考虑,发送方的发送窗口不能超过接收窗口rwind。

    发送方窗口的上限值 = Min [ rwnd, cwnd ]

    当rwnd < cwnd 时,是接收方的接收能力限制发送方窗口的最大值。

    当cwnd < rwnd 时,则是网络的拥塞限制发送方窗口的最大值。

三、滑动窗口和拥塞控制的比较

相同:提高网络性能

不同:

1.流量控制:

在TCP连接上实现对发送流量的控制,考虑端对端之间对通信量的控制

即:控制发送端的数据发送速率,使接收端可以合理接收,保证网络高效稳定运行

2.拥塞控制:

处理网络拥塞现象,需要考虑网络能够承受现有的网络负荷,涉及到所有路由器、主机以及各种降低网络传输性能有关的因素。

防止过多数据注入到网络,确保通信子网有效为主机传递分组。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IMUHERO

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

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

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

打赏作者

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

抵扣说明:

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

余额充值