CSC 458: Computer Networks
Spring 2006

  •  Main
  •  Overview
  •  Blogger
  •  Lectures and readings
  •  Tutorials
  •  Midterms and exams
  •  Homework
  •  Projects
  •    

    Homework 4

    Textbook problems:
    
    5.7, 5.8, 5.9, 5.12, 5.14, 5.19, 5.22, 5.25, 5.32, 6.16, 6.20, 6.22, 6.28
    
    (Bonus)
    
    Tcpdump puzzler (hard):
    ========================
    
    I have gathered a tcpdump trace gathered between my home machine (on
    a wireless network in my house, connected to the Internet via a
    cable modem connection) the UBC CS department web server.
    Your job is to:
    
    Use the /usr/sbin/tcpdump tool on cs01.erin.utoronto.ca to extract from the
    tcpdump trace file the sequence of packets that were exchanged.
    
    
    Using this, generate a time-sequence plot for the data flowing from the Web
    server to my home machine.  A time-sequence plot has time on the x-axis,
    and sequence numbers on the y-axis.  Your graph should contain two lines:
    	    - sequence numbers of data packets flowing from the
                  server to the client.  In other words, each dot plotted
    	      corresponds to a tcp data segment sent by the server.  The
    	      dot's x-axis value is the time the data segment was seen,
    	      and its y-axis value is the sequence number of the last byte
    	      in that data segment.
    	      
    	    - sequence numbers of acknowledgement packets flowing
    	    from the client to the server
    
    Using this plot, your job is to deduce as much information as you can about
    this tcp transfer.  For example, you might be able to deduce things such as
    the approximate round-trip time between the machines, the number of bytes
    transferred to my home machine, whether packets were dropped or reordered,
    the MSS mandated by my home machine, and perhaps much more.  
    
    Here's what you have to work with: smalltransfer.dump: the output
       of running the following command on my home computer:
    
            /usr/sbin/tcpdump -w smalltransfer.dump -s 0 -n -i en0 \
    	port 80 and host www.cs.ubc.ca
    
       You can play back this tcpdump file using the tcpdump program itself, e.g.:
    
            /usr/sbin/tcpdump -r smalltransfer.dump -s 0 -XX
    
    (Note that you can read the man page for tcpdump on cs01, if you want
    to find out more about tcpdump.)
    
    Here's what you should turn in for this problem:
    
      - your time-sequence plot
      - a list of facts you deduced, and for each, a description of
      your supporting evidence and the steps you used to deduce that fact.
    

    Math & Computational Sciences
    University of Toronto at Mississauga