Network Latency and Bandwidth and Topology
The objective of this assignment is to introduce the concepts of latency and bandwidth in computer networks. This assignment also examines the organization of the Internet within the U.S. You will attempt to derive a relationship between packet transit times and number of hops, as well as between packet transit times. You will use two UNIX/NT commands, Ping and traceroute/tracert. Ping is a UNIX utility that uses ICMP protocol's ECHO_REQUEST datagram to request an ICMP ECHO.RESPONSE from another host. You will use this utility to send messages of different sizes and measure Round Trip Times (RTTs). First familiarize yourself with ping by using man command on a UNIX system. Second, use ping to measure round trip time (RTT) for messages of 8, 16, 32, 64, 256, and 512 bytes. You should ping at least two different hosts a local host on a 10 Mbps LAN, and a remote node through Internet. You will observe a measurable increase in RTT for remote Internet hosts as one increases message size. You will then break down the RTT into its components:
(Propagation + Transmit + Queue times)
and discuss the effect of distance and message size and their relation to latency and bandwidth The UNIX utility, traceroute/tracert, will be used to examine the path an ICMP message takes from source to destination. You will then hypothesize the relationship between transit times, number of hops and distances.
a) Use "man" command to familiarize yourself with "ping."
b) Use "ping" to measure Round Trip Time (RTT) for messages of 8, 16, 32, 64 256, bytes for two hosts on a LAN and two nodes on WAN. It is better to measure between five to 30 times for each message size, depending on the situation and availability of time, and use the average.
c) Repeat b) at a different time of day.
d) Graph message size versus RTT for two hosts on a LAN and two nodes on WAN.
e) Discuss RTT in terms of its components (Propagation + Transmit + Queue). Also, discuss the effects of distance, message size, and their relationship with bandwidth and latency.
How to identify locations:
One way to identify these locations is to use an Internet search, which will return URLs for which you can interpret the host's location (for instance ukans is KU, mit is Massachusetts Institute of Technology, or wustl is Washington University at St. Louis; fr means France; au means Australia; kr means Korea, etc.). If you are looking for hosts in Europe, you could use search keywords which would .be likely to give you European hosts (for instance, chateau or Thames). Finally, you can find host addresses in many Internet directories, such as the Internet Yellow Pages. All World Wide Web sites that you can access with Netscape are hosted on computers that will respond to ping. You can get the hostname of these WWW computers by looking at the Location: box at the top of the Netscape screen.
How do I use ping to get the average response time for a site:
To use ping, simply type the following command at your UNIX
(or NT host, in NT go to the MSDOS prompt)
where hostname is the name of the computer on the Internet you want to test.
If the computer does not exist, ping will display an error message saying the host name you specified cannot be found. If ping finds the hostname you have specified, it will let you know that it is alive.
A sample ping command would be:
ping -s www.huinboldt.edu -1 64 -n 10
This command asks to ping the host www.humboldt.edu with packets 64 bytes long and to repeat the process 10 times. The -s flag is necessary for gathering the timing statistics we want. If you do not want to use the -n switch, you can terminate the test with CTRL C. For example, after ping has run through 10 trials, terminate the test by holding down the CTRL key and tapping the letter C. Ping should print out the average response time on its last line of output.
[newton is a ITTC.ukans host]
newton  % ping www.mit.edu
---PING Host= [22.214.171.124]: ICMP echo 56 data bytes
Thu Jan 14 21:51:05 1999 www.mit.edu
[+1 Secs] Echo Reply: Seq=1 CumLoss=0 RTT=123 ms
[+2 Secs] Echo Reply: Seq=2 CumLoss=0 RTT=127 ms
[+3 Secs] Echo Reply: Seq=3 CumLoss=0 RTT=140 ms
[+4 Secs] Echo Reply: Seq=4 CumLoss=0 RTT=130 ms
[+5 Secs] Echo Reply: Seq=5 CumLoss=0 RTT=129 ms
[+6 Secs] Echo Reply: Seq=6 CumLoss=0 RTT=138 ms
[+7 Secs] Echo Reply: Seq=7 CumLoss=0 RTT=143 ms
^C... Delay 1 seconds for stragglers...
Thu Jan 14 21:51:14 1999 www.mit.edu
---PING Stats--- Host= [126.96.36.199] 64 byte packets Elapsed= 8 Secs
Sent= 7 CumLoss= 0 RTT: 123Min 132Avg 143Max ms
(ms)| Count - HISTOGRAM :
150| 7 XXXXXXX
Each X = 1 counts
Select 10 sites around the United States. Try to spread your sample geographically around the entire lower 48 states How you determine which Internet sites to use is your decision. Using a search for a geographically specific topic will usually yield several useful sites. For each of your sites, ping the site 10 times and record the average. Then immediately run traceroute (in UNIX use traceroute, in NT use tracert) to each site, and record or capture the results. Do not do all the pings first and then all the traceroutes; because we want the ping and the traceroute to the same site to be done before any routing tables might reasonably change (although, of course, we can't guarantee that they won't). Now, analyze your results. What is the correlation between average ping time and hop count? Between distance and hop count? Here plot ping time vs hop count, and distance vs hop count.
While it might be useful to think about an Internet "backbone," there is really no single entity that has such a function. In the late 1980s the National Science Foundation, which had been sponsoring what we can think of as a backbone network across the country, began to transition that service to private entities such as ANS, MCI, Sprint, BBN, PSI, etc. These commercial entities each maintain very high speed, large-bandwidth interstate networks at least partially for Internet purposes. These companies are Internet Service Providers to smaller ISPs who pay to access these data routes, as well as to corporate customers wanting Internet access in the geographical locations directly served by the large company. Of course, the smaller ISPs in turn provide access to customers, including other ISPs, in locations distributed around a smaller geographical area. There are a number of big players in this nationwide backbone market. The specific topologies of their networks differ--some concentrate on the East Coast, some in middle America, some on the west--but they typically span the country. Obviously, in order for a user attached to one of them to communicate with a user attached to another, the backbones need to be interconnected. This occurs in several locations throughout the U.S. at so-called MAEs (Metropolitan Area Ethernets), NAPs (Network Access Points) or IEPs (Internet Exchange Points). The important ones are MAE-WEST (San Jose), MAE-EAST (Washington, D.C.), Chicago, and New York. At such locations, the big players interconnect.
On your UNIX system, there is a program called traceroute. While on NT the command is tracert. If you read the man pages for traceroute, you can learn the details of how it teases from the routers along a path between two Internet hosts the details of that path. You can also read the warning that "This program is intended for use in network testing, measurement and management. It should be used primarily for manual fault isolation. Because of the load it could impose on the network, you should not use traceroute during normal operations or from automated scripts."
Here's a sample:
newton  % traceroute www.mit.edu
traceroute to www.mit.edu (188.8.131.52), 30 hops max, 40 byte packets
1 184.108.40.206 (220.127.116.11) 2 ms 3 ms 2 ms
2 18.104.22.168 (22.214.171.124) 3 ms 2 ms 2 ms
3 ks-1-a400-51.r.greatplains.net (126.96.36.199) 4 ms 4 ms 4 ms
4 sl-gw5-kc-1-1-1-T3.sprintlink.net (188.8.131.52) 5 ms 4 ms 6 ms
5 sl-bb10-kc-1-3.sprintlink.net (184.108.40.206) 5 ms 6 ms 6 ms
6 220.127.116.11 (18.104.22.168) 14 ms 19 ms 14 ms
7 sl-bb1-fw-0-0-0.sprintlink.net (22.214.171.124) 15 ms 15 ms 14 ms
8 126.96.36.199 (188.8.131.52) 103 ms 97 ms 95 ms
9 a4-0-1.atlanta1-br1.bbnplanet.net (184.108.40.206) 109 ms 90 ms 93 ms
10 p2-0.atlanta1-nbr1.bbnplanet.net (220.127.116.11) 89 ms 118 ms 89 ms
11 p4-1.vienna1-nbr3.bbnplanet.net (18.104.22.168) 111 ms 91 ms 94 ms
12 p1-0.vienna1-nbr2.bbnplanet.net (22.214.171.124) 102 ms 153 ms 132 ms
13 p4-1.washdc3-ba1.bbnplanet.net (126.96.36.199) 108 ms 220 ms 132 ms
14 p1-0.washdc3-ba2.bbnplanet.net (188.8.131.52) 96 ms 110 ms 98 ms
15 p2-3.cambridge1-nbr1.bbnplanet.net (184.108.40.206) 119 ms 136 ms 140 ms
16 p1-0-0.cambridge1-br1.bbnplanet.net (220.127.116.11) 134 ms 103 ms 112 ms
17 h3-0.cambridge2-br2.bbnplanet.net (18.104.22.168) 149 ms 306 ms 143 ms
18 ihtfp.mit.edu (22.214.171.124) 113 ms 114 ms 112 ms
19 W20-RTR-FDDI.MIT.EDU (126.96.36.199) 126 ms 157 ms 137 ms
20 DANDELION-PATCH.MIT.EDU (188.8.131.52) 112 ms * 124 ms
newton  % traceroute www.ku.edu
traceroute to www.ku.edu (184.108.40.206), 30 hops max, 40 byte packets
1 220.127.116.11 (18.104.22.168) 2 ms 2 ms 3 ms
2 raven.cc.ku.edu (22.214.171.124) 2 ms 2 ms 2 ms