ICMPv4 is defined in RFC792 with additional material in RFC950, RFC1108, RFC1256, RFC1393, RFC1475, RFC1700, RFC1788, RFC1812 and RFC2521.
The definitive list is at http://www.iana.org/assignments/icmp-parameters
ICMP packets have a Type Field and a Code Field. The combination of these gives the significance of the packet.
Type | Code | Cisco IOS Description | RFC and desc. if clearer! |
---|---|---|---|
0 | echo-reply | 792 | |
3 | unreachable | 792 destination unreachable | |
3 | 0 | net-unreachable | 792 |
3 | 1 | host-unreachable | 792 |
3 | 2 | protocol-unreachable | 792 |
3 | 3 | port-unreachable | 792 |
3 | 4 | packet-too-big | 792 frag. needed and DF set, 1191 |
3 | 5 | source-route-failed | 792 |
3 | 6 | network-unknown | 1122, 1700 |
3 | 7 | host-unknown | 1122, 1700 |
3 | 8 | host-isolated | 1108, 1122, 1700 src host isolated (obsolete) |
3 | 9 | dod-net-prohibited | 1108, 1122, 1700 admin prohibited net |
3 | 10 | dod-host-prohibited | 1108, 1122, 1700 admin prohibited host |
3 | 11 | net-tos-unreachable | 1122, 1700 |
3 | 12 | host-tos-unreachable | 1122, 1700 |
3 | 13 | administratively-prohibited | 1812 |
3 | 14 | host-precedence-unreachable | 1812 host precedence violation |
3 | 15 | precedence-unreachable | 1812 precedence cutoff in effect |
4 | source-quench | 792 (1812 a router should not originate and must rate limit) | |
5 | redirect | 792 | |
5 | 0 | net-redirect | 792 |
5 | 1 | host-redirect | 792 |
5 | 2 | net-tos-redirect | 792 |
5 | 3 | host-tos-redirect | 792 |
6 | alternate-address | 1700 alternate host addr | |
8 | echo request | 792 | |
9 | router-advertisement | 1256 | |
9 | 0 | normal router ad | 1256 router ad normal router |
9 | 16 | does not route common traffic | 2002 router-ad mobile-IP-only router |
10 | router-solicitation | 1256 router selection | |
10 | 0 | router-solicitation | 1256 router selection normal router |
10 | 16 | 2002 router-solicitation mobile IP-only router | |
11 | time-exceeded | 792 | |
11 | 0 | ttl exceeded | 792 |
11 | 1 | fragment reassembly timeout | 792 |
12 | parameter-problem | 792 | |
12 | 0 | general-parameter-problem | 792 (ptr to problem octet) |
12 | 1 | option-missing | 1108, 1122 |
12 | 2 | no-room-for-option | 1108 bad length |
13 | timestamp-request | 792 timestamp | |
14 | timestamp-reply | 792 | |
15 | information-request | 792 (1812 a router should not originate or respond) (obsolete) | |
16 | information-reply | 792 (1812 a router should not originate or respond) (obsolete) | |
17 | mask-request | 950 | |
18 | mask-reply | 950 | |
19 | 1700 Reserved for security | ||
2x | 1700 Reserved for robustness | ||
30 | traceroute | - | |
30 | 0 | 1393 outbound forwarded ok | |
30 | 1 | 1393 no route for outbound: discarded | |
31 | 1475 datagram conversion error | ||
32 | 1700 mobile host re-direct | ||
33 | 1700 IPv6 where-are-you | ||
34 | 1700 IPv6 i-am-here | ||
35 | 1700 mobile registration request | ||
36 | 1700 mobile registration reply | ||
37 | 1788 domain name request | ||
38 | 1788 domain name reply | ||
39 | SKIP | ||
40 | 2521 Photuris | ||
40 | 0 | Bad SPI | 2521 Photuris |
40 | 1 | Authentication failed | 2521 Photuris |
40 | 2 | Decompression failed | 2521 Photuris |
40 | 3 | Decryption failed | 2521 Photuris |
40 | 4 | Need authentication | 2521 Photuris |
40 | 5 | Need authorization | 2521 Photuris |
1,2, and 7 are unassigned, all other unspecified values are reserved (rfc1700).
ICMP echo-request (ping) is the standard tool for first-level check of IP host reachability. From a Cisco router a ping may report one of several results:
! | Normal response |
* | Timeout |
A | ICMP Administratively Prohibited usually access-list refused |
H | ICMP Host Unreachable |
I | Interrupted |
N | ICMP Net Unreachable |
P | ICMP Unknown Protocol |
Q | ICMP Source Quench |
T | Timeout |
U | ICMP Unreachable Port |
? | Other |
ICMPv6 is defined in rfc2463 with additional material in rfc2461, rfc2710, rfc3122.
ICMP packets have a Type Field and a Code Field. The combination of these gives the significance of the packet.
Type | Code | Description | RFC and desc. if clearer! |
---|---|---|---|
1 | destination unreachable | 2463 | |
1 | 0 | no route to destination | 2463 |
1 | 1 | administratively prohibited | 2463 |
1 | 2 | beyond scope of src address | 2463 |
1 | 3 | address unreachable | 2463 |
1 | 4 | port unreachable | 2463 |
2 | 0 | packet too big | 2463 |
3 | time exceeded | 2463 | |
3 | 0 | hop limit exceeded in transit | 2463 |
3 | 1 | fragment reassembly time exceeded | 2463 |
4 | parameter problem | 2463 | |
4 | 0 | erroneous header field | 2463 |
4 | 1 | unrecognized next header | 2463 |
4 | 2 | unrecognized option | 2463 |
128 | 0 | echo request (Ping) | 2463 |
129 | 0 | echo reply (Ping) | 2463 |
130 | 0 | multicast listener query | 2710 |
131 | 0 | multicast listener report | 2710 |
132 | 0 | multicast listener done | 2710 |
133 | 0 | router solicitation | 2461 |
134 | 0 | router advertisement | 2461 |
135 | 0 | neighbour solicitation | 2461 |
136 | 0 | neighbour advertisement | 2461 |
137 | 0 | redirect | 2461 |
141 | 0 | inverse heighbour solicitation | 3122 |
142 | 0 | inverse neighbour advertisement | 3122 |