关于TCP三个冗余ACK启动快速重传

转自:https://blog.csdn.net/u010202588/article/details/54563648

1.分析

收到冗余ACK的原因:

  • 收到后面的乱序包
  • 未收到包

未收到包的原因:

  • 包的校验和出错
  • 网络拥塞
  • 断网

那么目前遇到的问题是,收到了冗余ACK,既然能够收到ACK,大概率说明网络没有拥塞,更可能是收到乱序包的原因,也可能是当前包校验和出错了。

所以就不用去做网络拥塞控制那一套,比如说cwnd/2,发送速率减半。

综上,在超时时间内收到<=2个ACK,则认为大概率是乱序问题;

收到>=3个冗余ACK,大概率丢包或包出错,则不降低发送速度,快速重传一次,如果收到正确的ACK,那么一切正常,如果还是冗余ACK,那么认为是网络拥塞,降低发送速度。

原文地址:https://www.cnblogs.com/BlueBlueSea/p/14495219.html