TCP Vegas uses variations in measured throughput as an indication of congestion, in addition to packet loss. It also uses finer timer granularity compared to its predecessors. Otherwise its heritage is TCP Reno.
Implementations
Linux implements the Vegas algorithm as one option in its modular TCP congestion control framework. An issue in connection with Delayed Acknowledgements was found by D.X. Wei (see references), and was apparently fixed in what will become Linux 2.6.20.
A proposed OpenSolaris project foresees the implementation of TCP Vegas and several other congestion control algorithms for OpenSolaris.
An initial implementation of TCP Vegas for FreeBSD was announced in February 2010 along with other interesting tools.
Tuning
The TCP Vegas Implementation for Linux Web page has a few hints on how to tune the various parameters of TCP Vegas.
Variants
TCP Veno is a hybrid between Vegas and Reno TCP.
TCP-LP implements a "low-priority" service that defers to other TCPs when there is congestion.
References
- TCP Vegas: End to End Congestion Avoidance on a Global Internet, L. S. Brakmo and L. L. Peterson, Oct. 1995 (PDF)
- Vegas Home Page, http://www.cs.arizona.edu/projects/protocols/
- A TCP Vegas Implementation for Linux, N. Caldwell and B. Bak, Web page 1999 - 2004, http://neal.nu/uw/linux-vegas/
Analysis and Comparison of TCP Reno and Vegas, J. Mo, R.J. La, V. Anantharam, J. Walrand, July 1998, http://netlab.caltech.edu/FAST/references/Mo_comparisonwithTCPReno.pdf
Known problems in TCP algorithms in Linux 2.6.16.3, D.X. Wei, June 2006, http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html
– Main.SimonLeinen - 28 Nov 2006 - 07 Feb 2011