Fall 2002, Michalis Faloutsos
Measure the end-to-end behavior of the Internet using traceroute and ping.
What is ping: a tool to measure the end to end delay anc checking if
is alive. Try:
ping -c 5 hill.cs.ucr.edu
(see APPENDIX below)
What is traceroute: a tool that explores the path from the initiating
to some other point in the network:
try: traceroute www.google.com for an example
Read the manual: man traceroute for information
Good site: google: traceroute tutorial:
One site that looked pretty good
(see APPENDIX below)
Pick one destination outside the campus (your previous school probably).
Do the same measurements twice in different times of the day.
Scripts must be in python.
Plotting can be done by gnuplot in linux or excel if you prefer. Gnuplot is a very neat tool
that is used widely for plotting in a linux environonment. Excel has various built in statistical
functions, I want you to built your own with python scripts.
a. Measure (min, max, average, 5 and 95 percentile) for a thousands
1. end to end delay (round trip) (ping - hundreds of thousands of measurements)
2. end to end packet loss (ping)
3. Path length (traceroute - 1h worth of measurements)
Ping provides statistics, you should use them
to verify yours.
5-95 percentile: X1 and X2 values such that 5% of values are less than X1 and 95% of values
are less than X2. Intuitively: 90% of the observed values are within X1-X2.
b. Plot the above in time at user-specified level of granularity.
The user will provide
the number of observations that will averaged before plotting.
I.e. for a parameter 5, you will find the average of every five ping measurements
an plot these averages in time.
You should plot for 1,10, 100. Do they look similar? Plot
Additional Bonus Requirements:
a. Measure how many times the path between the end-nodes change. By how much,
b. Use you imagination to examine different statistical properties.
The report should read like a technical report. You do not need to provide motivation or previous work,
since the task is well specified and required. But you should provide a brief explanation of how the tools
work (1-2 paragraphs per tool).
You should explain how your measurements was done.
It should "read" well. A third person that will read the report should understand what you
At the end of the report, you should provide a discussion of what you observe: any susprising or
counter-intuitive results, or wether you were expecting the results, intuitive arguments of the observed variability.
Expected lenght 2-4 pages of text, not counting the plots.
You should append your python scripts with reasonable documentation that one could understand how
they work. ( one phrase per function may be enough)
A sample of ping:
ping -c 5 hill.cs.ucr.edu
PING hill (18.104.22.168) from 22.214.171.124 : 56(84) bytes of data.
64 bytes from hill (126.96.36.199): icmp_seq=0 ttl=252 time=1.806 msec
64 bytes from hill (188.8.131.52): icmp_seq=1 ttl=252 time=1.690 msec
64 bytes from hill (184.108.40.206): icmp_seq=2 ttl=252 time=2.776 msec
64 bytes from hill (220.127.116.11): icmp_seq=3 ttl=252 time=1.813 msec
64 bytes from hill (18.104.22.168): icmp_seq=4 ttl=252 time=1.687 msec
--- hill ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/mdev = 1.687/1.954/2.776/0.416 ms
A sample of traceroute:
traceroute to hill.cs.ucr.edu (22.214.171.124) from malasada.lava.net (126.96.36.199), 40 hops max, 40 byte packets
1 iiwi-fe-0-0-0.lava.net (188.8.131.52) 0.551 ms 0.464 ms 0.447 ms
2 noio-fe-0-0-0.lava.net (184.108.40.206) 0.545 ms 0.555 ms 0.598 ms
3 500.Serial2-2.GW1.HNL2.ALTER.NET (220.127.116.11) 4.362 ms 0.609 ms 0.504 ms
4 165.at-6-0-0.XR1.HNL2.ALTER.NET (18.104.22.168) 2.985 ms 0.681 ms 1.612 ms
5 282.at-2-0-0.XR1.SAC1.ALTER.NET (22.214.171.124) 53.895 ms 282.at-1-0-0.XR1.SAC1.ALTER.NET (126.96.36.199) 53.589 ms 53.751 ms
6 185.ATM6-0.BR3.SAC1.ALTER.NET (188.8.131.52) 54.242 ms 57.775 ms 185.ATM7-0.BR3.SAC1.ALTER.NET (184.108.40.206) 53.466 ms
7 sjo-brdr-04.inet.qwest.net (220.127.116.11) 56.640 ms 57.864 ms 56.353 ms
8 sjo-core-03.inet.qwest.net (18.104.22.168) 57.097 ms 56.475 ms 56.958 ms
9 lax-core-01.inet.qwest.net (22.214.171.124) 57.777 ms 57.346 ms 63.843 ms
10 bur-core-01.inet.qwest.net (126.96.36.199) 57.997 ms 58.024 ms 58.091 ms
11 bur-edge-01.inet.qwest.net (188.8.131.52) 57.539 ms 57.337 ms 58.243 ms
12 184.108.40.206 (220.127.116.11) 59.655 ms 59.970 ms 60.230 ms
13 18.104.22.168 (22.214.171.124) 100.667 ms 62.417 ms 62.863 ms
14 126.96.36.199 (188.8.131.52) 62.483 ms 62.939 ms 62.546 ms
15 bourns-hall.ucr.edu (184.108.40.206) 62.324 ms 62.878 ms 64.378 ms
16 220.127.116.11 (18.104.22.168) 64.477 ms 63.723 ms 64.112 ms
17 hill.ucr.edu (22.214.171.124) 63.196 ms 65.431 ms 63.752 ms