some traditional congestion control algorithm

Introduction of some traditional cc algorithms(before 2012). They are the basis of modern cc algo.
Most of the ideas used now have appeared from them.

new reno & cubic

naive, based on loss, AIMD. In congestion avoidance, reno linear increases, bictcp use binary search, cubic uses cubic function.

compound tcp

2 windows add up, one is AIMD like reno, another based on delay.

vegas

compare the expect and actual rate.

according to the diff to change the cwnd.
Change in fast recovery: when receiving the first duplicated ACK, check it if loss.

veno

combine of vegas & reno. Try to distinguish random loss and congestion loss.
Like vegas, compute the diff. In a loss event, if diff is small, regard the loss as random loss, else congestion loss. When diff is small, MD factor $\beta = 0.2$, with an ACK $cwnd = cwnd+1/cwnd$. If the diss is large, $\beta=0.5$, with TWO ACK $cwnd = cwnd+1/cwnd$.

illinios

similar to reno, illinios uses AIMD. However, the parameters $\alpha$ and $\beta$ are functions of average queueing delay.

fast tcp

queueing delay as target. Details need furthing reading.:(