| type | code | description | handled by |
| 0 | 0 | echo reply | user process |
| 3 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | destination unreachable network unreachable host unreachable protocol unraechable port unreachable fragmentation needed but DF bit set source route failed destination network unknown destination host unknown source host isolated (obsolete) dest.network administratively prohibited dest.host administratively prohibited network unreachable for TOS host unreachable for TOS communication administratively prohibited host precedence violation precedence cuttoff in effect | "No route to host" "No route to host" "Connection refused" "Connection refused" "Message too long" "No route to host" "Network unreachable" "No route to host" "No route to host" "Network unreachable" "No route to host" "Network unreachable" "No route to host" (ignored) (ignored) (ignored) |
| 4 | 0 | source quench | kernel for TCP, ignored by UDP |
| 5 | 0 1 2 3 | redirect: redirect for network redirect for host redirect for type-of-service and network redirect for type-of-service and host | kernel updates routing table kernel updates routing table kernel updates routing table kernel updates routing table |
| 8 | 0 | echo request | kernel generates reply |
| 9 10 | 0 0 | router advertisement router solicitation | user process user process |
| 11 | 0 1 | time exceeded: TTL equals 0 during transit TTL equals 0 during reassembly | user process user process |
| 12 | 0 1 | parameter problem: IP header bad(catchall error) required option missing | "Protocol not availeble" "Protocol not availeble" |
| 13 14 | 0 0 | timestamp request timestamp reply | kernel generates reply user process |
| 15 16 | 0 0 | information request(obsolete) information reply(obsolete) | kernel generates reply user process |
| 17 18 | 0 0 | address mask request address mask reply | kernel generates reply user process |