Explanation of ICMP message types

Network error reporting

Destination Unreachable, Echo Reply
Sent by a router when it cannot deliver an IP datagram. A datagram is the unit of data, or packet, transmitted in a TCP/IP network.
Source Quench
Sent by a host or router if it is receiving data too quickly for it to handle. The message is a request that the source reduce its rate of datagram transmission.
Time Exceeded
Sent by a router if the datagram has reached the maximum limit of routers through which it can travel.
Parameter Problem
Sent by a router if a problem occurs during the transmission of a datagram such that it cannot complete processing. One potential source of such a problem is invalid datagram header.

Network troubleshooting

Echo Request, Echo Reply
Used to test destination accessibility and status. A host sends an Echo Request and listens for a corresponding Echo Reply. This is most commonly done using the ping command.

IPv4 network address and routing configuration

Sent by a router if it receives a datagram that should have been sent to a different router. The message contains the address to which the source should direct future datagrams. This is used to optimize the routing of network traffic.
Router Advertisement, Router Solicitation
Allow hosts to discover the existence of routers. Routers periodically broadcast their IP addresses via Router Advertisement messages. Hosts may also request a router address by broadcasting a Router Solicitation message to which a router will reply with a Router Advertisement.
Timestamp Request, Timestamp Reply
Used to synchronize the clocks between hosts and to estimate transit time.
Information Request, Information Reply
Obsolete. These messages were used earlier by hosts to determine their inter-network addresses, but are now considered outdated and should not be used.
Address Mask Request, Address Mask Reply
Used to find the mask of the subnet (i.e. what address bits define the network). A host sends an Address Mask Request to a router and receives an Address Mask Reply in return.