TCP-BFA: Buffer Fill Avoidance

The main goal of a congestion avoidance algorithm is to maximize throughput and minimize delay (Jain & Ramakrishnan 1988). While TCP Reno achieves high throughput, it tends to consume all of the buffer space at the bottle­ neck router, causing large delays. In this paper we propose a simple scheme that modifies TCP Reno's congestion avoidance algorithm by throttling back the opening of the congestion window once an increase in round-trip time is perceived. We call the scheme TCP-BFA and have implemented it in the ns network simulator and in BSD 4.4. We show through simulations and mea­ surements of real traffic on the Internet that TCP-BFA results in lower router buffer occupancies and lower delays while maintaining a throughput similar to that of TCP Reno. The advantages of TCP-BFA are (1) smaller router buffer size requirements, (2) an order of magnitude improvement in network power (the ratio of throughput to delay), (3) fewer packet losses, (4) faster detection of multiple losses due to lower retransmission timeout estimates, and (5) smoother traffic patterns.

[1]  V. Jacobson,et al.  Congestion avoidance and control , 1988, CCRV.

[2]  Jon Crowcroft,et al.  A new congestion control scheme , 1991 .

[3]  Raj Jain,et al.  Congestion Avoidance in Computer Networks with a Connectionless Network Layer, Part I: Concepts, Goals and Methodology , 1988, ArXiv.

[4]  Janey C. Hoe Improving the start-up behavior of a congestion control scheme for TCP , 1996, SIGCOMM 1996.

[5]  Zhen Liu,et al.  Evaluation of TCP Vegas: emulation and experiment , 1995, SIGCOMM '95.

[6]  Larry Peterson,et al.  TCP Vegas: new techniques for congestion detection and avoidance , 1994, SIGCOMM 1994.

[7]  Srinivasan Keshav A control-theoretic approach to flow control , 1991, SIGCOMM 1991.

[8]  Raj Jain,et al.  A delay-based approach for congestion avoidance in interconnected heterogeneous computer networks , 1989, CCRV.

[9]  K.W. Fendick,et al.  An approach to high-performance, high-speed data networks , 1991, IEEE Communications Magazine.

[10]  Jon Crowcroft,et al.  A new congestion control scheme: slow start and search (Tri-S) , 1991, CCRV.

[11]  Sally Floyd,et al.  TCP Selective Acknowledgement Options , 1996 .

[12]  Jon Crowcroft,et al.  Eliminating periodic packet losses in the 4.3-Tahoe BSD TCP congestion control algorithm , 1992, CCRV.

[13]  Sally Floyd,et al.  TCP and explicit congestion notification , 1994, CCRV.

[14]  Raj Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[15]  David Finkel,et al.  Book review: The Art of Computer Systems Performance Analysis by R. Jain (Wiley-Interscience, 1991) , 1990, PERV.

[16]  Matthew Mathis,et al.  Forward acknowledgement: refining TCP congestion control , 1996, SIGCOMM 1996.

[17]  Larry L. Peterson,et al.  TCP Vegas: End to End Congestion Avoidance on a Global Internet , 1995, IEEE J. Sel. Areas Commun..

[18]  Van Jacobson,et al.  A tool to infer characteristics of internet paths , 1997 .

[19]  Van Jacobson,et al.  TCP Extensions for High Performance , 1992, RFC.

[20]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM 1989.

[21]  Van Jacobson,et al.  Random early detection gateways for congestion avoidance , 1993, TNET.