Search This Blog

Sunday, January 01, 2012

Hands-on 3 Solutions: Internet Routes and Measuring Round Trip Times


M.I.T. DEPARTMENT OF EECS


6.033 - Computer System Engineering Traceroute Hands-On Assignment

Hands-on 3 Solutions: Internet Routes and Measuring Round Trip Times

After reading section 4.D of the course notes, which was assigned for Lecture 10, and the paper on Internet Routing assigned for Recitation 10, complete the following hands-on assignment. Do the activities described, and hand in the answers to the numbered questions only at the beginning of class on Thursday, March 11.
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.

0. Measuring Round Trip Times With Ping

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 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.
A. Round Trip Times:
For the following hosts, send 20 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.stanford.edu 
www.cs.vu.nl           (Vrije Univeristy, Prof. Kaashoek's alma mater)
www.kyoto-u.ac.jp      (Kyoto University)
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.

----www.csail.mit.edu PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 2/2/4

----www.stanford.edu PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 90/90/91

----www.cs.vu.nl PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 89/89/89

----www.kyoto-u.ac.jp PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 206/208/246
Question 2: Explain the differences in minimum round trip time to each of these hosts.
The further the destination is from MIT, the longer the propagation time. www.csail.mit.edu, which is on campus, is only a few milliseconds away. The west coast of the US, and the destination in Europe are both around 90ms away, while Japan is much further.
Optional Question 2a (you do not need to answer this question): What host can you find with the longest round-trip time for 56 byte ping packets, which answers at least 50% of pings?
The buffering in my home dsl connection is poorly designed. I can quite easily cause the queuing delay to consistently be 750ms:
--- 66.92.73.251 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19196ms
rtt min/avg/max/mdev = 766.318/790.453/811.159/12.278 ms, pipe 2
This answer is somewhat contrary to the spirit of the question though, since only 20 ms of this delay is due to propagation time.
For same hosts listed above, send 20 packets each that have lengths of 512 data bytes and another 20 packets with 1024 data bytes.
Question 3: Write down the minimum, average, and maximum round trip times in milliseconds. Why are the minimum round-trip times to the same hosts different when using 56, 512, and 1024 byte packets?
512 byte data packets:
----www.csail.mit.edu PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 4/4/7

----www.stanford.edu PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 91/91/93

----www.cs.vu.nl PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 90/90/92

----www.kyoto-u.ac.jp PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 208/208/209
1024 byte packets:
----www.csail.mit.edu PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 5/6/8

----www.stanford.edu PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 93/93/96

----www.cs.vu.nl PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 91/91/95

----www.kyoto-u.ac.jp PING Statistics----
20 packets transmitted, 20 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 211/252/317
Larger packets have a longer transmission delay since the sending and receiving machines must spend more time just getting the packet on and off the network. The time it takes to put the packet onto the network is determined by the bandwidth and the amount of data being transmitted. However, the transmission delay is small compared to the latency caused by the propagation delay. Hence the amount of additional time for larger packets is small compared to the round trip time for small packets.
B. Unanswered Pings:
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?
Neither of these machines send back any ping responses. A few possible reasons:
  1. Saving of resources: The sites might be trying to minimize the number of services on its web site so that the system can focus on serving web requests.
  2. Security: By providing fewer services, fewer security "holes" are likely to exist. People have been known to use ping to send very large packets to hosts. These packets cause the servers' buffers to overflow and crash the system.
  3. Firewall: The www.microsoft.com machine could be hidden behind a firewall which only allows http requests to pass. Hence ICMP packets never make it to www.microsoft.com.
  4. Crash: The system on the other end might have crashed.
  5. Temporary Congestion: The network may be dropping packets because of congestion.
  6. Network failure: The network connection to or from a host may have failed.
  7. Hacked Machine: A machine was modified to behave by dropping packets.
Because both of these hosts run a functioning web server, the true reason for not receiving responses is more likely some of the first three reasons than the last four.

1. Understanding Internet routes using traceroute

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 (tears.lcs.mit.edu) to www.yahoo.com. The machine encountered on the path after the first hop is anacreon.lcs.mit.edu, the next is radole.lcs.mit.edu, and so on. In all, it takes 11 hops to reach p6.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.118.69), 64 hops max, 44 byte packets
 1  anacreon (18.26.4.1)  0.605 ms  0.547 ms  0.529 ms
 2  radole (18.24.10.3)  34.441 ms  1.942 ms  2.051 ms
 3  B24-RTR-2-LCS.MIT.EDU (18.201.1.1)  1.339 ms  1.962 ms  2.090 ms
 4  EXTERNAL-RTR-2-BACKBONE.MIT.EDU (18.168.0.27)  2.707 ms  2.008 ms  2.095 ms
 5  p1-0.hsa1.bos1.bbnplanet.net (4.24.88.49)  3.806 ms  2.399 ms  2.376 ms
 6  ge-6-2-0.mp2.Boston1.Level3.net (64.159.4.157)  2.403 ms  2.223 ms  1.731 ms
 7  as-3-0.bbr1.Washington1.Level3.net (64.159.3.254)  19.592 ms  13.708 ms  13.372 ms
 8  ge-7-1.ipcolo1.Washington1.Level3.net (64.159.18.67)  12.561 ms  12.851 ms  13.488 ms
 9  unknown.Level3.net (63.210.59.254)  15.119 ms  16.081 ms  15.943 ms
