版权声明:本文为博主原创文章,转载请注明博客地址: https://cloud.tencent.com/developer/article/1433299
从拥塞控制原理来看,我们有两种方案来解决TCP拥塞控制问题。但是IP层并不提供显式的网路拥塞控制反馈。
TCP采用的是方式是让每一个发送方根据感受的网络拥塞程度来限制其向连接发送流量的速率。
拥塞控制
TCP拥塞控制常被称为加性增,乘性减。
这样的方式能够在拥塞的情形下,快速减少发送速率,从而避免严重的拥塞现象出现。
慢启动
TCP连接在刚开始建立的阶段,发送速率起始慢,TCP希望能够快速找到可以的带宽数。在慢启动阶段以指数增长。如下图所示。
图中蓝色的曲线是TCP在早期的时候采用的策略,黑色的曲线是后来改进的TCP。
TCP连接中,收到3次冗余ACK远比等待时间超时下的网络状况好的多,当收到3次冗余ACK的时候,就是像上图黑色曲线部分;当发生timeout事件的时候,congWin变为1.
快速恢复
当拥塞发生的时候,那么TCP应当降低速率。如果发生的事件是超时事件,那么如上图所示,降低到1,为了快速恢复TCP速率。我们采用的策略是重启慢启动,让其迁入慢启动状态。
快速恢复不是TCP必要的部分。