Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 2: TCP-like Congestion Control
RFC 4341
Document | Type |
RFC - Proposed Standard
(March 2006; No errata)
Updated by RFC 8311
Was draft-ietf-dccp-ccid2 (dccp WG)
|
|
---|---|---|---|
Last updated | 2015-10-14 | ||
Stream | IETF | ||
Formats | plain text pdf html bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 4341 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Allison Mankin | ||
Send notices to | (None) |
Network Working Group S. Floyd Request for Comments: 4341 ICIR Category: Standards Track E. Kohler UCLA March 2006 Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 2: TCP-like Congestion Control Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document contains the profile for Congestion Control Identifier 2 (CCID 2), TCP-like Congestion Control, in the Datagram Congestion Control Protocol (DCCP). CCID 2 should be used by senders who would like to take advantage of the available bandwidth in an environment with rapidly changing conditions, and who are able to adapt to the abrupt changes in the congestion window typical of TCP's Additive Increase Multiplicative Decrease (AIMD) congestion control. Table of Contents 1. Introduction ....................................................2 2. Conventions and Notation ........................................2 3. Usage ...........................................................3 3.1. Relationship with TCP ......................................3 3.2. Half-Connection Example ....................................4 4. Connection Establishment ........................................5 5. Congestion Control on Data Packets ..............................5 5.1. Response to Idle and Application-Limited Periods ...........8 5.2. Response to Data Dropped and Slow Receiver .................8 5.3. Packet Size ................................................8 6. Acknowledgements ................................................9 6.1. Congestion Control on Acknowledgements .....................9 6.1.1. Detecting Lost and Marked Acknowledgements .........10 Floyd & Kohler Standards Track [Page 1] RFC 4341 DCCP CCID2 March 2006 6.1.2. Changing Ack Ratio .................................10 6.2. Acknowledgements of Acknowledgements ......................11 6.2.1. Determining Quiescence .............................12 7. Explicit Congestion Notification ...............................12 8. Options and Features ...........................................12 9. Security Considerations ........................................13 10. IANA Considerations ...........................................13 10.1. Reset Codes ..............................................13 10.2. Option Types .............................................13 10.3. Feature Numbers ..........................................14 11. Thanks ........................................................14 A. Appendix: Derivation of Ack Ratio Decrease ....................15 B. Appendix: Cost of Loss Inference Mistakes to Ack Ratio ........15 Normative References ..............................................17 Informative References ............................................18 1. Introduction This document contains the profile for Congestion Control Identifier 2 (CCID 2), TCP-like Congestion Control, in the Datagram Congestion Control Protocol (DCCP) [RFC4340]. DCCP uses Congestion Control Identifiers, or CCIDs, to specify the congestion control mechanism in use on a half-connection. The TCP-like Congestion Control CCID sends data using a close variant of TCP's congestion control mechanisms, incorporating a variant of selective acknowledgements (SACK) [RFC2018, RFC3517]. CCID 2 is suitable for senders who can adapt to the abrupt changes in congestion window typical of TCP's Additive Increase Multiplicative Decrease (AIMD) congestion control, and particularly useful for senders who would like to take advantage of the available bandwidth in an environment with rapidly changing conditions. See Section 3 for more on application requirements. 2. Conventions and Notation The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. A DCCP half-connection consists of the application data sent by one endpoint and the corresponding acknowledgements sent by the other endpoint. The terms "HC-Sender" and "HC-Receiver" denote theShow full document text