Around the World in 80 ms
CIS 110 Lab Week 7
author: Jonathan Lidbeck, 110 GTF, 07F
The goal of today's lab is to use traceroute to plot a route through the internet to go around the world-- or at least to cross a few oceans--and see how long it takes to send information around the globe.
1. Where you are
To get warmed up, let's find out your IP address.
To do this, first log onto shell. Use Secure Shell Client as usual, or your favorite shell program.
When you see the UNIX % prompt, enter the following:
hostname -i
... and hit enter. You should see the IP address 128.223.142.32. This is the address of shell.uoregon.edu, not the machine physically in front of you.
2. How to find others (optional)
It's generally just as easy to find other websites' IP address as it is to find their name. Just use the nslookup command. For example, to lookup the IP address for shell.uoregon.edu (yes, the same computer we just looked at), enter nslookup shell or nslookup shell.uoregon.edu. Here's what you should see:
% nslookup shell.uoregon.edu Server: 128.223.32.35 Address: 128.223.32.35#53 Name: shell.uoregon.edu Address: 128.223.142.32 %
Now let's try a computer that's a little more separated.
% nslookup google.com Server: 128.223.32.35 Address: 128.223.32.35#53 Non-authoritative answer: Name: google.com Address: 64.233.187.99 Name: google.com Address: 64.233.167.99 Name: google.com Address: 72.14.207.99 %
We found not just one IP address, but three.
3. How did we get there?
Now let's use traceroute to see what other systems are helping us out when we talk to another computer through the Internet.
Remember that every message you send to a computer finds a route by hopping from server to server, starting with a few short hops moving up the chain to major ISP providers, then moving back down. We can usually see where the messages are going, and how fast they get there, using a tool called traceroute.
(Notice that we don't have to type the numerical IP address: traceroute knows how to lookup the address using our local nameserver.)
% traceroute google.com traceroute: Warning: google.com has multiple addresses; using 64.233.167.99 traceroute to google.com (64.233.167.99), 30 hops max, 46 byte packets 1 vl-142.uonet2-gw.uoregon.edu (128.223.142.3) 67.235 ms 0.445 ms 5.924 ms 2 ge-0-2-0.uonet9-gw.uoregon.edu (128.223.3.9) 19.672 ms 18.762 ms 18.962 ms 3 ge-4-0.core0.eug.oregon-gigapop.net (198.32.163.161) 0.261 ms 0.170 ms 0.168 ms 4 200.ge-2-0-7.core0-gw.pdx.oregon-gigapop.net (198.32.163.10) 2.599 ms 2.539 ms 2.535 ms 5 vl-201.xe.pdx-losa.oregon-gigapop.net (198.32.165.194) 24.498 ms 25.429 ms 24.633 ms Icmp checksum is wrong 6 so-0-0-0.0.rtr.hous.net.internet2.edu (64.57.28.45) 64.843 msIcmp checksum is wrong 66.557 msIcmp checksum is wrong 56.688 ms Icmp checksum is wrong 7 64.57.28.56 (64.57.28.56) 75.818 msIcmp checksum is wrong 73.507 msIcmp checksum is wrong 74.984 ms Icmp checksum is wrong 8 so-5-0-0.0.rtr.chic.net.internet2.edu (64.57.28.17) 81.192 msIcmp checksum is wrong 81.233 msIcmp checksum is wrong 81.218 ms 9 core1-2-2-0.ord.net.google.com (206.223.119.21) 81.590 ms 81.377 ms 81.528 ms 10 216.239.48.154 (216.239.48.154) 81.721 ms 99.535 ms 209.85.250.237 (209.85.250.237) 81.546 ms Icmp checksum is wrong 11 66.249.95.120 (66.249.95.120) 81.815 msIcmp checksum is wrong 81.930 msIcmp checksum is wrong 81.900 ms 12 72.14.232.53 (72.14.232.53) 82.527 ms 82.507 ms 72.14.232.70 (72.14.232.70) * 13 py-in-f99.google.com (64.233.167.99) 82.727 ms 64.233.175.26 93.771 ms 72.14.232.70 (72.14.232.70) 90.465 ms
There's a lot of information here.
The first thing to notice is the last line: this shows us that the packet arrived at the destination--some computer at google.com--and that it got there in 13 hops.
That seems like a lot. You might try running traceroute again (just hit the up arrow to repeat the previous command). Do you get the same number of hops each time?
The next thing to notice is the timing information on each line. Notice that traceroute makes 3 attempts, and prints timing information from all 3 attempts. In the example above, the three attempts took 82.727, 93.771, and 90.465 milliseconds to reach a server at Google.
Notice that the information is incomplete. The asterisk (*) indicates that no return packet was received from a particular router. Sometimes packets get lost, or a server simply doesn't respond to traceroute requests.
Try using traceroute with your favorite website.
4. Tracing Routes From Other Places
So far, all of the routes we're tracing start right here at the University. If we want to connect a path around the globe, we'll need to run traceroute starting from computers at other locations. Fortunately, some other institutions around the world are kind enough to let us use their computers to do just that.
There is an index of such traceroute servers sorted by country at:
Choose a traceroute server from the list. Some of them may not be operational; don't worry about it, just find a different one.
Now it's likely you'll get a warning. Sending out traceroutes is risky, because traceroute requests sometimes look like malicious (or just annoying) attempts to probe a network, and not all servers will allow it. Go ahead anyway, and with some luck, you'll find a screen that is actually a simple Web interface for the traceroute program we've just been running. Only now you'll be running it from a computer somewhere else in the world.
You can copy the name of one traceroute website and paste it as a destination in another traceroute website. You'll need to do this trick at least once to make an interesting roundtrip.
For example, I found a traceroute server in Austria at http://www.hotze.com/cgi-bin/tracert.pl and a traceroute server in Australia at http://mirror.sptel.com.au/cgi-bin/trace . I copied just the computer names (hotze.com and mirror.sptel.com.au) to do traces from one to the other.
Here's a trace from the server in Austria to the server in Australia:
...and a trace from the Australia server back to the same server in Austria:
Notice that the trip takes the same number of hops and about the same amount of time either way, but the routes are not exactly the same.
5. Tracing Routes Graphically (optional)
A few sites around the world offer a visual traceroute service. The content is basically the same, but the graphical presentation can be more informative.
You can find an index of a few of these sites at:
http://www.linkwan.com/en/vr.asp?location=hk
6. Planning Your Trip
To plan your virtual world tour, choose at least 2 servers around the world. Use servers from the traceroute.org list (link above) or the VisualRoute Server list (link above).
Before you start, open an Excel sheet or a text document to record the names and locations of computers you visit. This will make copying and pasting the system addresses a little bit easier. If you want, use this simple form:
Your trip should include at least 3 parts:
- From shell.uoregon.edu to some remote server #2;
- From server #2 to another remote server #3;
- From server #3 back to shell.uoregon.edu.
Here's a tip: because not every server is cooperative, to avoid getting stuck in a dead-end, you might find it easier to plan your trip in reverse.
For part 1, find out how long it takes for shell.uoregon.edu to contact the first server. Use the UNIX shell command as described above to run a traceroute to your first destination. Copy down the number of hops and the total time (in ms).
For part 2, go to the traceroute Web service at the first location. Use their service to trace a route to the next location. Copy down the information.
Continue this for all destinations. For part 3, at the last remote traceroute server, enter shell.uoregon.edu and copy down the information.
This concludes your virtual round trip.
- What countries did you visit? What cities?
- How far did you travel? How many hops? Can you estimate the land distance you covered (in miles or km)?
- How many milliseconds would the trip take (if it were continuous)?
- What's the average speed that your information traveled (in meters per second)?
- Did you notice any unusual routings? You might be surprised, for example, if you tried to route from the eastern part of Asia to Europe.
Helpful Links
Estimating the distance
Here are some helpful links for calculating the distance between two cities.
http://www.timeanddate.com/worldclock/distance.html
http://geobytes.com/CityDistanceTool.htm
Calculating the speed
Did you know you can use Google to do math, convert units, even do both at the same time?
For example, try doing a Google search for (10000 km / 980 ms) in meters/s . Go ahead, try it now!
Submitting
- Save the Excel table (or text file) to the Desktop or to your own drive.
- Upload it to Blackboard, Lab 7.
Alternatively, you can email it to me ( jlidbeck@cs.uoregon.edu).
