M.I.T. DEPARTMENT OF EECS
6.033 - Computer System Engineering | Traceroute Hands-On Assignment |
Complete the following hands-on assignment. Do the activities described, and hand in the answers to the numbered questions only at the beginning of recitation on Thursday, March 10.
In this assignment you will get a chance to experiment with two very
useful and widely-used network diagnostic tools,
traceroute
and ping
, to expose you to some of
the interesting quirks in network routing and packet round trip
times.
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. In either case, please make sure you use a workstation on the MIT network. Some results may be quite different if you use an off-campus network.
In the first two exercises, you will use the ping utility to send echo requests to a number of different hosts. The 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. Section 4.D.4 of the course notes describes ICMP as well.
To get to the man page for ping, type:
athena% man ping
To use the ping command on Athena, run a command such as:
athena% ping www.yahoo.com
If you run ping from a Sun workstation, you may have to use the -s
(lowercase)
option to get it to display the results that you want. Type
machtype
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.
For the following hosts, send 10 packets, each with a length of 56 data bytes. Note: You may find that the packet responses are 64 bytes instead of 56 bytes. Look at RFC 792 to find out the reason.
The hosts are:
www.csail.mit.edu www.berkeley.edu www.usyd.edu.au www.kyoto-u.ac.jp
Question 1: Indicate what percentage of packets sent 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.
Question 2: Explain the differences in minimum round trip time to each of these hosts.
Question 3: Now send pings with 56, 512 and 1024 byte packets to the 4 hosts above. Write down the minimum, average, and maximum round trip times in milliseconds for each of the 12 pings. Why are the minimum round-trip times to the same hosts different when using 56, 512, and 1024 byte packets?
For the following hosts, send 100 packets that have a length of 56 data bytes. Indicate what percentage 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.wits.ac.za (University of the Witwatersrand, Johannesburg) www.microsoft.com
Question 4: For some of the hosts, you may not have gotten responses for all the packets you sent. What are a few reasons as to why you might have not gotten a response?
As the name implies, traceroute
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 www.yahoo.com
tries to determine the path from the source machine
(home-on-dome.mit.edu
) to www.yahoo.com
. The
machine encountered on the path after the first hop is
W92-RTR-1-W92SRV16.MIT.EDU
, the next is
EXTERNAL-RTR-2-BACKBONE.MIT.EDU
, and so on. In all, it takes 12 hops
to reach p22.www.dcn.yahoo.com
. The man page for
traceroute ( athena% man traceroute
) contains explanations for the remaining fields on each line.
% traceroute www.yahoo.com traceroute to www.yahoo.akadns.net (216.109.117.107), 30 hops max, 40 byte packets 1 W92-RTR-1-W92SRV16.MIT.EDU (18.7.16.1) 0.715 ms 0.442 ms 0.374 ms 2 EXTERNAL-RTR-2-BACKBONE.MIT.EDU (18.168.0.27) 0.575 ms 0.577 ms 0.492 ms 3 g3.ba21.b002250-1.bos01.atlas.cogentco.com (38.112.2.213) 1.038 ms 1.267 ms 1.232 ms 4 g0-2.core01.bos01.atlas.cogentco.com (66.250.14.205) 1.110 ms 1.277 ms 1.157 ms 5 p5-0.core01.jfk02.atlas.cogentco.com (66.28.4.118) 6.183 ms 6.616 ms 6.428 ms 6 p4-0.core02.dca01.atlas.cogentco.com (66.28.4.81) 12.859 ms 12.437 ms 11.966 ms 7 p15-0.core01.dca01.atlas.cogentco.com (66.28.4.21) 65.894 ms 12.464 ms 39.780 ms 8 p2-0.core01.iad01.atlas.cogentco.com (154.54.2.202) 13.286 ms 13.168 ms 13.658 ms 9 yahoo.iad01.atlas.cogentco.com (154.54.10.2) 13.306 ms 13.318 ms 13.519 ms 10 ae1.p420.msr2.dcn.yahoo.com (216.115.96.185) 13.546 ms ae1.p400.msr1.dcn.yahoo.com (216.115.96.181) 13.748 ms 13.482 ms 11 ge6-1.bas2-m.dcn.yahoo.com (216.109.120.221) 13.596 ms ge7-1.bas1-m.dcn.yahoo.com (216.109.120.205) 13.353 ms ge10-2.bas1-m.dcn.yahoo.com (216.109.120.203) 13.738 ms 12 p22.www.dcn.yahoo.com (216.109.117.107) 14.460 ms 13.661 ms 13.202 ms
Question 5:
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.
For this exercise, you need to use the traceroute server at http://trace.tele.dk/cgi-bin/traceroute.pl.
When you view this web page, excute a traceroute to your machine (run hostname
to find
the name of your machine.)
Note: It is important to be running this on Athena machines.
Now run
athena% traceroute trace.tele.dk
Question 6: Show the output of traceroute from each direction above.
Question 7: Describe anything unusual about the output. Are the same routers traversed in both directions? Why might this happen?
At the command prompt, type:
athena% traceroute 18.31.0.200
Question 8: Show the output of the above command. Describe what is strange about the observed output, and why traceroute gives you such an output. Refer to the traceroute man page for useful hints.
For this last question on the topic of internet routing, you need to refer to the BGP routing table data below. This table shows all of the BGP routing entries that a particular router (near the university of oregon) refers to when forwarding any packets to MIT (IP Address 18.*.*.*).
As described in the Internet
routing paper, recall that BGP is a path vector protocol.
Each line of this table lists a distinct path from this router
to MIT, from which it will choose one to use.
The Next Hop
field is the IP address of the router to foward packets
to
which use that path.
The Path
field is the list of autonomous systems the path
traverses on its way to MIT.
The other fields (Metric, LocPrf, Weight
) may be used by the router to
decide which one of the possible paths to use.
BGP table version is 9993576, local router ID is 198.32.162.100 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * 18.0.0.0 216.140.8.59 413 0 6395 3356 3 i * 216.140.2.59 982 0 6395 3356 3 i * 141.142.12.1 0 1224 22335 11537 10578 3 i * 209.249.254.19 125 0 6461 3356 3 i * 202.232.0.2 0 2497 3356 3 i * 209.10.12.125 8204 0 4513 3356 3 i * 208.51.113.253 0 3549 174 16631 3 3 3 i * 209.123.12.51 0 8001 1784 10578 3 i * 209.10.12.156 0 0 4513 3356 3 i * 195.66.224.82 0 4513 3356 3 i * 209.10.12.28 8203 0 4513 3356 3 i * 203.181.248.233 0 7660 11537 10578 3 i * 64.50.230.2 0 4181 174 174 174 16631 3 3 3 i * 195.66.232.254 0 5459 2649 174 174 174 16631 3 3 3 i * 195.66.232.239 0 5459 2649 174 174 174 16631 3 3 3 i * 64.50.230.1 0 4181 174 174 174 16631 3 3 3 i * 194.85.4.55 0 3277 8482 29281 702 701 3356 3 i * 207.172.6.227 83 0 6079 10578 3 i * 207.172.6.162 62 0 6079 10578 3 i * 129.250.0.85 11 0 2914 174 16631 3 3 3 i * 206.220.240.95 0 10764 11537 10578 3 i * 217.75.96.60 0 16150 8434 3257 3356 3 i * 66.185.128.48 514 0 1668 3356 3 i * 206.24.210.26 0 3561 3356 3 i * 216.191.65.118 0 15290 174 16631 3 3 3 i * 216.191.65.126 0 15290 174 16631 3 3 3 i * 209.161.175.4 0 14608 19029 3356 3 i * 202.249.2.86 0 7500 2497 3356 3 i * 208.186.154.35 0 0 5650 3356 3 i * 167.142.3.6 0 5056 1239 3356 3 i * 64.200.151.12 0 7911 3356 3 i * 195.219.96.239 0 6453 3356 3 i * 208.186.154.36 0 0 5650 3356 3 i * 203.194.0.12 0 9942 16631 174 174 174 16631 3 3 3 i * 213.200.87.254 40 0 3257 3356 3 i * 216.218.252.145 0 6939 3356 3 i * 216.18.63.137 0 6539 174 16631 3 3 3 i * 216.218.252.152 0 6939 3356 3 i * 195.249.0.135 0 3292 3356 3 i * 65.106.7.139 3 0 2828 174 16631 3 3 3 i * 207.45.223.244 0 6453 3356 3 i * 207.246.129.14 0 11608 6461 3356 3 i * 207.46.32.32 0 8075 174 16631 3 3 3 i * 129.250.0.11 0 0 2914 174 16631 3 3 3 i * 134.55.200.1 0 293 11537 10578 3 i * 193.0.0.56 0 3333 3356 3 i * 216.140.14.186 3 0 6395 3356 3 i * 198.32.8.196 960 0 11537 10578 3 i * 64.200.95.239 0 7911 3356 3 i * 196.7.106.245 0 2905 701 3356 3 i * 154.11.63.86 0 852 174 16631 3 3 3 i * 134.222.85.45 0 0 286 209 3356 3 i * 213.140.32.146 0 12956 174 16631 3 3 3 i * 164.128.32.11 0 3303 3356 3 i * 213.248.83.240 0 1299 3356 3 i * 154.11.98.18 0 852 174 16631 3 3 3 i *> 4.68.0.243 0 0 3356 3 i * 204.42.253.253 0 0 267 2914 174 16631 3 3 3 i * 206.186.255.223 0 2493 3602 174 16631 3 3 3 i * 193.251.128.22 0 5511 3356 3 i * 203.62.252.26 0 1221 4637 3356 3 i * 12.0.1.63 0 7018 3356 3 i * 144.228.241.81 4294967294 0 1239 3356 3 i
Question 9: >From the path entry data, which Autonomous System (AS) number corresponds to MIT?
Question 10: What are the Autonomous System (AS) numbers of each AS which advertises a direct link to MIT?
Question 11: Would you guess that the inter-AS relationship between MIT and each AS with a direct link is a peering or transit relationship?
If you'd like to explore BGP and Internet routing in more depth, be sure to take 6.829 Computer Networks, which is taught by Professor Hari Balakrishnan in the Fall!
Question 12: How long did this assignment take to complete?