M.I.T. DEPARTMENT OF EECS
6.033 - Computer System Engineering | Handout 7 - March 6, 2001 |
Read Chapter 4, sections C and D of the class notes. Today's lecture will be on the link and network layers.
Read David B. Johnson's "Scalable support for transparent mobile host internetworking," Reading #12. This paper surveys the routing problems and solutions when the endpoints are mobile computers that are traveling around; it has become a very hot topic.
In our increasingly wireless and mobile world, Mobile IP seems to be an obviously beneficial technology. However, in the time since the paper was written, Mobile IP has not gained wide use on the Internet. What aspects of the system itself might act as impediments to its deployment and use? In particular, what is the specific functionality that Mobile IP enables and how useful is that to most users? (Think about how mobile computing is described in the paper and how that differs from most of the portable computing you see today).
Today's assignment is your fourth hands-on exercise, instead of a one-pager writing assignment. (For this week, there won't be a one-pager due because you should be concentrating your writing skills on Design Project 1. You'll have two hands-on assignments this week instead.) For this assignment, you need to do the following exercises and hand in your results during recitation.
Understanding Internet routes using tracerouteThis 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.We include a sample output of an execution of traceroute and explain the salient features. The command:
% traceroute www1.yahoo.comtries to determine the path from the source machine (raptor.lcs.mit.edu
) towww1.yahoo.com
. The machine encountered on the path after the first hop isanacreon.lcs.mit.edu
the next isradole.lcs.mit.edu
, and so on. In all, it takes 16 hops to reachwww1.yahoo.com
. The explanation of the remaining fields on each of the lines can be understood by typing:% man tracerouteat the command prompt of any Athena workstation running some flavor of Unix. We recommend, but do not require, that you perform this assignment on Athena. Please note that the TAs cannot guarantee tech support if you do not use an Athena workstation.% traceroute www1.yahoo.com traceroute to www1.yahoo.com (204.71.200.66), 30 hops max, 38 byte packets 1 anacreon (18.26.4.1) 0.599 ms 0.454 ms 0.425 ms 2 radole (18.24.10.3) 0.919 ms 0.896 ms 0.815 ms 3 B24-RTR-LCS-LINK.MIT.EDU (18.201.1.1) 1.873 ms 1.341 ms 1.717 ms 4 EXTERNAL-RTR-FDDI.MIT.EDU (18.168.0.12) 1.775 ms 2.629 ms 2.253 ms 5 f1-0.cambridge2-br2.bbnplanet.net (192.233.33.6) 195.167 ms 6.539 ms 6.898 ms 6 s11-0-1.cambridge1-br1.bbnplanet.net (4.0.1.201) 4.565 ms 7.125 ms 4.209 ms 7 p1-0.cambridge1-nbr2.bbnplanet.net (4.0.1.45) 3.589 ms 3.543 ms 5.218 ms 8 p4-2.bstnma1-ba1.bbnplanet.net (4.0.2.174) 12.561 ms 10.128 ms 10.257 ms 9 p0-0-0.bstnma1-cr5.bbnplanet.net (4.24.4.202) 7.325 ms 7.361 ms 8.225 ms 10 4.24.89.2 (4.24.89.2) 8.181 ms 10.091 ms 14.714 ms 11 pos2-0-155M.cr1.BOS1.gblx.net (206.132.247.49) 19.779 ms 20.991 ms 18.909 ms 12 pos2-1-155M.cr2.ROC1.gblx.net (206.132.119.189) 23.861 ms 19.161 ms 17.307 ms 13 pos6-0-622M.cr2.SNV.gblx.net (206.132.151.14) 75.357 ms 77.610 ms 76.937 ms 14 pos1-0-2488M.hr8.SNV.gblx.net (206.132.254.41) 74.483 ms 75.584 ms 95.913 ms 15 bas1r-ge3-0-hr8.snv.yahoo.com (208.178.103.62) 83.410 ms 76.266 ms 80.387 ms 16 www1.yahoo.com (204.71.200.66) 81.844 ms 91.313 ms 73.344 msExercises:
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 useful in answering this question. You also might find some helpful information in chapter 4 of the lecture notes.
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 where it says "Enter search keywords:" and press return. 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.comon 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.
(Note: routers have a number of different ports which are connected to different links; these ports have distinct IP addresses but are still part of the same machine. For example, it is possible that the address 4.0.1.158 that you see on one of the traces represents the same router as the address 4.0.1.180 that you see on the traceroute output for the reverse direction. For this reason, it is sometimes difficult to be certain whether or not two IP addresses that share a common prefix are on the same machine. But if the first component of the IP address is different, those addresses almost certainly are for different routers.)
3. Blackholes:
At the command prompt, type
% traceroute 18.31.0.200a) 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.
Read section E of Chapter 4 in the class notes. Today's lecture will be based on the end-to-end layer.
Read Saltzer, Reed and Clark, "End-to-End Arguments in System Design" (Reading #13). 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?
Today's assignment is your fifth hands-on assignment. For this assignment, you need to do the following exercises and hand in your results during recitation.
Measuring Round Trip Times With PingThe ping utility is one of the more useful utilities for testing a network. The ping utility works by sending a short message of type echo-request to a host using a network protocol called ICMP, the Internet Control Message Protocol. A host that supports ICMP (and most do) and receives an echo-request message simply replies by sending a short ICMP message of type echo-response back to the originating host.
For more information, look at the man page on ping and the specifications for ICMP, located in RFC 792. To get to RFC 792 on Athena, type
% attach rfc % more /mit/rfc/rfc792.txtTo get to the man page on ping, type
% man pingExercises
Please record your answers to the two 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.
In this exercise, you will use the ping utility to send echo requests to a number of different hosts. To use the ping command on Athena, simply type the letters
ping
on the command line. A list of possible options will appear.You may use any other form of the ping utility so long as it sends ICMP echo-request packets and can report the number of echo-response packets and the round trip time per packet. If you do use a non-Athena workstation, please make sure you use
ping
from some machine connected to the MIT network. Please also note that the TAs cannot guarantee tech support if you do not use an Athena Sun workstation.On the Sun workstations on Athena, the ping utility is located in
/usr/sbin/ping
. On the SGI workstations on Athena, the ping utility is located in/usr/etc/ping
. If you use the ping from a Sun workstation, you may have to use the-s
option to get it to display the results that you want. Typemachtype
to determine the type of machine you are using. If you have any more questions, see the man pages for more details on how to use ping.Exercise #1
a) For the following hosts, send 20 packets, each with a length of 56 data bytes. Indicate what percent of the packets resulted in a successful response. For the packets from which you received a response, write down the minimum, average, and maximum round trip times in milliseconds. Note that ping reports these times to you if you tell it how many packets to send on the command line.
The list of hosts are:
www.lcs.mit.edu www.stanford.edu www.cs.vu.nl (Vrije Univeristy, Prof. Kaashoek's alma mater) www.kyoto-u.ac.jp (Kyoto University)Note: You may find that the packet responses are 64 bytes instead of 56 bytes. Look at RFC 792 to find out the reason.
b) For 56-byte packets, what can you say about the differences in the minimum round-trip times for pings of www.lcs.mit.edu, www.stanford.edu, www.cca.vu.nl and www.kyoto-u.ac.jp? What reason can you give to explain why these differences occur?
c) For same hosts listed above, send 20 packets that have lengths of 512 data bytes and 1024 data bytes. Write down the minimum, average, and maximum round trip times in milliseconds.
d) When comparing 56-byte packets, 512-byte packets, and 1024-byte packets, what can you say about the difference in minimum round-trip times to the same host?
Exercise #2
a) For the following hosts, send 20 packets that have a length of 56 data bytes. Indicate what percent of the packets resulted in a successful response. For the packets that you received a response, write down the minimum, average, and maximum round trip times in milliseconds.
www.pku.edu.cn (Peking University) www.wits.ac.za (University of the Witwatersrand, Johannesburg) herrera.lcs.mit.edu (TA's machine modified for this exercise) www.microsoft.comb) For some of the hosts, you may not have gotten responses for all the packets you sent. Can you think of a few reasons as to why you might have not gotten a response?
Yes, we will be having a lecture on Friday this week. A special lecture will be given by the writing program on the subject of writing up your design project. They will present the recommended format for the writeup and give you some tips about how to write a technical paper like the ones we have been reading in class. If you are planning on using your report to pass the Phase 2 requirement, you might find this lecture helpful.
Read Chapter 4, section F of the lecture notes. Today's lecture will be on Congestion and Flow Control.
Read the paper "The Click Modular Router" by Eddie Kohler, et al.
There is no one-pager due today. Instead, keep working on Design Project 1.
Read sections A and B of Chapter 5 in the lecture notes. Today's lecture will begin our discussion of naming.
Recitation discussion today will be on Network Address Translation. Please read the following papers:
These are documents discussing the problems with NAT. For background, you may wish to readDesign project 1 is due today in recitation.
Engineering is the art of modeling materials we do not wholly understand, into shapes we cannot precisely analyse so as to withstand forces we cannot properly assess, in such a way that the public has no reason to suspect the extent of our ignorance. (A. R. Dykes, Scottish Branch, Institution of Structural Engineers, 1946)
Go to 6.033 Home Page | Questions or Comments: 6.033-tas@mit.edu
|