TCP-Friendly Multicast Congestion Control (TFMCC): Protocol Specification
draft-ietf-rmt-bb-tfmcc-07
Revision differences
Document history
Date | Rev. | By | Action |
---|---|---|---|
2006-05-31
|
07 | Amy Vezza | State Changes to RFC Ed Queue from Approved-announcement sent by Amy Vezza |
2006-05-29
|
07 | Amy Vezza | IESG state changed to Approved-announcement sent |
2006-05-29
|
07 | Amy Vezza | IESG has approved the document |
2006-05-29
|
07 | Amy Vezza | Closed "Approve" ballot |
2006-05-26
|
07 | (System) | Removed from agenda for telechat - 2006-05-25 |
2006-05-25
|
07 | Amy Vezza | State Changes to Approved-announcement to be sent from IESG Evaluation by Amy Vezza |
2006-05-25
|
07 | Amy Vezza | State Changes to IESG Evaluation from Waiting for AD Go-Ahead by Amy Vezza |
2006-05-25
|
07 | Lisa Dusseault | [Ballot Position Update] New position, No Objection, has been recorded for Lisa Dusseault by Lisa Dusseault |
2006-05-25
|
07 | Jari Arkko | [Ballot Position Update] New position, No Objection, has been recorded for Jari Arkko by Jari Arkko |
2006-05-25
|
07 | David Kessens | [Ballot Position Update] New position, No Objection, has been recorded for David Kessens by David Kessens |
2006-05-25
|
07 | Mark Townsley | [Ballot Position Update] New position, No Objection, has been recorded for Mark Townsley by Mark Townsley |
2006-05-24
|
07 | (System) | State has been changed to Waiting for AD Go-Ahead from In Last Call by system |
2006-05-24
|
07 | Ross Callon | [Ballot comment] Lars has noted section 6, paragraph 4: It is possible that a receiver sends feedback claiming it has a very … [Ballot comment] Lars has noted section 6, paragraph 4: It is possible that a receiver sends feedback claiming it has a very low calculated rate. This will reduce the rate of the multicast session and might render it useless but obviously cannot hurt the network itself. Rendering the multicast session useless seems like an issue. It seems to me that for any application for which there is a minimum bandwidth that is needed for performance to be "acceptable", then there should be some level that if a receiver can't keep up with it, it will withdraw from the multicast group. On the other hand, this is the sort of thing that would come up in an experiment, and thus publishing this as "experimental" seems okay to me. |
2006-05-24
|
07 | Ross Callon | [Ballot Position Update] New position, No Objection, has been recorded for Ross Callon by Ross Callon |
2006-05-24
|
07 | Ted Hardie | [Ballot Position Update] New position, No Objection, has been recorded for Ted Hardie by Ted Hardie |
2006-05-24
|
07 | Dan Romascanu | [Ballot comment] I am concerned by the total lack of information related to manageability in such a document. This document is a building block definition … [Ballot comment] I am concerned by the total lack of information related to manageability in such a document. This document is a building block definition according to RFC 3048, which stipulates: 'Most building blocks should also have a management API, through which it communicates to SNMP and/or other management protocols.' However no information is provided in the document about the existence or need or lack of need for such a management API. I would expect to find in this document a management considerations section including: - management data model ( for configuration, status, performance monitoring, faults, etc.) - will there be any notifications associated with the congestion control mechanism? - what type of management operations are allowed (read-write? read-only, asynchronous notifications?) - recommended management protocols (SNMP? other?) - liveness detection and monitoring - impact on network operations |
2006-05-24
|
07 | Dan Romascanu | [Ballot Position Update] New position, No Objection, has been recorded for Dan Romascanu by Dan Romascanu |
2006-05-24
|
07 | Cullen Jennings | [Ballot Position Update] New position, No Objection, has been recorded for Cullen Jennings by Cullen Jennings |
2006-05-23
|
07 | Russ Housley | [Ballot Position Update] New position, No Objection, has been recorded for Russ Housley by Russ Housley |
2006-05-23
|
07 | Lars Eggert | [Ballot comment] Section 1.1., para. 1: In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and … [Ballot comment] Section 1.1., para. 1: In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in BCP 14, RFC 2119 [2] and indicate requirement levels for compliant TFMCC implementations. Cites RFC2119 but does not use the terms at all. Section 2., para. 9: The dynamics of TFMCC are sensitive to how the measurements are performed and applied and what feedback suppression mechanism is chosen. We recommend specific mechanisms below to perform and apply these measurements. Other mechanisms are possible, but it is important to understand how the interactions between mechanisms affect the dynamics of TFMCC. The transmission dynamics also depend on the dynamics of group membership. Imagine a group with high-bandwidth connections to the source, where a single low-bandwidth sink repeatedly enters and leaves the group. (Yeah, scenario is a bit constructed, I admit.) Section 2.2., para. 2: As TFMCC will be used along with a transport protocol, we do not specify packet formats, since these depend on the details of the transport protocol used. The recommended representation of the header fields is given below. Alternatively, if the computational overhead of a floating point representation is prohibitive, fixed point arithmetic can be used at the expense of larger packet headers. It seems important to point out that for a specific instance of TFMCC use, sender and receivers need to agree on ONE specific encoding for the fields/pieces of information below. Section 20, para. 0: o A timestamp ts_i indicating when the packet is sent. The resolution of the timestamp should typically be milliseconds and the timestamp should be an unsigned integer value no less than 16 bits wide. Nit: Proposed encoding can only represent values of ~65 seconds, which is less than the MSL. Is that an issue? o A receiver ID r and a copy of the timestamp tr_r' = tr_r of that receiver's last report, which allows the receiver to measure its RTT. If there is a delay ts_d between receiving the report from receiver r and sending the data packet, then tr_r' = tr_r + ts_d is included in the packet instead. The receiver ID is described in the next section. The resolution of the timestamp echo should be milliseconds and the timestamp should be an unsigned integer value no less than 16 bits wide. If separate instead of piggybacked congestion control messages are used, the packet needs to contain a list of receiver IDs with corresponding timestamps to allow a sufficient number of receivers to simultaneously measure their RTT. For the default values used for the feedback process this corresponds to a list size on the order of 10 to 20 entries. Nit: See previous comment. Also, the "10 to 20 entries" seem to impose some upper bound on receiver sets that can reasonably be supported. Some thoughts on this may be good. Section 2.2.2., para. 2: o A unique receiver ID r. In most cases the receiver ID will be supplied by the transport protocol, but it may simply be the IP address of the receiver. IP addresses as IDs are NOT guaranteed to be unique when NATs are in the path (RFC1918 addresses). Also, what about multiple sessions to the same receiver? Section 4.2., para. 1: A receiver that sends feedback but wishes to leave the TFMCC session within the next feedback round may indicate the pending leave by setting the receiver_leave flag in its report. If the leaving receiver is the CLR, the receiver_leave flag should be set for all the reports within the feedback round before the leave takes effect. Could this somehow be used as an attack vector? What if an attacker always sets receiver_leave but never leaves? (Just wondering.) Section 6., para. 4: It is possible that a receiver sends feedback claiming it has a very low calculated rate. This will reduce the rate of the multicast session and might render it useless but obviously cannot hurt the network itself. Well, it can't hurt the network, but it destroys the service provided by the session. This is more serious for a multicast session than for a unicast session, because an attacker can interfere with service delivered to others. Some thoughts on how this can be mitigated may be good. |
2006-05-23
|
07 | Lars Eggert | [Ballot Position Update] New position, No Objection, has been recorded for Lars Eggert by Lars Eggert |
2006-05-17
|
07 | Yoshiko Fong | IANA Last Call Comments: As described in the IANA Considerations section, we understand this document to have NO IANA Actions. |
2006-05-15
|
07 | Magnus Westerlund | [Note]: 'PROTO shepherd: lorenzo vicisano lorenzo@cisco.com IETF last call ends 24th of May' added by Magnus Westerlund |
2006-05-15
|
07 | Magnus Westerlund | Placed on agenda for telechat - 2006-05-25 by Magnus Westerlund |
2006-05-15
|
07 | Magnus Westerlund | [Ballot Position Update] New position, Yes, has been recorded for Magnus Westerlund |
2006-05-15
|
07 | Magnus Westerlund | Ballot has been issued by Magnus Westerlund |
2006-05-15
|
07 | Magnus Westerlund | Created "Approve" ballot |
2006-05-10
|
07 | Amy Vezza | Last call sent |
2006-05-10
|
07 | Amy Vezza | State Changes to In Last Call from Last Call Requested by Amy Vezza |
2006-05-10
|
07 | Magnus Westerlund | Last Call was requested by Magnus Westerlund |
2006-05-10
|
07 | (System) | Ballot writeup text was added |
2006-05-10
|
07 | (System) | Last call text was added |
2006-05-10
|
07 | (System) | Ballot approval text was added |
2006-05-10
|
07 | Magnus Westerlund | State Changes to Last Call Requested from AD Evaluation::AD Followup by Magnus Westerlund |
2006-05-09
|
07 | (System) | Sub state has been changed to AD Follow up from New Id Needed |
2006-05-09
|
07 | (System) | New version available: draft-ietf-rmt-bb-tfmcc-07.txt |
2006-04-05
|
07 | Magnus Westerlund | State Changes to AD Evaluation::Revised ID Needed from Publication Requested by Magnus Westerlund |
2006-04-05
|
07 | Magnus Westerlund | Sent AD evaluation comments to authors and the WG list: http://www1.ietf.org/mail-archive/web/rmt/current/msg00699.html |
2006-04-05
|
07 | Magnus Westerlund | 1.a Personally reviewed by Lorenzo Vicisano, who believes that the document is ready for IESG review and is shepherding it. 1.b We believe … 1.a Personally reviewed by Lorenzo Vicisano, who believes that the document is ready for IESG review and is shepherding it. 1.b We believe that the document has received adequate WG review and external scientific review (conference publication). 1.c No special-review concerns 1.d No 1.e It represent the consensus of the active WG members 1.f No. 1.e Checked against ID Nits. Notes: - The document does not explicitly split Normative and informative references, but explicitly states which references are informative. - The IPR sections are left to be added to the RFC editor 1.h The reference are not split. All ID reference are normative, except the first (NORM), that is specified to be informative. Technical Summary (straight from the introduction) ================================================== This document specifies TCP-Friendly Multicast Congestion Control (TFMCC). TFMCC is a source-based, single-rate congestion control scheme that builds upon the unicast TCP-Friendly Rate Control mechanism (TFRC) (*). 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 receivers. Each receiver continuously determines a desired receive rate that is TCP-friendly for the path from the sender to this receiver. Selected receivers then report the rate to the sender in feedback packets. TFMCC is a building block as defined in RFC 3048. Instead of specifying a complete protocol, this document simply specifies a congestion control mechanism that could be used in a transport protocol such as RTP, in an application incorporating end-to-end congestion control at the application level. This document does not discuss packet formats, reliability, or implementation-related issues. TFMCC is designed to be reasonably fair when competing for bandwidth with TCP flows. A multicast flow is ``reasonably fair'' if its sending rate is generally within a factor of two of the sending rate of a TCP flow from the sender to the slowest receiver of the multicast group under the same network conditions. In general, TFMCC has a low variation of throughput, which makes it suitable for applications such as streaming media where a relatively smooth sending rate is of importance. The penalty of having smooth throughput while competing fairly for bandwidth is a reduced responsiveness to changes in available bandwidth. Thus TFMCC should be used when the application has a requirement for smooth throughput, in particular, avoiding halving of the sending rate in response to a single packet drop. For applications that simply need to multicast as much data as possible in as short a time as possible, PGMCC (**) may be more suitable. WG Chair Note: (*) TFRC is the unicast counterpart of TFMCC, published as RFC 3448 (**) PGMCC is another Congestion-control BB that RMT is planning to publish. WG Summary ========== The WG planned to publish TFMCC as an experimental document first, an request its publication as a Standard-track document later, for the reason Stated above: Statement of Intent This memo contains part of the definitions necessary to fully specify a Reliable Multicast Transport protocol in accordance with RFC 2357. As per RFC 2357, the use of any reliable multicast protocol in the Internet requires an adequate congestion control scheme. This document specifies an experimental congestion control scheme. While waiting for initial deployment and experience to show this scheme to be effective and scalable, the IETF publishes this scheme in the "Experimental" category. It is the intent of the Reliable Multicast Transport (RMT) Working Group to re-submit the specification as an IETF Proposed Standard as soon as the scheme is deemed adequate. The WG requests that the above note be added at the end of the document "Introduction", as done for other similar WG publications. No abnormal situation were encountered by the WG regarding this document. Protocol Quality ================ The algorithm described in this protocol is based on its Unicast counterpart (TFMCC) published as IETF RFC 3448. It was extensively tested through simulations by the authors and by others (Mark Pullen and associates, see RMT WG archives), that provided feedback based on their independent simulations. The feedback has been addressed by the authors. We know of at least one successful implementation of TFMCC by Brian Adamson, who incorporated it in its implementation of the RMT "NORM" protocol and who also provide feedback to the authors. |
2006-03-26
|
07 | Magnus Westerlund | Shepherding AD has been changed to Magnus Westerlund from Allison Mankin |
2006-03-19
|
07 | Allison Mankin | Magnus needs to bug him for the questionnaire, also this kind of Experimental should get Last Called, by convention |
2006-03-19
|
07 | Allison Mankin | Draft Added by Allison Mankin in state Publication Requested |
2006-03-19
|
07 | Allison Mankin | [Note]: 'PROTO shepherd: lorenzo vicisano lorenzo@cisco.com' added by Allison Mankin |
2006-03-03
|
06 | (System) | New version available: draft-ietf-rmt-bb-tfmcc-06.txt |
2005-10-04
|
05 | (System) | New version available: draft-ietf-rmt-bb-tfmcc-05.txt |
2004-10-14
|
04 | (System) | New version available: draft-ietf-rmt-bb-tfmcc-04.txt |
2004-07-13
|
03 | (System) | New version available: draft-ietf-rmt-bb-tfmcc-03.txt |
2003-07-23
|
02 | (System) | New version available: draft-ietf-rmt-bb-tfmcc-02.txt |
2002-11-04
|
01 | (System) | New version available: draft-ietf-rmt-bb-tfmcc-01.txt |
2001-11-19
|
00 | (System) | New version available: draft-ietf-rmt-bb-tfmcc-00.txt |