CSE 461 15wi: Homework 1

Out: Friday, January 30, 2015
Due: Friday, February 6, 2015, 11:59 PM
Turnin: Online, .pdf or .txt file, course dropbox
Teams No, do this individually

Part 1: Questions from Chapter 2

  1. Questions P4 (HTTP), P5 (HTTP), and P26 (Bittorrent).

  2. (This is an adaptation of question P19, part a, from the text.)

    In this problem we will use the dig tool available on Linux hosts to explore the hierarchy of DNS servers. Recall that in Figure 2.21, a DNS server higher in the DNS hierarchy delegates a DNS query to a DNS server lower in the hierarchy, by sending back to the DNS client the name of that lower-level DNS server. First read the man page for dig, and then answer the following questions:

    1. Starting at the root DNS server (from one of the servers [a-m].root-servers.net), initiate a sequence of queries to resolve the name attu.cs.washington.edu. to one or more IP addresses. Show the list of the names and IP addresses of DNS servers in the delegation chain in answering your query, as well as the IP addresses when the name is finally resolved.

    2. Does attu.cs.washington.edu. have an IPv6 address?

    3. Does attu1.cs.washington.edu. have an IPv6 address?

Part 2: SIP questions

(There are many sources of information about SIP, including the text. The most complete source is RFC 3261.)

  1. The questions below ask you to demonstrate your understanding of the importance of some of the components of a SIP header by giving an example of something that could go wrong if that component were not part of the header. To be specific, we use this example header (from the example in Section 4 of the RFC, covered in more detail in Section 24):
          INVITE sip:bob@biloxi.com SIP/2.0
          Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
          Max-Forwards: 70
          To: Bob <sip:bob@biloxi.com>
          From: Alice <sip:alice@atlanta.com>;tag=1928301774
          Call-ID: a84b4c76e66710@pc33.atlanta.com
          CSeq: 314159 INVITE
          Contact: <sip:alice@pc33.atlanta.com>
          Content-Type: application/sdp
          Content-Length: 142
    
    In each subquestion we imagine removing only the thing mentioned and sending the rest of the header as shown above.
    1. the request method (INVITE, in the example)
      (Sample Answer) If the header didn't specify a method, the receiver would have no way to know if the sender wanted to start a dialog (INVITE) or terminate a previous invitation (CANCEL).

    2. the Call-ID header
    3. the Via header
    4. the Content-Length header
    5. the Max-Forwards header
    6. the tag field in the From header

  2. When the INVITE shown above eventually reaches Bob, and he answers, his device will append a tag field to the To header, much like the one Alice appended to the From header. Is it important that Bob append the To tag? Could Alice simply have picked the tag and appended it to the To header with her initial message?