In this training-exercise you are going to learn and practice some basic, simple but very informative network diagnostics using PING.
PING is an application that makes use of the Internet Control Message Protocol (ICMP) protocol, and allows the user to test the reachability of another host:
Reachable (definition): Given a host A and a host B. The host B is reachable from host A, if (IP) packets send by host A arrive at host B and can/are being processed by host B.
Hence, a host a reachable is there is a communication path from A to B and B is up and running.
When a host is reachable, we are pretty much sure that we can use an application in order to come into dialog with that other host (e.g. FTP, Telnet or HTTP).
If a host is unreachable, there can be either a problem with the communication path (i.e. there is no communication path) or the other host may be down. Further diagnostics is needed, one can use for instance TRACEROUTE for this purpose.
The PING application uses ICMP messages to test the reachability, such ICMP messages are encapsulated in IP packets. The PING application uses two ICMP messages:
The message-format are shown in the figure below.
Figure 1: "PING messages"
type=0 : ICMP echo request messages,
type=8 : ICMP echo reply message.
Figure 2: Example of how PING messages traverse the IP network.
When a PING message is received by the receiving host, it sends back an echo reply message in which the identifier, sequence number and optional data field are left unchanged.
The identifier field in the ICMP echo reply message is used to allow identification of the PING process running at the sending host.
By the sequence number field the sending host can keep track of for which ICMP echo request messages a reply massage has been received.
The optional data field is used to store the time at which the ICMP echo request message has been send. On receipt of the associated reply message the sending host can determine the time that was needed for the packet to traval through the Internet to the target host and back again: i.e. the round trip time (RTT).
Many PING programs/applications exist. These programs often support other functionality as well, such as: TRACEROUTE (which we will see later on in the discussion of UDP) and DNS (which stands for Domain Name Service and will be discussed in the part on Applications).
Sites that contain links to or host freeware, postcardware or shareware PING programs are:
All PING programs operate according to the principle described above. However, there are a lot of differences in additional functionality (or features) supported. To name a few of the possible features:
In the world or freeware and postcardware we have not seen a program that supports all these features. However, in the world of shareware they exist. Also, we have not yet encountered freeware (nor postcardware) programs that includes probabilistic analysis features and e.g. HTML combined with graphs.