Exploring the Internet with Ping and Traceroute

Due date

Monday, January 30

Introduction

In this assignment, you will use the ping and traceroute tools to investigate network connectivity and performance.

Goals

Acknowledgments

This lab borrows from a lab from Mike Erlinger, which borrows from a lab by Mark Liffiton, which borrows from labs by Mike and me, which borrow from experiment 3.4 in Hands-On Networking with Internet Technologies by Douglas Comer (2nd edition, 2005) and exercises from Peterson and Davie's Computer Networks: A Systems Approach (4th edition, 2007). Part C also borrows from problem 1.P18 in Kurose and Ross's Computer Networking: A Top-Down Approach (5th edition, 2010).

References

Logistics

You may work individually or in pairs on this assignment.

I expect you to complete these exercises on a MathLAN workstation. f you have access to another Unix host and you'd prefer to investigate these tools there, go for it, but make sure to document this fact. The manpages to which this lab refers are those on the MathLAN, and they may differ on other hosts. In particular, you will find that parameters to many of the tools vary. Do a local man to see what is required on that machine.

iproute2 is a new set of tools that replace most of the tools for this assignment. But iproute2 has not made its way into all the various OSs. Feel free to use iproute2 instead of the listed tools.

Assignment

Part A: Experiments with ping

  1. Read the manpage for ping, focusing on the Description section. What is it used for? Make sure you figure out
  2. Experiment with pinging each of the following hosts 20 times using the count option. What are the minimum, average, and maximum RTTs for each host? You probably won't receive any replies from a few of the hosts. Are those hosts down (broken)?

    1. www.cs.grinnell.edu (on campus)
    2. www.grinnell.edu (on campus)
    3. www.one-eyed-alien.net (in Professor Davis's basement a block off campus)
    4. www.cs.iastate.edu (in Ames)
    5. www.cs.uchicago.edu (in Chicago)
    6. www.cs.ucla.edu (on the West coast; home of Leonard Kleinrock and the first Internet node!)
    7. www.cs.hmc.edu (also on the West coast)
    8. www.canterbury.ac.nz   (really West)
    9. www.cs.mit.edu   (on the East Coast)
    10. www.uni-ulm.de   (in Ulm, Germany)

  3. Ping www.cs.grinnell.edu using packets of different sizes, from 30-byte packets to 1000-byte packets. Does the RTT vary with the size of the packet? What do you think accounts for the differences?

  4. Ping a host farther away using packets of different sizes, again from 30B to 1KB. Does the RTT vary with the size of the packet? What do you think accounts for the differences?

Part B: Experiments with traceroute

  1. Read the manpage for traceroute, focusing on the Description section and the last few paragraphs of the Options section. What is it used for, and how does it work?

  2. Use traceroute to determine the routes to the hosts listed in Part D above. What are the hop counts for each? What are the common hosts traversed by all paths taken to hosts outside the MathLAN?

  3. Public traceroute servers allow Internet users to learn about network routes from sources that are outside their own networks. The website www.traceroute.org is a directory of public traceroute servers. Using this website, find at least four geographically dispersed public traceroute servers and trace the route from each of them back to www.cs.grinnell.edu. (Personally, I think Kyrgyzstan is a good choice for one of them.)

Part C: Further experiments and research

  1. Choose three destinations from the list above, and use ping and traceroute to collect information about them at three different hours of the day.

    1. Explain which destinations you chose and why.
    2. Find the average and standard deviation of the RTT at each of the three hours. Do the RTTs vary for all of the destinations, some, or none? What are some reasons why they might vary?

    3. Find the number of routers in the path at each of the three hours. Did the paths change during any of the hours? What are some reasons why paths might change?

  2. How can traceroute find at least partial paths to some hosts that you couldn't ping?

  3. Why does traceroute not find complete paths (but only ***) to some hosts that you can ping?

Assessment

To earn a B, complete parts A and B, along with the discussion questions.

To earn an A, complete parts A, B, and C, along with the discussion questions.

Lab Notebook Issues

Record the data you are asked to collect in your lab notebook. Include the questions along with the answers to the questions in the assignment.

Advice & Hints

You can find an index of Internet RFCs at www.rfc-editor.org.

Discussion Questions

  1. Based on your experiments with ping and traceroute, what conclusions would you draw about the RTT's relationship with number of hops, number of ISPs traversed, and geographic distance? (Are there any relationships?)
  2. What would you guess is the average RTT between any two hosts on the Internet? The longest RTT? Explain your reasoning.
  3. What would you guess is the average number of hops between any two hosts on the Internet? The greatest number of hops? Explain your reasoning.
  4. Did you discover anything else interesting while working on this lab?
  5. How long did you spend on this assignment? What problems, if any, did you run into?

Janet Davis (davisjan@cs.grinnell.edu)

Created August, 2008
Last revised January 26, 2012