What ICMP Does and Why It Exists

Not for Carrying Data - For Reporting Problems

Unlike TCP and UDP (which carry actual application data), ICMP (Internet Control Message Protocol) exists purely to report errors and status information about the network itself - it's the network's own feedback mechanism.

Common Situations ICMP Reports On

  • A destination is completely unreachable.
  • A packet's TTL (Time To Live) expired before reaching its destination - exactly the mechanism traceroute exploits, as covered earlier in this project.
  • A router is overwhelmed and had to discard a packet.
  • A simple echo request/reply exchange, used by ping to test basic reachability.

Why ICMP Sits at the Network Layer, Alongside IP

ICMP messages are carried directly inside IP packets, operating at the same Network layer as IP itself - since its entire job is reporting on the health and status of IP-level delivery, it makes sense for it to work at that same layer rather than above it.

ICMP Messages Themselves Aren't Guaranteed Either

Ironically, ICMP messages themselves can be lost just like any other traffic - there's no guarantee an error report will actually reach its destination. This is one reason network diagnostics sometimes need to be repeated or cross-checked with multiple tools rather than trusting a single ICMP response.

Why Some Networks Deliberately Block ICMP

As mentioned in the ping note earlier in this project, some firewalls specifically block ICMP traffic as a security measure - reducing the ability of outside attackers to probe and map a network's structure - even though this can occasionally make legitimate troubleshooting slightly harder for administrators too.

Written by Lorens Mishra

Software Engineer Notes Management System Administrator

Discussion

0 comments
Sign in to join the discussion.

No comments yet. Be the first to say something.