DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Introducing the Internet protocols

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