The Datagram Congestion Control Protocol (DCCP) is a message-oriented transport layer protocol. DCCP provides a way to gain access to congestion control mechanisms without having to implement them at the application layer.

DCCP is useful for applications with timing constraints on the delivery of data. Such applications include streaming media, multiplayer online games and Internet telephony. The primary feature of these applications is that old messages quickly become stale so that getting new messages is preferred to resending lost messages.  DCCP can also be positioned as a general congestion control mechanism for UDP-based applications, by adding a mechanism for reliable and/or in-order delivery on the top of UDP/DCCP.
DCCP has the option for very long (48-bit) sequence numbers corresponding to a packet ID, rather than a byte ID as in TCP. A new user-space implementation of DCCP has been made, with the purpose of providing a standardized, portable NAT-friendly framework for peer-to-peer communications with flexible congestion control, depending on application.