Capacity Estimation

Traditionally, TCP uses a conservative slow-start mechanism that gradually opens the congestion window to match the available bandwidth. With slow start, TCP takes several round trips (the number equals a binary log of the bandwidth x delay product in the absence of packet losses) to reach the steady state.

We use a combination of the packet-pair probe technique and packet pacing to enable TCP to reach the steady-state within a very small number of round trips. The packet-pair probe technique is used to determine an initial approximate window estimate. The estimate is further refined by the use of pacing. Furthermore, pacing reduces congestion in routers along the path.

Technical reports from this study (and an earlier simulation study) are available below. The implementation of Paced TCP and packet-pair estimation is available here, as source code patches for FreeBSD 4.1; packet-pair and pacing are selectable as kernel configuration variables at build time. The README file is available separately here.


Documentation

  1. BBN-TR-8339, A Swifter Start for TCP, Craig Partridge, Dennis Rockwell, Mark Allman, Rajesh Krishnan, and James Sterbenz, BBN Technical Report No. 8339, March 22, 2002. Available here in [Postscript] or [PDF].
  2. BBN-TM-1218, A Simulation Study of Paced TCP, Joanna Kulik, Robert Coulter, Dennis Rockwell, and Craig Partridge, BBN Technical Memorandum No. 1218, August 12, 1999. Available from http://www.ir.bbn.com/documents/techmemos/index.html

People Involved