datatracker.ietf.org
Sign in
Version 5.6.2.p2, 2014-07-24
Report a bug

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)
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 4341 (Proposed Standard)
Responsible AD: Allison Mankin
Send notices to: dccp-chairs@tools.ietf.org, kohler@cs.ucla.edu, floyd@icir.org

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

[include full document text]