10  vl47.bas1-m.dcn.yahoo.com (216.109.120.218)  15.690 ms vl31.bas2-m.dcn.yahoo.com (216.109.120.146)  15.893 ms vl30.bas1-m.dcn.yahoo.com (216.109.120.142)  14.883 ms
11  p6.www.dcn.yahoo.com (216.109.118.69)  17.671 ms  18.124 ms  17.931 ms
A. Basics:
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.
Traceroute sends UDP probes to the destination with incrementing TTLs. Intermediate hosts decrement the ttl and send back ICMP "time exceeded" errors if it reaches zero. The host that generated the error is a node along the path. The destination sends an ICMP "port unreachable" messages in response to probes.
B. Routine Asymmetries:
For this exercise, you need to use the traceroute server at http://traceroute.hofl.net:8080/trace.cgi. When you view this web page, the traceroute server will execute traceroute on the machine running the webserver (traceroute.hofl.net, in this case) to your machine. Note: this traceroute server will only run traceroute to destinations on the MIT network. You cannot use this server to traceroute to off-campus destinations.
Now run
athena% traceroute traceroute.hofl.net
on your machine.
Question 6: Show the output of traceroute from each direction above.
From traceroute.hofl.net to 18.7.16.73:
 1  node-423a4159.bos.onnet.us.uu.net (66.58.65.89)  0.748 ms  0.570 ms  0.633 ms
 2  207.251.160.19 (207.251.160.19)  21.790 ms  20.784 ms  20.943 ms
 3  207.251.184.38 (207.251.184.38)  17.928 ms  17.876 ms  18.200 ms
 4  0.so-2-1-0.HR1.BOS4.ALTER.NET (152.63.16.57)  20.794 ms  20.772 ms  20.982 ms
 5  549.at-5-0-0.XR2.BOS4.ALTER.NET (152.63.21.246)  21.012 ms  20.716 ms  20.973 ms 6  0.so-4-0-0.XL2.BOS4.ALTER.NET (152.63.16.133)  20.999 ms  20.810 ms  18.031 ms
 7  0.so-1-2-0.XL2.NYC4.ALTER.NET (152.63.21.13)  29.927 ms  29.729 ms  26.977 ms
 8  0.so-7-0-0.BR1.NYC4.ALTER.NET (152.63.21.81)  29.985 ms  26.837 ms  26.985 ms
 9  so-0-0-0.edge1.NewYork1.Level3.net (209.244.160.181)  26.988 ms  26.826 ms  26.951 ms
