简述拥塞控制的四种基本算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简述拥塞控制的四种基本算法相关的知识,希望对你有一定的参考价值。

计算机网络里面的

慢开始,拥塞避免,快重传,快恢复.
首先要明白什么TCP协议可靠传输,还有什么是拥塞窗口:表示当前发送数据的上限,但是它会根据网络好坏状况动态改变.
慢开始:简单的说,开始传输时,传输的数据由小到大递增到一个值(即发送窗口由小到大(指数增长)逐渐增大到拥塞窗口的数值).
拥塞避免:数据发送出去,并发到接收方发回来的确认收到,拥塞窗口每次值加1地线性增大.
快重传:数据传输时(数据被分成报文,每个报文都有个序号),中间的一部分丢失接收方没收到,接收方连续接到后面的数据,则发回对丢失前的数据的重复确认,这样发送方就知道有部分数据丢失了,于是从丢失出重传数据.
快恢复:快恢复是与快重传配合的算法,在发生数据丢失时,发送方收到接收方发回的三个重复确认信息时,就把每次传输的数据量减为原来的一半,拥塞窗口也修改为这个值,然后又开始拥塞避免的算法.
参考技术A 慢开始,拥塞避免,快重传,快恢复

计算机网络——拥塞控制

一、流量控制与拥塞控制

  在流量控制中,发送方发送的数据是由接收方决定,而在拥塞控制中,由发送方自己通过检测网络状况而决定。

二、拥塞控制的四个算法

1. 慢开始算法

  刚开始发送TCP报文段时,先令拥塞窗口cwnd=1 (1个最大报文段长度MSS),逐次加倍

  当到达慢开始门限时,改用拥塞避免算法。

2. 拥塞避免算法

  cwnd每次加1

  当网络出现拥塞时,慢开始门限ssthresh变为此时拥塞窗口cwnd的一半,cwnd 变为1,开始使用慢开始算法。

技术分享图片

 

3. 快重传算法

  当出现三个重复的ACK报文时,直接重传对方尚未接收到的报文段

4.快恢复

  当出现三个重复的ACK报文时,开始使用快恢复算法,将拥塞窗口变为原来的一半,开始使用拥塞避免算法。 

技术分享图片

 

以上是关于简述拥塞控制的四种基本算法的主要内容,如果未能解决你的问题,请参考以下文章

TCP拥塞控制及BBR原理分析

TCP拥塞控制

计算机网络——拥塞控制

Google 实时流拥塞控制算法GCC

TCP拥塞控制算法之NewReno和SACK

TCP协议—拥塞控制