TCP Westwood plus
TCP Westwood+ is a sender-side only modification of the TCP Reno protocol stack that optimizes the performance of TCP congestion control over both wireline and wireless networks. TCP Westwood+ is based on end-to-end bandwidth estimation to set congestion window and slow start threshold after a congestion episode, that is, after three duplicate acknowledgments or a timeout. The bandwidth is estimated by properly low-pass filtering the rate of returning acknowledgment packets. The rationale of this strategy is simple: in contrast with TCP Reno, which blindly halves the congestion window after three duplicate ACKs, TCP Westwood+ adaptively sets a slow start threshold and a congestion window which takes into account the bandwidth used at the time congestion is experienced. TCP Westwood+ significantly increases throughput over wireless links and fairness compared to TCP Reno/New Reno in wired networks.
TCP Westwood+ is an evolution of TCP Westwood. The main idea of Westwood TCP, which is an end-to-end bandwidth estimation for setting control windows after congestion, was proposed by Saverio Mascolo. He came out with the idea after reading the chapter on TCP congestion control in the book Data Networks by Larry Peterson. The first implementation of TCP Westwood in ns2 was done at University of California at Los Angeles (UCLA) in 1999. The name "Westwood" was chosen by S. Mascolo as due homage to the UCLA area of Westwood where he was a visiting researcher at that time. Main collaborators were prof. Mario Gerla, Dr. Claudio Casetti and Dr. Medy Senadidi. After that, Saverio Mascolo went back to Italy and "his evolution of Westwood TCP" was named Westwood+. The main novelty of Westwood+ was the algorithm used to estimate the available bandwidth end-to-end. In fact, it was soon discovered that the Westwood bandwidth estimation algorithm did not work well in the presence of reverse traffic due to ack compression. This phenomenon was explained in terms of aliasing effects. The new version Westwood+ was implemented for the first time in the kernel of Linux 2.2 by Roberto Ferorelli and in the kernel of Linux 2.4 and 2.6 by Angelo Dell'Aera, both working at Politecnico di Bari as undergraduate students in 2003 and 2004.
Main references are:
Saverio Mascolo, Claudio Casetti, Mario Gerla, M. Y. Sanadidi and Ren Wang
TCP Westwood: Bandwidth Estimation for Enhanced Transport over Wireless Links
Proc. of the ACM Mobicom 2001, Rome, Italy, July 16-21 2001.
L. A. Grieco and S. Mascolo
Performance evaluation and comparison of Westwood+, New Reno and Vegas TCP congestion control
ACM Computer Communication Review, April 2004, Vol. 34(2).
S. Mascolo, G. Racanelli
Testing TCP Westwood+ over Transatlantic Links at 10 Gigabit/second rate
Third International Workshop on Protocols for Fast Long-Distance Networks (PFLDNET05), Ecole Normale Supérieure, Lyon, France, February 3,4 2005.
- TCP Westwood+ Home Page.