10  ge-2-1-0.bbr2.NewYork1.Level3.net (64.159.4.149)  30.035 ms  26.737 ms  27.008 ms
11  so-0-1-0.mp1.Boston1.Level3.net (209.247.9.125)  33.006 ms  32.747 ms  32.956 ms12  ge-10-1.hsa1.Boston1.Level3.net (64.159.4.154)  33.003 ms  32.719 ms  30.004 ms
13  p0-0.mit3.bbnplanet.net (4.24.88.50)  39.034 ms  38.741 ms  38.919 ms
14  W92-RTR-1-BACKBONE.MIT.EDU (18.168.0.25)  39.085 ms  59.781 ms  41.913 ms
15  BUZZWORD-BINGO.MIT.EDU (18.7.16.73)  38.968 ms  41.667 ms  41.929 ms
From 18.7.16.73 to traceroute.hofl.net:
 1  W92-RTR-1-W92SRV16.MIT.EDU (18.7.16.1)  1.285 ms  0.436 ms  0.376 ms
 2  EXTERNAL-RTR-2-BACKBONE.MIT.EDU (18.168.0.27)  0.522 ms  0.453 ms  0.453 ms
 3  g3.ba21.b002250-1.bos01.atlas.cogentco.com (38.112.2.213)  1.141 ms  0.855 ms  0.971 ms
 4  g0-2.core01.bos01.atlas.cogentco.com (66.250.14.205)  0.847 ms  0.870 ms  1.126 ms
 5  p5-0.core01.jfk02.atlas.cogentco.com (66.28.4.118)  6.359 ms  6.365 ms  6.053 ms 
 6  p4-0.core02.dca01.atlas.cogentco.com (66.28.4.81)  12.008 ms  11.925 ms  30.351 ms
 7  p15-1.pr01.iad01.atlas.psi.net (154.54.1.190)  13.645 ms  13.274 ms  13.085 ms
 8  204.255.173.9 (204.255.173.9)  14.665 ms  15.211 ms  14.629 ms
 9  0.so-1-0-0.XL1.DCA6.ALTER.NET (152.63.41.230)  14.793 ms  14.856 ms  14.922 ms
10  0.so-0-0-0.TL1.DCA6.ALTER.NET (152.63.38.69)  14.771 ms  14.674 ms  14.769 ms
11  0.so-2-2-0.TL1.NYC9.ALTER.NET (152.63.1.118)  13.615 ms  13.180 ms  13.116 ms
12  0.so-6-0-0.XL1.BOS4.ALTER.NET (152.63.16.129)  18.226 ms  18.405 ms  18.489 ms
13  0.so-7-0-0.XR1.BOS4.ALTER.NET (152.63.16.122)  18.799 ms  18.774 ms  18.824 ms
14  179.at-3-0-0.HR1.BOS4.ALTER.NET (152.63.21.249)  18.485 ms  18.561 ms  18.538 ms
15  * * *
16  * * *
17  node-423a4159.bos.onnet.us.uu.net (66.58.65.89)  145.077 ms  166.861 ms  151.371 ms
18  node-423a415a.bos.onnet.us.uu.net (66.58.65.90)  150.981 ms  166.505 ms  75.107 ms
Question 7: Describe anything unusual about the output. Are the same routers traversed in both directions? Why might this happen?
The routers traversed in both directions are not the same. In the path starting at MIT, the systems traversed are: MIT, cogentco.com, psi.net, ALTER.NET, and uu.net. In the other direction, the systems are not the same: uu.net, ALTER.NET, Level3.net, bbnplanet.net, and finally MIT.
Routers choose the least cost link to forward packets, and links may not have the same cost (e.g. hop count, money) in either direction. In many cases, router tables also have preconfigured default entries which can cause asymmetry.
C. Blackholes:
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.
traceroute to 18.31.0.200 (18.31.0.200), 30 hops max, 40 byte packets
 1  W92-RTR-1-W92SRV16.MIT.EDU (18.7.16.1)  0.594 ms  0.490 ms  0.425 ms
 2  B24-RTR-2-BACKBONE.MIT.EDU (18.168.0.23)  28.531 ms  24.595 ms  0.988 ms
 3  RADOLE.LCS.MIT.EDU (18.201.1.3)  4.732 ms  3.769 ms  1.929 ms
 4  anacreon.lcs.mit.edu (18.24.10.1)  1.650 ms  3.016 ms  2.025 ms
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
The trace only finds 4 steps, and none of them are the destination. None of the packets with higher TTL's are replied. Either there is no such host (which is true in this case), or the destination is configured not to send ICMP port unreachable replies in response to the traceroute packets.

3. Border Gateway Protocol (BGP)

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?
MIT's AS number is 3. the last AS number in an AS path is the destination.
Question 10: What are the Autonomous System (AS) numbers of each AS which advertises a direct link to MIT?
3356 (Level3), 10578 (NOX.org), and 16631 (Cogent) each appear as the penultimate entry in an AS path, so these all advertise 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?
The links between MIT and each of these three AS's are transit relationships. MIT does have a few peering relationships, but since MIT's peers don't want to advertise to the Internet at large that they can get to MIT through these peering links, we don't expect to see them announced elsewhere on the Internet.
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?
2 hours to write the solutions. Many more to find interesting hosts to traceroute to.

Go to 6.033 Home Page

No comments:

Post a Comment

Thank you