CSE 2015

Hands-on #5 Internet Routes and Measuring Round Trip Times

Complete the following hands-on assignment. Do the activities described, and submit your solutions for following questions to
ftp://kiki_yu:public@public.sjtu.edu.cn/upload/hands-on-5

Please submit a doc or a pdf with title like 513037xxxx.pdf. You are free to use either Chinese or English. Due time is 2015-5-1 23:59.

Introduction

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.

Please make sure you use a workstation on the SJTU network. Some results may be quite different if you use an off-campus network.

Preperation

Install traceroute: Run the command to install it.

sudo apt-get install traceroute

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

In many of the exercises, you will be referring to hosts via their DNS names rather than their IP addresses. (For more information about Internet hostnames and DNS, and how these relate to IP addresses, please see Section 4.4 of the course notes.)

For more information about ping, look at the man page on ping and the specifications for ICMP, located in RFC 792. Section 7.13.4 of the course notes describes ICMP as well.

athena% man ping

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

athena% ping www.baidu.com

If you have any more questions, see the man pages for more details on how to use ping.

A. Round Trip Times:

In the following two questions, you are asked to use the ping utility to measure the round trip times to several hosts on the Internet.

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.unsw.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?

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.

www.wits.ac.za         (University of the Witwatersrand, Johannesburg)

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

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.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 ( athena% man traceroute ) contains explanations for the remaining fields on each line.

% traceroute www.google.com  
traceroute: Warning: www.google.com has multiple addresses; using 64.233.167.99
traceroute to www.l.google.com (64.233.167.99), 30 hops max, 40 byte packets
1  NW12-RTR-2-SIPB.MIT.EDU (18.181.0.1)  0.476 ms  0.318 ms  0.237 ms
2  EXTERNAL-RTR-1-BACKBONE-2.MIT.EDU (18.168.1.18)  0.827 ms  0.624 ms  0.753 ms
3  EXTERNAL-RTR-2-BACKBONE.MIT.EDU (18.168.0.27)  1.097 ms  0.772 ms  0.887 ms
4  207.210.142.233 (207.210.142.233)  0.578 ms  0.549 ms  0.713 ms
5  207.210.142.1 (207.210.142.1)  0.750 ms  2.530 ms  1.178 ms
6  207.210.142.2 (207.210.142.2)  5.886 ms  15.387 ms  5.762 ms
7  64.57.29.21 (64.57.29.21)  24.732 ms  24.693 ms  24.695 ms
8  72.14.236.215 (72.14.236.215)  31.733 ms  27.588 ms 216.239.49.34 (216.239.49.34)  27.810 ms
9  66.249.94.235 (66.249.94.235)  12.495 ms 209.85.252.166 (209.85.252.166)  36.961 ms  26.459 ms
10  216.239.46.224 (216.239.46.224)  33.736 ms  33.396 ms 209.85.248.221 (209.85.248.221)  26.130 ms
11  66.249.94.133 (66.249.94.133)  26.126 ms 72.14.232.53 (72.14.232.53)  25.744 ms  25.611 ms
12  66.249.94.133 (66.249.94.133)  26.183 ms  27.460 ms 72.14.232.70 (72.14.232.70)  37.800 ms
13  py-in-f99.google.com (64.233.167.99)  28.249 ms  26.050 ms  26.398 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.

B. Routine Asymmetries:

For this exercise, you need to use the traceroute server at here. When you view this web page, execute a traceroute (trace) to your machine (click yes). Run your local traceroute to whatever server Stanford tells you it is running traceroute from for this question.

Note:

  • IPv6 is not supported by this website. You may need to turn it off and reboot before you start.
  • If the Stanford traceroute does not work, or if you get no reply after 2--3 minutes, you should try one of the other looking glass servers on this page. If you use a different server, make sure that you note in your hands-on that you used a different server than the question asked for. (You can run /sbin/ifconfig to find the IP Address of your machine)

Now run this on your machine:

athena% traceroute www1.slac.stanford.edu

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?(here is a sample)

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.

2. Border Gateway Protocol (BGP)

For this last question on the topic of Internet routing, you need to refer to the BGP routing table data. 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 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.

Question 9: What are Autonomous Systems(AS)? What's the difference between Interior Gateway Protocol(IGP) and Border Gateway Protocol(BGP)?

Question 10: From the path entry data, which Autonomous System (AS) number corresponds to MIT? (Read the paper for help)