| Type | Code | Status | Description |
|---|
| 0 – Echo Reply | 0 | | Echo reply (used to ping) |
| 1 and 2 | | unassigned | Reserved |
| 3 – Destination Unreachable | 0 | | Destination network unreachable |
| 1 | | Destination host unreachable |
| 2 | | Destination protocol unreachable |
| 3 | | Destination port unreachable |
| 4 | | Fragmentation required, and DF flag set |
| 5 | | Source route failed |
| 6 | | Destination network unknown |
| 7 | | Destination host unknown |
| 8 | | Source host isolated |
| 9 | | Network administratively prohibited |
| 10 | | Host administratively prohibited |
| 11 | | Network unreachable for ToS |
| 12 | | Host unreachable for ToS |
| 13 | | Communication administratively prohibited |
| 14 | | Host Precedence Violation |
| 15 | | Precedence cutoff in effect |
| 4 – Source Quench | 0 | deprecated | Source quench (congestion control) |
| 5 – Redirect Message | 0 | | Redirect Datagram for the Network |
| 1 | | Redirect Datagram for the Host |
| 2 | | Redirect Datagram for the ToS & network |
| 3 | | Redirect Datagram for the ToS & host |
| 6 | | deprecated | Alternate Host Address |
| 7 | | unassigned | Reserved |
| 8 – Echo Request | 0 | | Echo request (used to ping) |
| 9 – Router Advertisement | 0 | | Router Advertisement |
| 10 – Router Solicitation | 0 | | Router discovery/selection/solicitation |
| 11 – Time Exceeded | 0 | | TTL expired in transit |
| 1 | | Fragment reassembly time exceeded |
| 12 – Parameter Problem: Bad IP header | 0 | | Pointer indicates the error |
| 1 | | Missing a required option |
| 2 | | Bad length |
| 13 – Timestamp | 0 | | Timestamp |
| 14 – Timestamp Reply | 0 | | Timestamp reply |
| 15 – Information Request | 0 | deprecated | Information Request |
| 16 – Information Reply | 0 | deprecated | Information Reply |
| 17 – Address Mask Request | 0 | deprecated | Address Mask Request |
| 18 – Address Mask Reply | 0 | deprecated | Address Mask Reply |
| 19 | | reserved | Reserved for security |
| 20 through 29 | | reserved | Reserved for robustness experiment |
| 30 – Traceroute | 0 | deprecated | Information Request |
| 31 | | deprecated | Datagram Conversion Error |
| 32 | | deprecated | Mobile Host Redirect |
| 33 | | deprecated | Where-Are-You (originally meant for IPv6) |
| 34 | | deprecated | Here-I-Am (originally meant for IPv6) |
| 35 | | deprecated | Mobile Registration Request |
| 36 | | deprecated | Mobile Registration Reply |
| 37 | | deprecated | Domain Name Request |
| 38 | | deprecated | Domain Name Reply |
| 39 | | deprecated | SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol |
| 40 | | | Photuris, Security failures |
| 41 | | Experimental | ICMP for experimental mobility protocols such as Seamoby [RFC4065] |
| 42 – Extended Echo Request | 0 | | Request Extended Echo (XPing – see Extended Ping (Xping)) |
| 43 – Extended Echo Reply | 0 | | No Error |
| 1 | | Malformed Query |
| 2 | | No Such Interface |
| 3 | | No Such Table Entry |
| 4 | | Multiple Interfaces Satisfy Query |
| 44 through 252 | | unassigned | Reserved |
| 253 | | Experimental | RFC3692-style Experiment 1 (RFC 4727) |
| 254 | | Experimental | RFC3692-style Experiment 2 (RFC 4727) |
| 255 | | reserved | Reserved |