EECS 663


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.

Part 1

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)

ping hostname

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 -1 64 -n 10

This command asks to ping the host 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.

Another example:

[newton is a ITTC.ukans host]

newton [32] % ping

---PING Host= []: ICMP echo 56 data bytes

Thu Jan 14 21:51:05 1999

[+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

---PING Stats--- Host= [] 64 byte packets Elapsed= 8 Secs

Sent= 7 CumLoss= 0 RTT: 123Min 132Avg 143Max ms

(ms)| Count - HISTOGRAM :

50| 0

150| 7 XXXXXXX

250| 0

Each X = 1 counts



Part 2

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 [33] % traceroute

traceroute to (, 30 hops max, 40 byte packets

1 ( 2 ms 3 ms 2 ms

2 ( 3 ms 2 ms 2 ms

3 ( 4 ms 4 ms 4 ms

4 ( 5 ms 4 ms 6 ms

5 ( 5 ms 6 ms 6 ms

6 ( 14 ms 19 ms 14 ms

7 ( 15 ms 15 ms 14 ms

8 ( 103 ms 97 ms 95 ms

9 ( 109 ms 90 ms 93 ms

10 ( 89 ms 118 ms 89 ms

11 ( 111 ms 91 ms 94 ms

12 ( 102 ms 153 ms 132 ms

13 ( 108 ms 220 ms 132 ms

14 ( 96 ms 110 ms 98 ms

15 ( 119 ms 136 ms 140 ms

16 ( 134 ms 103 ms 112 ms

17 ( 149 ms 306 ms 143 ms

18 ( 113 ms 114 ms 112 ms

19 W20-RTR-FDDI.MIT.EDU ( 126 ms 157 ms 137 ms

20 DANDELION-PATCH.MIT.EDU ( 112 ms * 124 ms

Another example:

newton [35] % traceroute

traceroute to (, 30 hops max, 40 byte packets

1 ( 2 ms 2 ms 3 ms

2 ( 2 ms 2 ms 2 ms