The TCP-Friendly Website
IntroductionThis website summarizes some of the recent work on congestion control algorithms for non-TCP based applications, with a specific focus on those congestion control schemes that use the "TCP-friendly" equation, (that is, maintaining the arrival rate to at most some constant over the square root of the packet loss rate). All applications, no matter how large or small, should perform adaptive congestion control. There are several reasons for this:
A number of recent efforts have studied TCP-Friendly means of congestion control for non-TCP applications. This website is a compendium of known research on the subject. As with other websites of this sort, it is largely maintained by contributions from the community, so if you know of work in this area, please send it along to us.
Links to papers documenting the TCP-Friendly algorithm and
experiences with it
This short web paper describes a simple algorithm which can be used
by rate-based applications and should share bandwidth fairly with TCP
This paper outlines some experimental results using a TCP-friendly
rate control algorithm in an audio application.
This paper presents the loss-delay based adjustment algorithm (LDA)
for adapting the transmission rate of multimedia
applications to the congestion level of the network. The LDA
algorithm was designed to reduce losses and improve
utilization in a TCP-friendly way that avoids starving
competing TCP connections. It relies on the end-to-end Real
Time Transport Protocol (RTP) for feedback information. In
addition, we enhanced RTP with functionalities for
determining the bottleneck bandwidth of a connection.
This study presents a new scheme for adapting the transmission rate of
multimedia applications to the congestion level of the network. The scheme
is called the direct adjustment algorithm (DAA). It is based on the
TCP congestion control mechanisms and relies on the end-to-end Real
Time transport Protocol (RTP) for feedback information. Our
investigations of the DAA scheme suggest the efficiency of the scheme
in utilizing network resources and decreasing loss ratios. Also,
the scheme is shown to be fair towards competing TCP traffic.
This paper presents a congestion control algorithm for
layered multicast traffic that is based on the TCP-friendly
equation in combination with synchronization points and
This paper describes experiments with an Internet video transport
scheme that combines a low-delay TCP-friendly transport protocol with
an error-resilient layered compression mechanism.
This paper presents
an end-to-end rate-based congestion control
mechanism based on an additive-increase, multiplicative-decrease algorithm
that exhibits TCP-friendly behavior over a large time-scale.
This paper presents a congestion control algorithm for unicast traffic
using the authors' modified version of the TCP-friendly equation.
After each round of M time units, the sender estimates the roundtrip
time. If any packets were lost in that round, then the sender sets the
sending rate to that specified by the TCP-friendly equation for the
loss rate experienced during that round. If no packets were lost in
that round, then the sender doubles the sending rate. Simulations and
experiments explore the behavior of this algorithm. The use of fixed
rounds is a baseline policy against which alternate techniques for
estimation of the packet loss rate will be compared.
This paper includes an evaluation of the adaptive range of
congestion control characterized by
of the TCP-friendly equation.
Links to papers analyzing TCP performance and the 1/sqrt(p) formula
Section 5 of this paper
introduces a simple "steady-state" model for analyzing
additive-increase/multiplicative-decrease algorithms, and explores the
relationship between the steady-state packet drop rate and connection
roundtrip times, numbers of congested gateways, and window
Section 3.3 of this paper discusses the relationship
between TCP throughput and roundtrip times, and discusses a modified
TCP window increase algorithm that would eliminate the dependence on
the roundtrip time.
This paper provides a detailed derivation of the 1/sqrt(p)
performance model for TCP Congestion Avoidance. August 1996.
This paper is very similar in content to Stationary Behavior (above).
The Appendix of this paper discusses the "TCP-friendly" equation in some detail, gives the derivation in a simple "steady-state" model, and compares the equation with results from simulations.
Section 3.4 of this paper derives the formula
for throughput vs. loss taking into account reverse path
congestion. The constant in the p^(-1/2) result is modified
by the ratio of transmission time of data packets divided
by transmission time of ack packets.
This paper explores
the relationship between TCP throughput and roundtrip times for
a range of TCP window increase/decrease algorithms.
Section 4 of this paper derives an approximate formula for loss vs. throughput.
Section 5 has an approximate analysis of multiple TCP connections
with different round-trip times sharing a bottleneck link.
This paper compares TCP performance to the inverse-square-root of
While throughput is proportional to 1/sqrt(p) for
additive-increase/multiplicative-decrease window algorithms, for "p"
the packet drop rate, throughput is proportional to 1/p for
(URL to be posted shortly.)
This paper gives a
characterization of TCP's steady state throughput, as a function of loss
rate and RTT, that takes into account retransmit timeouts.
This report provides an in-depth stochastic analysis following the
ideas in TR98-008 above.
Jamshid Mahdavi <mahdavi at novell.com>
< floyd at acm.org>
(with help from many others)
Jamshid research is now fully supported by Novell.
Jamshid's work at PSC was generously funded by the National
Last modified: January, 1999
Revised: Wednesday, 17-Feb-99 10:50:47 EST