DCCP, Datagram Congestion Control Protocol

Description Glossary RFCs Publications Obsolete RFCs


Protocol suite: TCP/IP.
Protocol type:Transport layer protocol.
IP protocol:33.
MIME subtype:
Working groups: dccp, Datagram Congestion Control Protocol.
Links: IANA: DCCP parameters.

The DCCP protocol 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.

MAC header IP header DCCP header Data :::

DCCP header:

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Source port Destination port
Data offset CCVal CsCov Checksum
0 Type X 0 Sequence number :::
Options :::
Data :::

Source port. 16 bits.
Identifies the sender of this packet.

Destination port. 16 bits.
Identifies the receiver of this packet.

Data offset. 8 bits.
The offset from the start of the packet's DCCP header to the start of the application data area in 32-bit words. The receiver MUST ignore packets whose offset is smaller than the minimum-sized header for the given Type or larger than the DCCP packet itself.

CCVal. 4 bits.
Used by the HC-Sender CCID. For example, the A-to-B CCID's sender, which is active at DCCP A, MAY send 4 bits of information per packet to its receiver by encoding that information in this field. The sender MUST clear this field to zero unless its HC-Sender CCID specifies otherwise, and the receiver MUST ignore the CCVal field unless its HC-Receiver CCID specifies otherwise.

CsCov, checksum coverage. 4 bits.
This field specifies the parts of the packet that are covered by the Checksum field. This always includes the DCCP header and options, but some or all of the application data may be excluded. This can improve performance on noisy links for applications that can tolerate corruption.

Checksum. 16 bits.
The Internet checksum of the packet's DCCP header (including options), a network-layer pseudoheader, and, depending on Checksum Coverage, all, some, or none of the application data.

Type. 4 bits.

0DCCP-Request. RFC 4340, RFC 5595
1DCCP-Response. RFC 4340
2DCCP-Data. RFC 4340
3DCCP-Ack. RFC 4340
4DCCP-DataAck. RFC 4340
5DCCP-CloseReq. RFC 4340
6DCCP-Close. RFC 4340
7DCCP-Reset. RFC 4340
8DCCP-Sync. RFC 4340
9DCCP-SyncAck. RFC 4340
10DCCP-Listen.RFC 5596
reserved. RFC 4340
14Experimental and testing use. RFC 4340
15  RFC 4340

X, Extended Sequence Numbers. 1 bit.
Set to one to indicate the use of an extended generic header with 48-bit Sequence and Acknowledgement Numbers. DCCP-Data, DCCP- DataAck, and DCCP-Ack packets MAY clear X to zero or set it to one. All DCCP-Request, DCCP-Response, DCCP-CloseReq, DCCP-Close, DCCP- Reset, DCCP-Sync, and DCCP-SyncAck packets MUST set X to one. Endpoints MUST ignore any such packets with X cleared to zero. High-rate connections SHOULD set X to one on all packets to gain increased protection against wrapped sequence numbers and attacks.

Sequence Number. 24 or 48 bits.
Identifies the packet uniquely in the sequence of all packets the source sent on this connection. This field increases by one with every packet sent, including packets such as DCCP-Ack that carry no application data.

Data. Variable length.



[RFC 4336] Problem Statement for the Datagram Congestion Control Protocol (DCCP).

[RFC 4340] Datagram Congestion Control Protocol (DCCP).

[RFC 4341] Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 2: TCP-like Congestion Control.

[RFC 4342] Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 3: TCP-Friendly Rate Control (TFRC).

[RFC 5348] TCP Friendly Rate Control (TFRC): Protocol Specification.

[RFC 5595] The Datagram Congestion Control Protocol (DCCP) Service Codes.

[RFC 5596] Datagram Congestion Control Protocol (DCCP) Simultaneous-Open Technique to Facilitate NAT/Middlebox Traversal.

[RFC 5597] Network Address Translation (NAT) Behavioral Requirements for the Datagram Congestion Control Protocol.


Obsolete RFCs:

Description Glossary RFCs Publications Obsolete RFCs