【计算机网络】TCP中的拥塞控制机制

1.什么是拥塞:

1)在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏,这种情况就叫做拥塞。
2)在计算机网络中数位链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。
3)若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降。
*注:拥塞控制和流量控制不同,前者是一个全局性的过程,而后者指点对点通信量的控制。【计算机网络】TCP中的拥塞控制机制
当输入的负载到达一定程度 吞吐量不会增加,即一部分网络资源会丢失掉,网络的吞吐量维持在其所能控制的最大值,转发节点的缓存不够大这造成分组的丢失是拥塞的征兆。

2.拥塞控制相关概念

【计算机网络】TCP中的拥塞控制机制

3.拥塞控制过程包括以下四种:

(1)慢启动:不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小;
(2)拥塞避免:拥塞避免算法让拥塞窗口缓慢增长,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍,这样拥塞窗口按线性规律缓慢增长。
【计算机网络】TCP中的拥塞控制机制
(3). 快重传:快重传要求接收方在收到一个 失序的报文段 后就立即发出 重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时捎带确认。快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期。【计算机网络】TCP中的拥塞控制机制
(4). 快恢复:快重传配合使用的还有快恢复算法,当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把ssthresh门限减半,但是接下去并不执行慢开始算法:因为如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算法,而是将cwnd设置为ssthresh的大小,然后执行拥塞避免算法。

【计算机网络】TCP中的拥塞控制机制