Datagram Congestion Control Protocol (DCCP)
RFC 4340
Document | Type |
RFC - Proposed Standard
(March 2006; Errata)
Was draft-ietf-dccp-spec (dccp WG)
|
|
---|---|---|---|
Authors | Sally Floyd , Mark Handley , Eddie Kohler | ||
Last updated | 2020-01-21 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 4340 (Proposed Standard) | |
Action Holders |
(None)
|
||
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Allison Mankin | ||
Send notices to | falk@isi.edu |
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 7. Sequence Numbers ...............................................44 7.1. Variables .................................................45Show full document text