TCP-Friendly Multicast Congestion Control (TFMCC)

TFMCC is an equation-based multicast congestion control mechanism that extends the TCP-friendly TFRC protocol from the unicast to the multicast domain. The key challenges in the design of TFMCC lie in scalable round-trip time measurements, appropriate feedback suppression, and in ensuring that feedback delays in the control loop do not adversely affect fairness towards competing flows. A major contribution is the feedback mechanism, the key component of end-to-end multicast congestion control schemes. We improve upon the well-known approach of using exponentially weighted random timers by biasing feedback in favor of low-rate receivers while still preventing a response implosion. We evaluate the design using simulation, and demonstrate that TFMCC is both TCP-friendly and scales well to multicast groups with thousands of receivers. We also investigate TFMCC's weaknesses and scaling limits to provide guidance as to application domains for which it is well suited.

There also exists a version of TFRC/TFMCC for flows that change the packet size rather than the packet rate to adapt their rate (VP-TFRC/VP-TFMCC).

TCP-Friendly Multicast Congestion Control (TFMCC): Protocol Specification (Postscript, ASCII).
Jörg Widmer and Mark Handley, Internet Draft draft-ietf-rmt-bb-tfmcc-07.txt, May 2006
Changes from draft-ietf-rmt-bb-tfmcc-06.txt
Changes from draft-ietf-rmt-bb-tfmcc-05.txt
Changes from draft-ietf-rmt-bb-tfmcc-04.txt
Changes from draft-ietf-rmt-bb-tfmcc-03.txt
Changes from draft-ietf-rmt-bb-tfmcc-02.txt
Changes from draft-ietf-rmt-bb-tfmcc-01.txt
Changes from draft-ietf-rmt-bb-tfmcc-00.txt

Extending Equation-based Congestion Control to Multicast Applications (Postscript, PDF).
Jörg Widmer and Mark Handley, Proc. ACM SIGCOMM (San Diego, CA), Aug. 2001

Related papers:

Extremum Feedback for Very Large Multicast Groups (Postscript,PDF).
Jörg Widmer and Thomas Fuhrmann, Technical Report TR-2001-012, Department for Mathematics and Computer Science, University of Mannheim, June 2001

The TFMCC code for the ns network simulator is available. Please read the instructions on how to add the code to an existing ns installation. Bug reports are of course very welcome.

(NOTE: There are also two older versions available, an implementation that corresponds to the IETF draft and an even older version used for the simulations in the SIGCOMM paper. Don't use these versions unless you have to. They probably contain a few bugs that have been fixed in the newest version.)