M.I.T. DEPARTMENT OF EECS

6.033 - Computer System Engineering Handout 11 - March 1, 1999

Assignment 5: March 9 through March 15


For Recitation, Tuesday, March 9:

Read David B. Johnson's "Scalable support for transparent mobile host internetworking," Reading #15. This paper surveys the routing problems and solutions when the endpoints are mobile computers that are traveling around; it has created a small research area in mobile routing, including standards committees. A very hot topic. Think about how cellular networks are addressing similar issues with mobile phones. Are the issues really the same?

Today's assignment is your second hands-on exercise. For this assignment, you need to do the following exercises and hand in your results during recitation.

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 SUN workstations, this tool can be run from the command prompt as /usr/athena/etc/traceroute. 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 (almond.lcs.mit.edu) to www1.whitehouse.gov. The machine encountered on the path after the first hop is lcs-5-floor.lcs.mit.edu, the next is 18.24.11.2, and so on. In all, it takes 19 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 Athena workstation running some flavor of Unix.
   % traceroute www1.whitehouse.gov 
   traceroute to www1.whitehouse.gov (198.137.240.91), 30 hops max, 40 byte packets
    1  lcs-5-floor.lcs.mit.edu (18.31.0.1)  1.063 ms  0.926 ms  0.816 ms
    2  18.24.11.2 (18.24.11.2)  3.805 ms  2.175 ms  6.154 ms
    3  radole.lcs.mit.edu (18.24.10.3)  6.316 ms  3.005 ms  3.122 ms
    4  B24-RTR-LCS-LINK.MIT.EDU (18.201.1.1)  4.089 ms  3.739 ms  3.126 ms
    5  EXTERNAL-RTR-FDDI.MIT.EDU (18.168.0.12)  3.498 ms  4.215 ms  5.632 ms
    6  f1-0.cambridge2-br2.bbnplanet.net (192.233.33.6)  5.744 ms  4.582 ms  6.815 ms
    7  s11-0-1.cambridge1-br1.bbnplanet.net (4.0.1.201)  6.073 ms  6.864 ms  4.936 ms
    8  p1-3.cambridge1-nbr1.bbnplanet.net (4.0.1.21)  6.333 ms  6.423 ms  4.031 ms
    9  p5-0.washdc3-ba2.bbnplanet.net (4.0.5.41)  14.868 ms  14.64 ms  13.867 ms
   10  p1-0.washdc3-ba1.bbnplanet.net (4.24.4.101)  16.279 ms  17.179 ms  13.818 ms
   11  p3-3.vienna1-nbr2.bbnplanet.net (4.24.4.190)  16.25 ms  15.667 ms  15.485 ms
   12  p1-0.vienna1-nbr3.bbnplanet.net (4.0.5.46)  16.965 ms  16.428 ms  15.403 ms
   13  p8-0-0.washdc1-br2.bbnplanet.net (4.0.1.89)  16.42 ms  16.479 ms  16.701 ms
   14  204.6.117.25 (204.6.117.25)  17.837 ms  56.367 ms  16.039 ms
   15  38.1.4.101 (38.1.4.101)  20.289 ms  19.145 ms  20.667 ms
   16  rc5.southeast.us.psi.net (38.1.25.5)  20.793 ms  19.114 ms  22.356 ms
   17  ip45.ci1.herndon.va.us.psi.net (38.146.148.45)  22 ms  22.876 ms  22.863 ms
   18  198.137.240.33 (198.137.240.33)  28.952 ms  27.082 ms  24.792 ms
   19  www1.whitehouse.gov (198.137.240.91)  31.424 ms  24.926 ms 24.66 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 4.

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 man page has useful hints to help you understand the output better.

For Lecture, Wednesday, March 10:

This is the first of two lectures about the End-to-End layer.

Warning: if you look in the notes you will find that section E, which is supposed to be about the End-to-End layer, has not been written yet. So you might want to pay more attention than usual to this and the next lecture.

For Recitation, Thursday, March 11:

Read Saltzer, Reed and Clark, "End-to-End Arguments in System Design" (Reading #16). For fun, think about the following question. A file transfer done using the EFTP protocol described in the Ethernet paper will encounter two error-checking mechanisms. The first is a CRC calculated on the data for purposes of catching errors in the Ether (i.e., errors that occur in transit), and is performed in the Ethernet hardware. The second is another checksum provided as a backup to the (hardware) CRC, as well as for catching errors that occur at the host or destination (but still within the network layer). This check is done as part of the EFTP protocol. Note that the second checksum does not have to be computed, though some value must always be sent. What is the use of these error-checking mechanisms on the basis of the End-to-End argument. Consider the usefulness of each individual checksum as well as the combination of the two. Do you need both checksums?

For Lecture, Friday, March 12:

This lecture is provided by the staff of the Writing Program and is intended to help you do a better job on weekly one-page reports and the design project.

For Lecture, Monday, March 15:

This lecture discusses congestion and flow control.

System aphorism of the week

A system takes longer to debug than you expect, even when you take this fact into account.
Go to 6.033 Home Page Questions or Comments: 6.033-tas@mit.edu