TCP协议的拥塞控制

目录

概述:

拥塞控制的四种算法:

1.慢开始:

2.拥塞避免:

3.快重传:

4.快恢复:


概述:

在网络中,如果出现大量的数据访问情况时,超过了该资源所能提供的可用部分,就会照成网络拥塞,这时对拥塞的管理和控制就显得尤为重要;拥塞控制就是为了防止大量的数据进入到网络中,使得网络中的路由器或链路不会超过负荷,造成网络拥塞。

拥塞控制的四种算法:

1.慢开始:

在不知道网络的情况下,先探测一下,即由小到大逐渐增大发送窗口,也就是由小到大逐渐增大拥塞窗口数值。(加倍发送)

2.拥塞避免:

慢开始每个轮次都让拥塞窗口(cwnd)加倍,这会使得拥塞窗口增长速度非常快,从而使得发送方发送的速度增长速度过快,网络拥塞的可能性也就更高。因此需要设置一个慢开始门限值(ssthresh),当拥塞窗口>= 门限值时,进入拥塞避免,每个轮次只将 拥塞窗口加 1,降低拥塞窗口的增长速度。如果出现了超时,则令门限值 = 拥塞窗口 / 2,然后开始执行快恢复。

3.快重传:

在接收方,要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。但是会出现一些问题,在发送方收到接收方的三次重复确认时,发送方还在发送数据,这时容易导致发送方在这个阶段如果丢失数据,不知道丢失了哪个数据,这时我们会引入SACK方法,用来解决这个问题。

4.快恢复:

当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门限 门限值减半。减半后由于此时发送方觉得网络是正常的,所以现在不执行慢开始算法,随后开始执行拥塞避免算法,即“加法增大”,使拥塞窗口缓慢地线性增大。在TCP Tahoe版本(过时版本)时才会在门限值减半时,从慢开始开始逐渐增大;在TCP Reno版本(新版本)中使用的就是上述的方法。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值