Notes on ping

One of the most common uses for ICMP is the ping program. According to RFC 1122, every system should implement a user-accessible program for generating ICMP Echo Request and ICMP Echo Reply query messages, and the most common method for this has historically been the ping utility. The ping program allows a user to test network connectivity between two devices by sending out ICMP Echo Request messages and then measuring the amount of time it took to receive an ICMP Echo Reply message back from the destination system.

Figure 5.30 shows three ICMP Echo Request query messages being sent from Arachnid to Krill, with no special Type-of-Service, Precedence or IP Options defined. In addition, Figure 5.30 shows the response time from Krill back to Arachnid, as well as some summary data for the session. This is pretty typical of Unix-based ping programs.

A simple unicast ping test
Figure 5.30. A simple unicast ping test

There are some details that should be paid attention to whenever ping is used for network testing and diagnostics. In particular, the Identifier field used for the ICMP Echo Request and Echo Reply query messages is the same across every session, while the Sequence Number fields are unique for every message sent during a session.

For example, Figure 5.31 shows the first Echo Request query message from the ping output shown in Figure 5.30, while Figure 5.32 shows the last Echo Reply query message. ...

Get Internet Core Protocols: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.