TCP拥塞控制算法是令TCP协议保持高效率传输的重要设计,不过由于大多数人平时并不需要关心它,大家并不会深入去了解各种拥塞协议之间的差异。提到TCP拥塞控制算法,总令人想到一大堆专业名词,例如拥塞窗口、重传、丢包、RTT……等等,不过其本质可以用”排队论”(Queuing Theory)进行解释。本文将尝试用通俗易懂的方式讲解TCP Vegas算法的设计与实现(其他拥塞控制算法其本质并无太大差异,在了解Vegas算法的基础上很容易触类旁通)
基本原理
先让我们看看维基百科上是如何解释TCP Vegas算法的:
TCP Vegas is a TCP congestion avoidance algorithm that emphasizes packet delay, rather than packet loss, as a signal to help determine the rate at which to send packets.——Wikipedia
TCP Vegas算法是一种拥塞避免算法,它通过关注延迟而不是关注丢包来决定如何调节发包率。






