Designing DCCP: Congestion Control Without Reliability
by Eddie Kohler, Mark Handley, Sally Floyd
Summary
The Datagram Congestion Control Protocol (DCCP) is a new protocol that runs alongside TCP and UDP and offers
congestion-controlled unreliable datagram delivery. DCCP's target applications are those that favour
timeliness over reliability, such as streaming video/audio applications. Many such applications use UDP
as their transport but it is feared that as the amount of non-congestion controlled, UDP-based traffic grows,
it may lead to the congestion collapse of the Internet. Hence DCCP: UDP-style unreliable delivery with low
overhead plus TCP-style congestion control.
Discussion
Points that were raised during the discussion include:
- Is the support for mobility sufficient and/or necessary? Mobility is complex and DCCP's support seems like an
ad-hoc addition. For example, if the endpoint moves can the CC mechanisms and parameters be renegotiated?
- Can CC mechanisms and parameters be renegotiated once the connection is in use? Either endpoint's application
may change its requirements.
- How far should the protocol go to enforce security? A hijacker could throw packets into the network to
increase congestion, hampering the flow of data. But they could do that with TCP, too.
- Performance analysis shows that TFRC works best
when it is self-clocked. Does DCCP allow for self-clocking?
- TCP is very widely used. Is the underlying assumption that UDP is being used more and more valid?
References