The TCP/IP Guide - Version 3.0 (Contents) ` 638 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
Two special fields are used within the format of these messages to allow Echo and Echo
Reply messages to be matched together, and to allow a sequence of messages to be
exchanged. The Identifier field was envisioned as being used as a higher-level label, like a
session identifier, while the Sequence Number was seen as something to identify individual
test messages within a series. However, the use of these fields is up to the particular imple-
mentation. In some cases, the Identifier field is filled in with the process number of the
application that is using the Echo or Echo Reply message, to allow several users to use
utilities like ping without interference.
Application of Echo and Echo Reply Messages
The most common way that you may use the Echo and Echo Reply messages is through
the popular utility ping, which is used to test host reachability. While the basic test simply
consists of sending an Echo and waiting for an Echo Reply, modern versions of ping are
quite sophisticated. They allow the user to specify many parameters, including the number
of Echo messages sent, how often they are sent, the size of message transmitted and
more. They also provide a great deal of information about the connection, including the
number of Echo Reply messages received, the time elapsed for the pair of messages to be
exchanged and a lot more. See the topic describing ping for a full explanation of the utility.
Key Concept: IICMPv4 Echo (Request) and Echo Reply messages are used to
facilitate network reachability testing. A device can test its ability to perform basic
communication with another one by sending an Echo message and waiting for an
Echo Reply to be returned by the other device. The ping utility, a widely-used diagnostic tool
in TCP/IP internetworks, makes use of these messages.
ICMPv4 Timestamp (Request) and Timestamp Reply Messages
All of the hosts and routers on an internetwork operate independently of each other. One
aspect of this autonomy is that each device maintains a separate system clock. Since even
highly-accurate clocks have slight differences in how accurately they keep time, as well as
the time they are initialized with, this means that under normal circumstances, no two
devices on an internetwork are guaranteed to have exactly the same time.
The creators of TCP/IP recognized that certain applications might not work properly if there
was too much differential between the system clocks of a pair of devices. To support this
requirement, they created a pair of ICMP messages that allow devices to exchange system
time information. The initiating device creates a Timestamp message and sends it to the
device with which it wishes to synchronize. That device responds with a Timestamp Reply
message. Timestamp fields in these messages are used to mark the times that these
messages are sent and received to allow the devices' clocks to be synchronized.