TCP协议的拥塞控制


拥塞控制顾名思义,即用来尽可能的避免拥塞的发生 或者 发生拥塞后缓解拥塞的一种机制

一、何为拥塞?

通俗来说,就是在某一时刻,网络资源和需求发生了供不应求,从而使网络的性能变低的情况,就是拥塞的发生。
为了避免这种情况,引入了拥塞控制,用来避免拥塞和当拥塞发生时调整网络情况的一种机制。

二、拥塞控制

拥塞控制是一个全局性的过程,通过慢开始、拥塞避免、快重传。快恢复四个算法来实现两点目标:1、尽可能的避免拥塞发生,同时保证网络的性能,增大拥塞窗口;2、发生拥塞后要立刻缓和网络情况,减小拥塞窗口,防止拥塞情况变的更糟糕。

贯穿四个算法全过程的一个重要的状态变量,就是窗口值cwnd,被称为拥塞窗口。会随着当前网络情况而动态的发生变化。

此外,还有一个较为关键的变量值,叫门限值ssthresh,具体用法参照下面四个过程

1.慢开始

注意:慢开始并不慢,反而是一个快速增长的过程
慢开始就是试探性的先把少量的字节注入到网络中,然后拥塞窗口cwnd以2倍的速度增加,当拥塞窗口大于等于门限值时(cwnd>=ssthresh),结束慢开始算法,则开始第二个算法——拥塞避免。

2.拥塞避免

拥塞避免比慢开始的增长速度要慢许多,在拥塞避免算法中,拥塞窗口每轮只增加1,但还是在缓慢的增长着;一旦出现超时重传,则将门限值降为当前拥塞窗口值的一半(ssthresh=cwnd/2),然后拥塞窗口也等于当前门限值。且结束拥塞避免算法,开始执行快恢复算法。

3.快重传

当发送方连续收到三个重复的确认数据包时,就应该立刻重传对方未收到的报文段。这就是快重传算法。

4.快恢复

快重传和快恢复是一起的,重传后,拥塞窗口值等于减半计算后的门限值,然后拥塞窗口执行拥塞避免算法逐渐线性增长,短时间内就恢复到较快的传输速率,并且有效的避免了拥塞。
这就是拥塞控制的过程,通过四个算法,有效的让网络传输效率和性能提高。
根据下图,可以更直观的理解拥塞控制的过程!
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值