Internet Control Message Protocol (ICMP)
The Internet Control Message Protocol (ICMP) handles error and
control messages for IP. This
protocol allows gateways and hosts to send problem reports to the machine
sending a packet.
ICMP uses the basic support of IP
as if it were a higher-level protocol. However,
ICMP is actually an integral part of IP
and is implemented by every IP module.
There are two versions of ICMP,
ICMPv4 and ICMPv6,
which correspond to versions 4 and 6 of IP.
ICMP carries out error reporting, router discovery, and
diagnostic testing on behalf of IP.
ICMPv6 additionally assumes the functions that IGMP and
ARP perform for IPv4: it distributes information about
the membership of multicast groups and it resolves IPv6 addresses to
hardware MAC addresses.
ICMP provides feedback about problems
in the communications environment,
but it does not make IP reliable.
ICMP does not guarantee that an IP packet
is delivered reliably, or that an ICMP message will be returned
to the source host if an IP packet is not delivered or is
delivered incorrectly.
ICMP sends and receives the following message types:
address mask request-
(ICMPv4 only)
Request a subnet mask from a gateway, if known, or by broadcasting.
address mask reply-
(ICMPv4 only)
Reply to an address mask request.
destination unreachable-
Sent by a gateway when it cannot deliver an IP datagram. The
reason is given in the code field of the protocol header.
echo request-
Test whether a destination is alive and reachable.
(This mechanism is used by the
ping(1Mtcp)
command.)
echo reply-
Reply to an echo request.
group membership query-
(ICMPv6 only)
Sent when a host wishes to find out which multicast addresses are being
listened for on a subnet, or which hosts are listening for a specific
multicast address.
group membership report-
(ICMPv6 only)
Report by a host that it is listening to a multicast address.
group membership reduction-
(ICMPv6 only)
Sent by a host when it ceases to listen to a multicast address.
information request-
(Obsolete: ICMPv4 only)
Obtain an IP address for an attached network.
information reply-
(Obsolete: ICMPv4 only)
Reply to an information request.
neighbor solicitation-
(ICMPv6 only)
Sent when a host wishes to discover the MAC address of another
host on a local subnet.
neighbor advertisement-
(ICMPv6 only)
Reply to a neighbor solicitation message.
packet too big-
(ICMPv6 only)
parameter problem-
(ICMPv4 only)
Sent when a host or gateway finds a problem with the header or options
of an IP datagram.
redirect-
Sent when a gateway detects that a host is trying to send
a datagram via a non-optimum route. The reply instructs the sending host
which gateway it should use.
router solicitation-
Sent when a host wishes to discover a router on the local subnet.
In ICMPv6, this message can also be used to discover the
IPv6 address prefixes that are in use on the local subnets.
router advertisement-
Notify the existence of routers on a subnet, or
reply to a router solicitation request.
A host may also send this message if its MAC address changes.
source quench-
(ICMPv4 only)
Sent by a gateway or host when it discards
datagrams because they are arriving too quickly to be processed.
time (hop count) exceeded-
Sent when an IP datagram is discarded because the
time-to-live or hop-limit counter in the
IP header has been decremented to 0.
(This mechanism is used by the
traceroute(1Mtcp)
command.)
timestamp request-
(ICMPv4 only)
Request the current time from a destination machine.
timestamp reply-
(ICMPv4 only)
Reply to a timestamp request.
© 2002 Caldera International, Inc. All rights reserved.
UnixWare 7 Release 7.1.3 - 30 October 2002