TCP Congestion Avoidance Algorithm Identification | IEEE Journals & Magazine | IEEE Xplore

TCP Congestion Avoidance Algorithm Identification


Abstract:

The Internet has recently been evolving from homogeneous congestion control to heterogeneous congestion control. Several years ago, Internet traffic was mainly controlled...Show More

Abstract:

The Internet has recently been evolving from homogeneous congestion control to heterogeneous congestion control. Several years ago, Internet traffic was mainly controlled by the traditional RENO, whereas it is now controlled by multiple different TCP algorithms, such as RENO, CUBIC, and Compound TCP (CTCP). However, there is very little work on the performance and stability study of the Internet with heterogeneous congestion control. One fundamental reason is the lack of the deployment information of different TCP algorithms. In this paper, we first propose a tool called TCP Congestion Avoidance Algorithm Identification (CAAI) for actively identifying the TCP algorithm of a remote Web server. CAAI can identify all default TCP algorithms (e.g., RENO, CUBIC, and CTCP) and most non-default TCP algorithms of major operating system families. We then present the CAAI measurement result of about 30 000 Web servers. We found that only 3.31 % ~ 14.47 % of the Web servers still use RENO, 46.92% of the Web servers use BIC or CUBIC, and 14.5 % ~ 25.66 % of the Web servers use CTCP. Our measurement results show a strong sign that the majority of TCP flows are not controlled by RENO anymore, and a strong sign that the Internet congestion control has changed from homogeneous to heterogeneous.
Published in: IEEE/ACM Transactions on Networking ( Volume: 22, Issue: 4, August 2014)
Page(s): 1311 - 1324
Date of Publication: 09 September 2013

ISSN Information:


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 Families
Operating 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]

Contact IEEE to Subscribe

References

References is not available for this document.