| 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 |