CSE 461: Introduction to Computer-Communication Networks, Autumn 2006
  CSE Home   About Us   Search   Contact Info 
 
Course Home
 Home
Administation
 Overview
 Using course email
 Email archive
 Anonymous feedback
 View feedback
 
Most Everything
 Schedule
 
Information
 UW/ACM Tutorials
    Homework 1
Out: Friday September 29
Due: Wednesday October 4 at the start of class

(Don't forget that the reading, listed on the course schedule, is also an important part of the course assignments. Unless it's explicitly noted, I'm assuming you'll read the entire chapter, even if we don't talk about every bit of it in lecture.)

  1. Questions from Chapter 1 of the text:
    5, 12, 18, 38, 39 (if you use a Windows system, traceroute is spelled tracert).
  2. Read the fourth of the primary references from the Further Reading section of Chapter 1:
    Saltzer, J., D. Reed, and D. Clark. End-to-end arguments in system design. ACM Transactions on Computer Systems 2(4):277-288, November 1984.
    Available online here.
    In a writeup of no more than two pages, answer these questions. (Note that we do not intend that you forget everything you know that isn't in that paper in answering these questions. Bring all of that to the questions, plus what is in the paper.)

    1. What are an application's "own failure/retry procedures", referred to in the first paragraph of the section Duplicate Message Detection? (That is, what is the general idea. Don't answer with just a specific example (e.g., the one in the second paragraph of that section).)

      Why would an application need such procedures, even when using a communication service that claimed to be reliable?

    2. The authors use the specific examples of delivery guarantees, FIFO ordering, and duplicate supression as properties that one should be wary of building into general network services. At the same time, these are exactly the properties typically ascribed to TCP, the most commonly used protocol Internet protocol. Is TCP's success a refutation of the main thesis of this paper? Corroboration? (Irrelevant?)

    3. One might read this paper as saying "Put into a layer only those functions that should be in that layer." That's trivially true, and so not a very useful observation.

      On the other hand, 22 years after it was written this paper is still widely read and referenced.

      Why? What makes it non-trivial? What makes it useful?

Important note: Hand in answers to all questions. We'll grade the text exercises just as you'd expect. However, THIS WEEK ONLY there are only two possible grades for the writeup portion: "handed in something that is a legitimate attempt to understand what we're asking for" and "didn't." This gives you a chance for a practice run with these kinds of questions, which might be new to you.

In sections on 10/4 we'll go over answers to this homework.


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]