Ask the Expert

Why error reporting ICMP messages include IP headers and datagram data

What is the purpose of including the IP header and the first 8 bytes of a datagram data in the error reporting ICMP message?

    Requires Free Membership to View

What an interesting question and something that isn't often explained in full detail in most TCP/IP networking books, unless of course you just love reading RFC's. Then RFC 792 is now your new best friend. However, if that's not the case, fear not; I'll provide you with a quick answer.

The reason that the IP header and first 8 bytes of a datagram data in the error reporting ICMP message is included is to help you understand what conditions might have created the error message. For example, destination unreachable messages have a few causes that the original header might provide. Sometimes the source IP address is very helpful in determining which router interface the ICMP ping message was sent. Sometimes it's not the interface you would think! Or you might have entered the wrong destination IP to ping. This would be helpful in relentlessly pursuing network or host unreachable messages.

For protocol unreachable messages, having the first bytes of the payload would be the TCP source and destination port. This would provide insight into which application port it was trying to connect to.

Having this information is also relevant to source quench and TTL expiration messages to troubleshoot why potential problems might be occurring with routing loops, etc. So there are several reasons why the original IP header and first 8 bytes of the payload might be useful.

For additional information and a more complete explanation, I did a little research and like Chapter 32 of Charles M. Kozierok's The TCP/IP Guide, which I found available through Google books.

Nothing like a little light midnight reading material to inspire creativity!

This was first published in January 2009

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: