CPE 401/601 Computer Network Systems

Spring 2016

Assignment 1: Network Measurement

Due on Wednesday, Feb 8, at 1 pm

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.

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. It allows you to measure the time that it takes for a packet to travel through the Internet to a remote host and back. The ping utility works by sending a short message, called an echo-request, to a host using the Internet Control Message Protocol (ICMP). A host that supports ICMP (and most do) and receives an echo-request message simply replies by sending an echo-response back to the originating host.

For more information about ping, look at the man page on ping and the specifications for ICMP, located in RFC 792.

% man ping

To use the ping command, run a command such as:

% ping planetlab1.unr.edu

Round Trip Times

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. (Hint: read what -c flag does on ping man page)

The hosts are:

planetlab1.unr.edu
www.unr.edu
www.utdallas.edu
www.smu.edu
www5.usp.br
www.ox.ac.uk
www.kyoto-u.ac.jp
www.uonbi.ac.ke

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, 1024 and 2056 byte packets to planetlab1.unr.edu. (Hint: read about the -s flag on the ping man page.) Write down the average round trip times in milliseconds for each of the four groups. Do the same for www.kyoto-u.ac.jp. Explain the changes in round-trip times that you observed (or didn't observe) in both cases.

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.unr.edu
planetlab1.unr.edu

Question 4: For some of the hosts, you may not have received any responses for the packets you sent. What are some reasons as to why you might have not gotten a response? (Be sure to check the hosts in a web browser.)

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.google.com

tries to determine the path from the source machine (vinegar-pot.mit.edu) to www.google.com. The machine encountered on the path after the first hop is NW12-RTR-2-SIPB.MIT.EDU, the next is EXTERNAL-RTR-1-BACKBONE-2.MIT.EDU, and so on. In all, it takes 13 hops to reach py-in-f99.google.com. The man page for traceroute (% man traceroute ) contains explanations for the remaining fields on each line.

% traceroute www.google.com
traceroute to www.google.com (216.58.216.164), 30 hops max, 60 byte packets
 1  134.197.20.254 (134.197.20.254)  0.455 ms  0.651 ms  0.885 ms
 2  10.251.1.211 (10.251.1.211)  0.517 ms  0.608 ms  0.663 ms
 3  10.251.99.251 (10.251.99.251)  0.799 ms  0.776 ms  0.763 ms
 4  134.197.0.9 (134.197.0.9)  1.388 ms  1.383 ms  1.386 ms
 5  scs-unr-link1.scsr.nevada.edu (207.197.33.69)  1.095 ms  1.060 ms  1.058 ms
 6  i2cps-nshe-slc.scsr.nevada.edu (207.197.33.46)  24.334 ms  24.358 ms  24.368 ms
 7  162.252.69.137 (162.252.69.137)  24.384 ms  24.380 ms  24.370 ms
 8  108.170.245.97 (108.170.245.97)  24.323 ms  24.300 ms  24.344 ms
 9  209.85.243.59 (209.85.243.59)  24.340 ms 209.85.243.9 (209.85.243.9)  24.377 ms 209.85.243.59 (209.85.243.59)  24.471 ms
10  sea15s02-in-f4.1e100.net (216.58.216.164)  24.263 ms  24.241 ms  24.235 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.

Routine Asymmetries

For this exercise, you need to use the traceroute server at http://www.slac.stanford.edu/cgi-bin/nph-traceroute.pl. You'll use this server to execute a traceroute to your own machine.

To figure out your machine's IP address, run /sbin/ifconfig. You'll get a lot of information, including its IP.

Once you have your IP, use Stanford's server to execute a traceroute to it.

Then run your own traceroute to Stanford's server, via

% traceroute [IP ADDRESS FROM STANFORD]
You can get Stanford's IP address from the website

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? If not, why might this happen?

Blackholes

At the command prompt, type:

% 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.

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.*.*.*).

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 that forwards packets for each path listed in the table. 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: How long did it take you to complete this hands-on?

Submitting your files

Submission of your homework is via WebCampus. You must submit all the required files in a single PDF document.

Note: This assignment is modified from http://web.mit.edu/6.033/www/