I. Introduction
The INTERNET has recently been evolving from homogeneous congestion control to heterogeneous congestion control. A few years ago, Internet traffic was mainly controlled by the same TCP congestion control algorithm—the standard Additive-Increase-Multiplicative-Decrease algorithm [2], [3] which is usually called RENO.
In this paper, we use RENO to refer to the traditional congestion control algorithm used in both Reno, NewReno, and SACK.
However, Internet traffic is now controlled by multiple different TCP algorithms. For example, Table I lists all the TCP algorithms available in two major operating system families: Windows family (e.g., Windows XP/Vista/7/Server) and Linux family (e.g., RedHat, Fedora, Debian, Ubuntu, SuSE). Both Windows and Linux users can change their TCP algorithms with only a single line of command. Linux developers can even design and then add their own TCP algorithms. TCP Algorithms Available in Major Operating System FamiliesOperating Systems | TCP algorithms |
---|---|
Windows family | RENO [2], and CTCP [8] |
Linux family | RENO, BIC [12], CUBIC [13], HSTCP [14], HTCP [15], HYBLA [16], ILLINOIS [17], LP [18], STCP [19], VEGAS [20], VENO [21], WESTWOOD+ [22], and YEAH [23] |