Connected: An Internet Encyclopedia
ICMP
Up:
Connected: An Internet Encyclopedia
Up:
Programmed Instruction Course
Up:
Section 3 - The IP Protocol
Prev: Unreliable Delivery Model
Next: Section 4 - The TCP Protocol
ICMP
ICMP
The Internet Control Message Protocol (ICMP) is used for error reporting
and debugging of the IP Protocol.
Internet Control Message Protocol (ICMP), documented in
RFC 792,
is a required protocol tightly integrated with IP.
ICMP messages, delivered in IP packets, are used for out-of-band
messages related to network operation or mis-operation.
Of course, since ICMP uses IP, ICMP packet delivery is unreliable,
so hosts can't count on receiving ICMP packets for any network problem.
Some of ICMP's functions are to:
- Announce network errors, such as a host or entire portion
of the network being unreachable, due to some type of failure.
A TCP or UDP packet directed at a port number with no receiver attached
is also reported via ICMP.
- Announce network congestion. When a router begins buffering
too many packets, due to an inability to transmit them as fast as they
are being received, it will generate ICMP Source Quench messages.
Directed at the sender, these messages should cause the rate of
packet transmission to be slowed. Of course, generating too many
Source Quench messages would cause even more network congestion,
so they are used sparingly.
- Assist Troubleshooting. ICMP supports an Echo function,
which just sends a packet on a round--trip between two hosts.
Ping,
a common network management tool, is based on this
feature. Ping will transmit a series of packets, measuring average
round--trip times and computing loss percentages.
- Announce Timeouts. If an IP packet's TTL field drops to zero,
the router discarding the packet will often generate an ICMP packet
announcing this fact.
TraceRoute
is a tool which maps network
routes by sending packets with small TTL values and watching the
ICMP timeout announcements.
Next: Section 4 - The TCP Protocol
Connected: An Internet Encyclopedia
ICMP