ICMP: Internet control message protocol
Used by hosts & routers to communicate network-level information such as:
- Error reporting: unreachable host, network, port, protocol
- Echo request/reply (used by ping)
ICMP can be seen as network-layer “above” IP:
- ICMP messages carried in IP datagrams
- ICMP message: type, code, plus first 8 bytes of IP datagram causing error

Figure 20 Type and Code fields in ICMP message