Brandeis CS 146a

ASSIGNMENT 5:  October 6 through October 19, 2011

For Class Monday, October 10, 09

For Lecture Material:

We are continuing with our study of network organization.  Our lecture topic today is the end-to-end layer. In preparation read carefully Chapter 7.5 from S&K book.

In the recitation part we will complete studying routing. Read the paper An Introduction to Wide-Area Internet Routing". Make sure you have a good understanding of Chapter 7.4. Here is your reading question:

1. Why do providers so dislike carying each others packets? How does it hurt the provider to do so?

2. How much fault-isolation do you get from BGP? What happens to the routing in the rest of the network if some router turns off (short and long term)? What if a router starts sending incorrect information?

In addition, today's assignment includes your third hands-on exercise. For this assignment, you need to do the following exercises and hand in your results during the class.

Understanding Internet routes using traceroute

This assignment is intended to expose you to some of the interesting quirks of Internet routing. In the process, you will also learn to use another very useful diagnostic tool in networks. This tool is called traceroute, and as the name implies, it essentially allows you to trace the entire route from your machine to a remote machine. The remote machine can be specified either as a name or as an IP address. On the SGI workstations, it is available as /usr/etc/traceroute.

We include a sample output of an execution of traceroute and explain the salient features. The command:

  % traceroute www1.whitehouse.gov
tries to determine the path from my machine (citrine.cs.brandeis.edu) to www1.whitehouse.gov. The machine encountered on the path after the first hop is igs.cs.brandeis.edu, the next is 129.64.254.10, and so on. In all, it takes 30 hops to reach www1.whitehouse.gov. The explanation of the remaining fields on each of the lines can be understood by typing:
  % man traceroute
at the command prompt of any workstation running some flavor of Unix.
whereis traceroute
traceroute: /usr/sbin/traceroute


/usr/sbin/traceroute www.whitehouse.gov
traceroute: Warning: www.whitehouse.gov has multiple addresses; using 207.172.15
.176
traceroute to a1289.g.akamai.net (207.172.15.176), 30 hops max, 38 byte packets
 1  net3-gw (129.64.3.1)  0.649 ms  1.716 ms  0.670 ms
 2  10.254.50.165 (10.254.50.165)  2.043 ms  1.569 ms  1.792 ms
 3  10.254.62.17 (10.254.62.17)  0.958 ms  0.891 ms  1.260 ms
 4  129.64.250.74 (129.64.250.74)  0.507 ms  0.425 ms  0.477 ms
 5  207.210.143.121 (207.210.143.121)  1.006 ms  1.190 ms  2.954 ms
 6  nox230gw1-Vl-801-NoX.nox.org (192.5.89.34)  1.134 ms  13.057 ms  3.442 ms
 7  nox230gw1-PEER-NoX-RCN-192-5-89-30.nox.org (192.5.89.30)  1.136 ms *  1.234 ms
 8  ge3-1.core3.sbo.ma.rcn.net (207.172.15.99)  1.779 ms  0.928 ms *
 9  pos5-0.core3.nyw.ny.rcn.net (207.172.19.5)  6.639 ms  6.484 ms  6.449 ms
10  pos5-0.core2.phdl.pa.rcn.net (207.172.19.10)  8.491 ms  8.476 ms  8.445 ms
11  ge1-2.aggr1.phdl.pa.rcn.net (207.172.15.37)  8.606 ms  8.606 ms  8.695 ms
12  207.172.15.176 (207.172.15.176)  8.610 ms  8.738 ms  8.572 ms


Exercises:

Please record your answers to the three exercises below on a sheet of paper and turn it in at recitation.  Please also include the amount of time that the assignment took to complete.

1. Warmup:

In at most 50 words, explain how traceroute discovers a path to a remote host. The man page might be helpful in answering this question. You will be familiar with ICMP from your exercise in Assignment 3.

2. Routing asymmetries:

For this exercise, you need to use the traceroute server at http://www.getnet.com/cgi-bin/trace. Enter the name or IP address of your machine in the space provided. The traceroute server will execute traceroute on the machine running the webserver (trojan.neta.com, in this case) to your machine. Now run

  % traceroute trojan.neta.com
on your machine.

a) Show the output of traceroute in each of the above two cases.

b) Describe anything unusual about the output. Are the same machines traversed in both directions? Give one reason why this could be happening.

3. Blackholes:

At the command prompt, type

  % traceroute 18.31.0.200

a) Show the output of the above command.

b) Describe what is strange about the observed output, and why traceroute gives you such an output. The traceroute man page has useful hints to help you understand the output better.

For Background material:

Read pages 1 through 14 of RFC 791. The Internet protocols are defined by a series of numbered Request for Comments (RFCs). RFC791 defines IP.  Other RFCs specify other protocols (such as TCP and UDP) and implementation strategies.  Most of the RFC are on the web (see RFCs). You can find RFC 791 there too.

For Class Wednesday October 12, 2011

Quiz 1 (Closed book, closed notes). You are responsible for the material in S&K book chapters and the papers up to and including the lecture on Performance (L6) and the reading on MapReduce (R7), plus the material covered by project tutorial slides and project part 1. Lectures and the list of corresponding book chapters will be posted on Latte shortly.

Sept 7, Wed L1: Intro to systems Read:S&K Ch 1 R1: Gabriel -First day of classes

Sept 12, Mon L2: Major lessons & technology trends R2: Simon

Sept 14, Wed L3: System structure Read:S&K Ch 2 R3: Therac-25

Sept 19, Mon L4: Client/server R4: X-window system

Sept 21, Wed L5: Client/server within machine R5: Eraser

Sept 26, Mon L6: Performance R6: Flash

Sept 28, Wed R7: MapReduce

For Discussion Class, Wednesday, October 19, 2011

Read the "Design and Implementation of Sun Network File System" by Sandberg, R., D. Goldberg, S. Kleiman, D. Walsh, and B. Lyon, describing an example of an end-to-end protocol that does more then just provide reliability. (Alternatively, NFS is also described in 4.5 of your textbook). Address the following issued in your reading question:

What do the designers of NFS mean when they say "stateless" protocol? If I write my file on a file server, I expect to be able to read it back someday. Doesn't that mean that the file server maintains state?

Lecture Material:

We continue discussing the end-to-end layer. In preparation, please read from Sections 7.5 and 7.6  on flow control and congestion.

CS146a, Assignment 5, issued 10/2/2011