datatracker.ietf.org
Sign in
Version 5.6.2.p5, 2014-08-04
Report a bug

Datagram Congestion Control Protocol (DCCP)
RFC 4340

Document type: RFC - Proposed Standard (March 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 4340 (Proposed Standard)
Responsible AD: Allison Mankin
Send notices to: falk@isi.edu, kohler@cs.ucla.edu,dccp-chairs@ietf.org

Network Working Group                                          E. Kohler
Request for Comments: 4340                                          UCLA
Category: Standards Track                                     M. Handley
                                                                     UCL
                                                                S. Floyd
                                                                    ICIR
                                                              March 2006

              Datagram Congestion Control Protocol (DCCP)

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

   The Datagram Congestion Control Protocol (DCCP) is a transport
   protocol that provides bidirectional unicast connections of
   congestion-controlled unreliable datagrams.  DCCP is suitable for
   applications that transfer fairly large amounts of data and that can
   benefit from control over the tradeoff between timeliness and
   reliability.

Table of Contents

   1. Introduction ....................................................5
   2. Design Rationale ................................................6
   3. Conventions and Terminology .....................................7
      3.1. Numbers and Fields .........................................7
      3.2. Parts of a Connection ......................................8
      3.3. Features ...................................................9
      3.4. Round-Trip Times ...........................................9
      3.5. Security Limitation ........................................9
      3.6. Robustness Principle ......................................10
   4. Overview .......................................................10
      4.1. Packet Types ..............................................10
      4.2. Packet Sequencing .........................................11
      4.3. States ....................................................12
      4.4. Congestion Control Mechanisms .............................14

Kohler, et al.              Standards Track                     [Page 1]
RFC 4340      Datagram Congestion Control Protocol (DCCP)     March 2006

      4.5. Feature Negotiation Options ...............................15
      4.6. Differences from TCP ......................................16
      4.7. Example Connection ........................................17
   5. Packet Formats .................................................18
      5.1. Generic Header ............................................19
      5.2. DCCP-Request Packets ......................................22
      5.3. DCCP-Response Packets .....................................23
      5.4. DCCP-Data, DCCP-Ack, and DCCP-DataAck Packets .............23
      5.5. DCCP-CloseReq and DCCP-Close Packets ......................25
      5.6. DCCP-Reset Packets ........................................25
      5.7. DCCP-Sync and DCCP-SyncAck Packets ........................28
      5.8. Options ...................................................29
           5.8.1. Padding Option .....................................31
           5.8.2. Mandatory Option ...................................31
   6. Feature Negotiation ............................................32
      6.1. Change Options ............................................32
      6.2. Confirm Options ...........................................33
      6.3. Reconciliation Rules ......................................33
           6.3.1. Server-Priority ....................................34
           6.3.2. Non-Negotiable .....................................34
      6.4. Feature Numbers ...........................................35
      6.5. Feature Negotiation Examples ..............................36
      6.6. Option Exchange ...........................................37
           6.6.1. Normal Exchange ....................................38
           6.6.2. Processing Received Options ........................38
           6.6.3. Loss and Retransmission ............................40
           6.6.4. Reordering .........................................41
           6.6.5. Preference Changes .................................42
           6.6.6. Simultaneous Negotiation ...........................42
           6.6.7. Unknown Features ...................................43
           6.6.8. Invalid Options ....................................43
           6.6.9. Mandatory Feature Negotiation ......................44

[include full document text]