Datagram Congestion Control Protocol

Datagram Congestion Control Protocol

The Datagram Congestion Control Protocol (DCCP) is a message-oriented Transport Layer protocol. DCCP implements reliable connection setup, teardown, Explicit Congestion Notification (ECN), congestion control, and feature negotiation. DCCP was published as RFC 4340, a proposed standard, by the IETF in March, 2006. RFC 4336 provides an introduction. Linux had an implementation of DCCP first released in Linux kernel version 2.6.14 (released October 28, 2005).

DCCP provides a way to gain access to congestion control mechanisms without having to implement them at the Application Layer. It allows for flow-based semantics like in Transmission Control Protocol (TCP), but does not provide reliable in-order delivery. Sequenced delivery within multiple streams as in the Stream Control Transmission Protocol (SCTP) is not available in DCCP.

DCCP is useful for applications with timing constraints on the delivery of data. Such applications include streaming media, Multiplayer online games and Internet telephony. Primary feature of these applications is that old messages quickly become stale so that getting new messages is preferred to resending lost messages. Currently such applications have often either settled for TCP or used User Datagram Protocol (UDP) and implemented their own congestion control mechanisms, or have no congestion control at all.

While being useful for these applications, DCCP can also be positioned as a general congestion control mechanism for UDP-based applications, by adding, as needed, a mechanism for reliable and/or in-order delivery on the top of UDP/DCCP. In this context, DCCP allows the use of different, but generally TCP-friendly congestion control mechanisms.

A DCCP connection contains acknowledgment traffic as well as data traffic. Acknowledgments inform a sender whether its packets arrived, and whether they were marked by Explicit Congestion Notification (ECN). Acks are transmitted as reliably as the congestion control mechanism in use requires, possibly completely reliably.

DCCP has the option for very long (48-bit) sequence numbers corresponding to a packet ID, rather than a byte ID as in TCP. The long length of the sequence numbers is intended to guard against "some blind attacks, such as the injection of DCCP-Resets into the connection."[1]


DCCP implementations

As of June 2008, at least two DCCP implementations are actively maintained. The Linux kernel implementation was first available in Linux release 2.6.14.[2] The dccp-tp implementation is optimized for portability,[3] but has had no changes since June 2008.[4]

See also


External links

Protocol Specifications

  • RFC 4340 - Datagram Congestion Control Protocol
  • RFC 5595 - The Datagram Congestion Control Protocol (DCCP) Service Codes
  • RFC 5596 - DCCP Simultaneous-Open Technique to Facilitate NAT/Middlebox Traversal
  • RFC 5762 - RTP and the DCCP
  • RFC 5238 - Datagram Transport Layer Security (DTLS) over DCCP
  • RFC 5634 - Quick-Start for DCCP

Congestion Control IDs

  • RFC 4341 - Profile for DCCP Congestion Control ID 2: TCP-like Congestion Control
  • RFC 4342 - Profile for DCCP Congestion Control ID 3: TCP-Friendly Rate Control (TFRC)
  • RFC 4828 - Profile for DCCP Congestion Control ID 4: TCP-Friendly Rate Control for Small Packets (TFRC-SP)

Other Information

  • RFC 4336 - Problem Statement for the Datagram Congestion Control Protocol (DCCP)

Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Datagram Congestion Control Protocol — DCCP im TCP/IP‑Protokollstapel: Anwendung Streaming Protokoll Transport DCCP Internet IP (IPv4, IPv6) Netzzugang Ethernet …   Deutsch Wikipedia

  • Datagram Congestion Control Protocol — Pile de protocoles 7.  Application 6.  Présentation 5.  Session 4.  T …   Wikipédia en Français

  • Datagram Congestion Control Protocol — …   Википедия

  • Transmission control protocol — Pour les articles homonymes, voir TCP. Pile de protocoles 7 • Application 6 • …   Wikipédia en Français

  • Transmission Control Protocol — Pour les articles homonymes, voir TCP. Pile de protocoles 7.  Application 6.  …   Wikipédia en Français

  • Transmission Control Protocol — TCP (Transmission Control Protocol) Familie: Internetprotokollfamilie Einsatzgebiet: Zuverlässiger bidirektionaler Datentransport TCP im TCP/IP‑Protokollstapel: Anwendung HTTP SMTP …   Deutsch Wikipedia

  • Transmission Control Protocol — The Transmission Control Protocol (TCP) is one of the core protocols of the Internet Protocol Suite. TCP is so central that the entire suite is often referred to as TCP/IP. Whereas IP handles lower level transmissions from computer to computer as …   Wikipedia

  • Real-time Transport Control Protocol — Pile de protocoles 7.  Application 6.  Présentation 5.  Session 4.  Tr …   Wikipédia en Français

  • User Datagram Protocol — (UDP) is one of the core protocols of the Internet Protocol Suite. Using UDP, programs on networked computers can send short messages sometimes known as datagrams (using Datagram Sockets) to one another. UDP is sometimes called the Universal… …   Wikipedia

  • Real-time Transport Protocol — RTP (Real Time Transport Protocol) Familie: Netzwerkprotokoll Einsatzgebiet: Transport von Medien Streams Port: beliebiger freier, gerader Port größer 1024 RTP im TCP/IP‑Protokollstapel: Anwendung RTP Transport UDP …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”