TCP-Friendly Multicast Congestion Control (TFMCC): Protocol Specification
RFC 4654
Network Working Group J. Widmer
Request for Comments: 4654 DoCoMo Euro-Labs
Category: Experimental M. Handley
UCL
August 2006
TCP-Friendly Multicast Congestion Control (TFMCC):
Protocol Specification
Status of This Memo
This memo defines an Experimental Protocol for the Internet
community. It does not specify an Internet standard of any kind.
Discussion and suggestions for improvement are requested.
Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document specifies TCP-Friendly Multicast Congestion Control
(TFMCC). TFMCC is a congestion control mechanism for multicast
transmissions in a best-effort Internet environment. It is a
single-rate congestion control scheme, where the sending rate is
adapted to the receiver experiencing the worst network conditions.
TFMCC is reasonably fair when competing for bandwidth with TCP flows
and has a relatively low variation of throughput over time, making it
suitable for applications where a relatively smooth sending rate is
of importance, such as streaming media.
Widmer & Handley Experimental [Page 1]
RFC 4654 TFMCC: Protocol Specification August 2006
Table of Contents
1. Introduction ....................................................3
1.1. Related Documents ..........................................4
1.2. Environmental Requirements and Considerations ..............4
2. Protocol Overview ...............................................5
2.1. TCP Throughput Equation ....................................6
2.2. Packet Contents ............................................7
2.2.1. Sender Packets ......................................8
2.2.2. Feedback Packets ....................................9
3. Data Sender Protocol ...........................................10
3.1. Sender Initialization .....................................10
3.2. Determining the Maximum RTT ...............................10
3.3. Adjusting the Sending Rate ................................11
3.4. Controlling Receiver Feedback .............................12
3.5. Assisting Receiver-Side RTT Measurements ..................14
3.6. Slowstart .................................................15
3.7. Scheduling of Packet Transmissions ........................15
4. Data Receiver Protocol .........................................16
4.1. Receiver Initialization ...................................17
4.2. Receiver Leave ............................................17
4.3. Measurement of the Network Conditions .....................17
4.3.1. Updating the Loss Event Rate .......................17
4.3.2. Basic Round-Trip Time Measurement ..................17
4.3.3. One-Way Delay Adjustments ..........................18
4.3.4. Receive Rate Measurements ..........................19
4.4. Setting the Desired Rate ..................................19
4.5. Feedback and Feedback Suppression .........................20
5. Calculation of the Loss Event Rate .............................22
5.1. Detection of Lost or Marked Packets .......................22
5.2. Translation from Loss History to Loss Events ..............23
5.3. Inter-Loss Event Interval .................................24
5.4. Average Loss Interval .....................................24
5.5. History Discounting .......................................25
5.6. Initializing the Loss History after the First Loss Event ..27
6. Security Considerations ........................................28
7. Acknowledgments ................................................29
8. References .....................................................29
8.1. Normative References ......................................29
8.2. Informative References ....................................29
Widmer & Handley Experimental [Page 2]
RFC 4654 TFMCC: Protocol Specification August 2006
1. Introduction
This document specifies TCP-Friendly Multicast Congestion Control
(TFMCC) [3]. TFMCC is a source-based, single-rate congestion control
scheme that builds upon the unicast TCP-Friendly Rate Control
mechanism (TFRC) [4]. TFMCC is stable and responsive under a wide
range of network conditions and scales to receiver sets on the order
of several thousand receivers. To support scalability, as much
congestion control functionality as possible is located at the
Show full document text