CS 1652 Computer Networks Homeworks
Fall 2002
All homework is tentative until the class before it
is due
- Due Wednesday Aug 28
- Read the RFC for traceroute at http://www.rfc-editor.org/rfc/rfc1393.txt
, and the entry on
traceroute in the internet encyclopedia . Don't worry
if you don't understand everything in the RFC.
- Use one of the raceroute hosts at http://www.traceroute.org/
to determine a route between some host and pitt.edu.
Print out the output of traceroute. Use the RFC, the encyclopedia
entry, and the text to decipher the output.
- Repeat the process in the previous step > 4 hours
later.
- There will a special prize for the student that finds
the longest traceroute.
- There will be a quiz at the start of
class on Wednesday based on the RFC and your traceroute output
- Start to read chapter 1.
- Due Wednesday September 4. Finish reading chapter 1. Problems
8, 16, 17 and 19 from Chapter 1 of Kurose and Ross.
- Due Monday Sept 9.
- Use telnet to answer the following
questions. Make a printout of your sessions. On unix this can be
done using the script command.
- what server software does www.cs.pitt.edu
use
- what server software does www.pitt.edu
use
- get the file www.cs.pitt.edu/~kirk/cs1652/secretmessage,
and then do a conditional get to force the server to return
status code 304
- request the index.html page at www.yahoo.com
with User-agent equal to Mozilla/4.0 and request the index.html
page at www.yahoo.com with User-agent equal to MSIE,
and determine whether the resulting files are the same.You can
use the diff command on unix to do this.
- Problem 5 from Chapter 2 of Kurose and Ross. The RFC
for HTTP 1.1 can be found here
. Also answer the following questions:
- Does HTTP 1.1 allow multiple objects to be included
in one reply message?
- Does HTTP 1.1 allow an object to be split between multiple
reply messages?
- Due Wednesday Sept 11
- Use the telnet command to connect to the departments ftp
server ftp.cs.pitt.edu on port 21. Give the username as anonymous and the
password as your email address. Attempt to list the files using a list
command. Print out a copy of your session. Give a brief explanation for
what happens.
- Use the telnet command to telnet to some STMP server, such
as cs.pitt.edu or smtp.pitt.edu, to send email to yourself from president@whitehouse.gov
complimenting yourself. Please do not abuse this knowledge of how to forge
emails. Print out a copy of your session, and the email your received.
How can you tell from the headers that the email was forged?
- Try using telent to connect to some pop mail server on which
you have an account, e.g. pop.pitt.edu, to try to access your pitt
email to see what happens. State what happens when you try to get your
email. If you use pop.pitt.edu you probably won't get too far..
- Due Monday Sept 16
- Homework problems 1, 4, 6, 7, 13 and 14 from Chapter 2 of
Kurose and Ross
- Due Monday Sept 23
- Problem 9 from Chapter 2 of Kurose and Ross
- Due Wednesay Sept 25
- Problems 15, 16, 18 from Chapter 2 of Kurose and Ross.
Discussion questions 13 and 14 from Chapter 2 or Kurose and Ross. For discussion
question 13, just state what you believe the biggest technical hurdle would
be and how this would affect Internet performance.
- Due Monday Sept 30
- Programming assignment 1: The multi-threaded web server
- Due Wednesday Oct 2
- Problems 4, 9, 10, 11, 15 from Chapter 3 of Kurose and Ross.
For problem 15, you can give pseudo-code instead of a finite state machine
if you like.
- Due Monday Oct 7
- Programming assignment 2: The mail user agent
- Due Wednesday Oct 9
- Problems 17, 19, 20, 21 and 25 from Chapter 3 of Kurose and Ross.
- Due Monday Oct 14
- Problems 29, 31, 33 and 34 from Chapter 3 of Kurose and Ross.
- Strictly extra credit for those more mathematically inclined types:
Consider figure 3.46. Compute lambda_out as a function of lambda_in'. Plot
the resulting curve using Mathematica or Maple. Compare the curve to the
one in Figure 3.47. While this doesn't seem to require more than high school
alegra, it does get a bit messy.
- Wednesday Oct 16
- Monday Oct 21
- Due Wednesday Oct 23
- Problems 3, 5 (you need not show how the table enties are computed,
only what the final values are), 7 and 9 from Kurose and Ross.
- Consider the network shown in Problem 5 of Kurose and Ross. We
are interested only in routing messages to node A.
- Show how the distance vector algorithm responds to lowering the
costs on the EB and ED edges to 0.
- After this assume that the cost of the AB edge becomes 10.
- Show how the distance vector algorithm responds assuming no
poisoned reverse.
- Show how the distance vector algorithm responds assuming poisoned
reverse
- Due Monday Oct 28
- Programming Assignment 3: Implementing a Reliable Data Transfer Protocol.
You will implement the Go-Back-N version of the lab.
Turn in the
assignment sheet with the project.
- Due Wednesday Oct 30
- Problems 10 (you can give pseudo-code if you prefer that to
giving a finite state machine), 11, 12, and 13 of Kurose and Ross.
- Due Monday Nov 4
- Programming Assignment 4: Implementing a Distributed Asynchronous
Distance Vector Routing Algorithm.
You will implement the Basic part of the lab.
Turn in the
assignment sheet with the project.
- Due Wednesday Nov 6
-
Problems 16, 21, 23, 25, 27, 28, and 30 from Chapter 4 of Kurose and Ross.
- Due Monday Nov 11
- Programming Assignment 4: Implementing a Distributed Asynchronous
Distance Vector Routing Algorithm.
You will implement the Advanced part of the lab.
Turn in the
assignment sheet with the project.
- Due Wednesday Nov 13
- Problems 4, 6, 7, 12, 14 and 15 from chapter 5 of Kurose and Ross.
- Play with the CSMA/CD applet on the www site for the Kurose and Ross
text.
- Due Wednesday Nov 20
- Problems 10, 11, 19, 20, and 21 from chapter 6 of Kurose and Ross.
- Due Monday Nov 25
- Programming Assignment 5: Streaming Video with RTSP and RTP
Turn in the
assignment sheet with the project.
- Due Monday Dec 2
- Problems 5, 6, 9, 11, 12, 13 from chapter 7 of Kurose
and Ross
- Discussion question 1 from chapter 7 of Kurose
and Ross