CSE/EE 461: Introduction to Computer-Communication Networks, Autumn 2007
  CSE Home   About Us   Search   Contact Info 
 
Course Home
 Home
Administation
 Overview
 Using course email
 Email archive
 Anonymous feedback
 View feedback
 Homework Turnin
 
Most Everything
 Schedule
 
Information
 UW/ACM Tutorials
    Homework 7: Congestion Control
Out: Wednesday November 21
Due: Wednesday November 28

Read all of RFC4340, Datagram Congestion Control Protocol (DCC), except that Sections 17, 19, and 20 are optional.

This page contains a link to that RFC, as well as other, related RFC's that you might find useful, or just plain interesting.

  1. Each individual application is free to employ whatever transport protocol it wants. Two possible choices are DCCP and UDP. DCCP will reduce the send rate (at the IP level) if the network is busy; if all end host applications do likewise, congestion collapse can be avoided. UDP will not reduce the send rate; if all other applications are using DCCP (or TCP), though, things will be great for the UDP application.

    Given that, why would any application ever choose to use DCCP? That is, what's in it for that application itself? Try to be concrete - describe a particular (realistic) application that might decide to DCCP over UDP for its own (rather than the network's) benefit.

  2. DCCP does not provide reliability, and so doesn't include sliding window or ARQ. It does have ACKs, though. Why?

  3. One the other hand, DCCP does have windows, and it does do some like retransmission. Explain why it has windows, and give an example where repeated transmission is employed and explain why it is useful and/or necessary for that case.

  4. DCCP defines sequence numbers. Unlike TCP, the DCCP sequence number is affected by the transmission of ACKs. Why should DCCP increment the sequence number for ACKs, and TCP shouldn't?

  5. Consider a bug that causes the sequence number computed by a TCP or DCCP endpoint to be "off by one" - instead of computing the correct value, N, as the sequence number, N+1 is computed.
    1. What will the effect of this be in the case of TCP?
    2. What will the effect of this be in the case of DCCP?

  6. DCCP's Sync/Sync-Ack have no counterpart in TCP. Why does DCCP need them, and why doesn't TCP?

  7. TCP provides ordered, "at most once" semantics for the data stream (meaning that each data byte will be delivered 0 or 1 times, and all delivered data bytes will be in consecutive order). What semantics does DCCP provide?

  8. DCCP, the Datagram Congestion Control Protocol, doesn't actually define any congestion control algorithms (although is cites two other RFCs that do). Of what use is DCCP then?

Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to zahorjan at cs.washington.edu]