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
- To become familiar with ping and traceroute.
- To learn how to investigate networks both local and wide-area with standard Unix utilities.
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
- man pages
- Google
- RFC 792 - Internet Control Message Protocol
- RFC 1393 - Traceroute
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
- Read the manpage for ping, focusing on the Description section. What is it used for? Make sure you figure out
- what type of information the program reports
- how you can control the ping "count" and packet size.
- 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)?
- www.cs.grinnell.edu (on campus)
- www.grinnell.edu (on campus)
- www.one-eyed-alien.net (in Professor Davis's basement a block off campus)
- www.cs.iastate.edu (in Ames)
- www.cs.uchicago.edu (in Chicago)
- www.cs.ucla.edu (on the West coast; home of Leonard Kleinrock and the first Internet node!)
- www.cs.hmc.edu (also on the West coast)
- www.canterbury.ac.nz (really West)
- www.cs.mit.edu (on the East Coast)
- www.uni-ulm.de (in Ulm, Germany)
- 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?
- 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
- 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?
- 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?
- 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
-
Choose three destinations from the list above, and use ping and traceroute to collect information about them at three different hours of the day.
- Explain which destinations you chose and why.
-
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?
-
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?
-
How can traceroute find at least partial paths to some hosts that you couldn't ping?
-
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
- 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?)
- What would you guess is the average RTT between any two hosts on the Internet? The longest RTT? Explain your reasoning.
- 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.
- Did you discover anything else interesting while working on this lab?
- 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