ICMP (Internet Control Message Protocol)

Hello Gowthamraj

When an ICMP echo request is sent, it contains an identifier and a sequence number in the ICMP header. The identifier and the sequence number are used to match the ICMP echo reply with the corresponding request. How these values are used depends on the operating system. For example, Linux will create a unique identifier for each ping process and the sequence number is an increasing number within that process. Windows will use a fixed identifier and a sequence number that is incremented for each ping, and is only reset if the device is rebooted.

In any case, there may be various reasons for sequence numbers to be inaccurate. Anything from a bad network connection, to an error in the operating system. The header does have a checksum feature that does check the integrity of the ICMP header, and many such errors may be found, and packets discarded.

These sequence numbers generally are not displayed in the echo requests and replies, unless you view them in packet capturing software like wireshark. Can you give us a more detailed example of inaccurate sequence numbers that you have seen so that we can respond more specifically to your question?

I hope this has been helpful!

Laz