Home

TFRC

TFRC, or TCP-Friendly Rate Control, is a congestion control mechanism designed for streaming multimedia and other UDP-based traffic that seeks to share network bottlenecks fairly with TCP flows. Unlike TCP’s window-based control, TFRC models the sending rate as a function of network loss and delay, providing a steady, fluid rate that responds to congestion signals rather than reacting to each acknowledgement.

The sender maintains estimates of the loss-event rate p, the round-trip time RTT, and the maximum segment

TFRC is designed to be fair with TCP flows sharing the same bottleneck link and similar RTT;

Limitations include sensitivity to accurate estimation of p and RTT, potential underutilization in highly variable networks,

size
MSS.
The
sending
rate
R
is
computed
from
a
TCP
throughput
model,
typically
expressed
as
R
=
MSS
/
(
RTT
*
sqrt(2p/3)
+
RTO
*
min(1,
3
sqrt(3p/8)
p)
).
When
a
loss
event
is
detected,
the
rate
is
reduced
according
to
the
model
and
then
gradually
increased
according
to
the
TCP-friendly
rule
until
the
next
loss
event.
RTT
is
smoothed
to
reflect
current
latency;
p
is
estimated
from
observed
loss
events
over
time.
since
it
uses
the
TCP
throughput
model,
it
tends
to
yield
throughput
similar
to
a
TCP
flow
under
equivalent
conditions,
while
allowing
smoother
sending
rates
that
are
better
suited
for
streaming.
It
is
commonly
used
to
regulate
UDP-based
data
transfers
that
require
predictable
bandwidth.
and
the
assumption
of
relatively
steady-state
congestion.
TFRC
continues
to
influence
congestion
control
discussions
for
real-time
and
streaming
applications.