datatracker.ietf.org
Sign in
Version 5.4.0, 2014-04-22
Report a bug

TCP-Friendly Multicast Congestion Control (TFMCC): Protocol Specification
RFC 4654

Document type: RFC - Experimental (August 2006; Errata)
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 4654 (Experimental)
Responsible AD: Magnus Westerlund
Send notices to: rmt-chairs@tools.ietf.org, mankin@psg.com

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

[include full document text]