Exercise 4

Learning about the Internet


Logon to a UNIX workstation.

You now know how your computer's IP address (exercise 1), and how your computer uses arp (exercise 2) to find out local hardware addresses for computers connected to your local LAN. You should also know how your computer determines that an IP address is remote and how it uses a default router to forward packets to other networks (exercise 3).

In this exercise you will contact some remote computers located far away on the Internet. To do so you will make use of the local router and the site router which was used in exercise 3. To make this more interesting, try using the -s option of "ping" to collect some statistics. This option sends ten ICMP-echo requests, and displays the time it takes to receive each reply from the ICMP echo server running on the remote computer.

An example use of this command is shown below:

ping -s www.ksc.nasa.gov

14 PING zeno.ksc.nasa.gov: 56 data bytes

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=0. time=191. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=1. time=237. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=2. time=412. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=3. time=177. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=4. time=183. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=5. time=189. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=6. time=179. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=7. time=177. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=8. time=174. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=9. time=175. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=10. time=178. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=11. time=189. ms

64 bytes from zeno.ksc.nasa.gov (128.159.1.155): icmp_seq=12. time=322. ms ----zeno.ksc.nasa.gov PING Statistics----

14 packets transmitted, 13 packets received, 7% packet loss round-trip (ms) min/avg/max = 174/214/412
 
 

Each time an echo reply packet is received a single line of text is displayed. Each echo request packet contains a sequence number (starting at 0) which is incremented after each transmission, and a time stamp value indicating the transmission time. The text shows the received sequence number, and the measured round trip time (in milliseconds).

Examine whether some remote sites are reachable from your computer

Here are some addresses to try. Be sure to specify that you would like statistics (-s) and that you are to send only ten (10) packets with an ICMP payload of size ten bytes (10). The first 10 B of data are used by the ICMP program to carry the time stamp and sequence number of each ICMP request.
Type:

/usr/sbin/ping -s space.mit.edu 10 10

/usr/sbin/ping -s www.nlm.nih.gov 10 10 and

/usr/sbin/ping -s cs.wisc.edu 10 10

Do you always get a reply when you send an ICMP echo-request?

The loss of packet may be discovered by a discontinuity in the sequence numbers of received echo reply packets. The summary at the end of the sequence also records the percentage of packets which were not replied to.

Is it acceptable for packets to be lost?

You'll probably now realise the implications of the IP network service being a best effort service (i.e. that IP does not provide reliable delivery of packets through the internet). Since ICMP is a connection-less protocol it does not perform retransmission of any lost packets (i.e. it is not reliable).

More things to think about.
The results you get may well depend on the time of day when you do the exercise. The time taken to receive a reply measures the distance in "cyber space" to the destination - this need not have a relationship to the actual distance to the destination. It is a combination of the network load, the transmission speed, and the loading of the destination host.
Another program: Finger
"Finger" is simplest server program (apart from an ICMP echo server) that is run by computers connected to the Internet. Finger uses a complete set of protocols corresponding to the entire OSI reference model and operates only in End Systems (not generally in routers). It relies upon the transport protocol provided by TCP. Many sites use finger to supply information about users or to provide information about particular subjects.

You may like to contact the finger server at the remote sites which you have just contacted.

Type:

finger nasanews@space.mit.edu

This finger server displays the contents of today's press release from NASA.
You could also type:

finger coke@cs.wisc.edu

This finger server provides instructions on the use of a "coke server" - a coca-cola machine connected to the Internet, which allows users to determine whether coke is available, and the temperature of the cans in the machine which are about to be dispensed. Some coke servers also debit the computer account of the users. This perhaps isn't much use when you're in Aberdeen (as far as I know there isn't a coke server for the engineering department's vending machine!)

There are many other interesting and useful places, one that you may have "pinged" is the server for the visible human project which displays information about a project to provide in-depth on-line information about the human anatomy.

 

Gorry Fairhurst - email:G.Fairhurst@eng.abdn.ac.uk - Date: 10/11/95