TCP Friendly Rate Control

From Wikipedia, the free encyclopedia
Jump to: navigation, search

TCP-Friendly Rate Control (TFRC) is a congestion control mechanism designed for unicast flows operating in an Internet environment and competing with TCP traffic. The goal is to compete fairly with TCP traffic on medium timescales, but to be much less variable than TCP on short timescales.

TCP congestion control works by maintaining a window of packets that have not yet been acknowledged. This window is increased by one packet every round trip time if no packets have been lost, and is decreased by half if a packet loss is detected. Thus TCP's window (and hence throughput) is a function of the losses observed in the network and the round trip time experienced by the flow.

The idea behind TFRC is to measure the loss probability and round trip time and to use these as the parameters to a model of TCP throughput. The expected throughput from this model is then used to directly drive the transmit rate of a TFRC flow.

RFC 5348 - TCP Friendly Rate Control (TFRC): Protocol Specification