2002 FREENIX Track Technical Program - Abstract
Congestion Control in Linux TCP
University of Helsinki, Department of Computer Science;
Alexey Kuznetsov, Institute of Nuclear Research at Moscow
The TCP protocol is used by the majority of the network applications
on the Internet. TCP performance is strongly influenced by its
congestion control algorithms that limit the amount of transmitted
traffic based on the estimated network capacity and utilization.
Because the freely available Linux operating system has gained
popularity especially in the network servers, its TCP implementation
affects many of the network interactions carried out today. We
describe the fundamentals of the Linux TCP design, concentrating on
the congestion control algorithms. The Linux TCP implementation
supports SACK, TCP timestamps, Explicit Congestion Notification, and
techniques to undo congestion window adjustments after incorrect
In addition to features specified by IETF, Linux has implementation
details beyond the specifications aimed to further improve its
performance. We discuss these, and finally show the performance
effects of Quick acknowledgements, Rate-halving, and the algorithms
for correcting incorrect congestion window adjustments by comparing
the performance of Linux TCP implementing these features to the
performance achieved with an implementation that does not use the
algorithms in question.
- View the full text of this paper in
PDF, and Postscript.
The Proceedings are published as a collective work, © 2002 by the USENIX Association. All Rights Reserved. Rights
to individual papers remain with the author or the author's employer.
Permission is granted for the noncommercial reproduction of the complete
work for educational or research purposes. USENIX acknowledges all
trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.