• Home
  • InfoBase
  • Dictionaries
  • Member
  • News
  • 中文网站
     Advanced Search
    Read the latest Blogs from IT professionals in the field. Read and write community created documents. Need IT help? Ask our staff. Connect with your peers. Check our Tech Shop for posters, books and software tools. Home

    ICMP/ICMPv6: Internet Control Message Protocol

    Internet Control Message Protocol (ICMP) is an integrated part of IP suite. ICMP messages, delivered in IP packets, are used for out-of-band messages related to network operation or mis-operation. ICMP packet delivery is unreliable, so hosts can"t count on receiving ICMP packets for any network problems. The key ICMP functions are:

    • 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.

    The Internet Control Message Protocol (ICMP) was revised during the definition of IPv6. In addition, the multicast control functions of the IPv4 Group Membership Protocol (IGMP) are now incorporated with the ICMPv6.

    Protocol Structure

    8 bits 16 bits 32 bits
    Type Code Checksum
    Identifier Sequence number
    Address mask
    • Type -- Messages can be error or informational messages. Error messages can be Destination unreachable, Packet too big, Time exceed, Parameter problem. The possible informational messages are, Echo Request, Echo Reply, Group Membership Query, Group Membership Report, Group Membership Reduction.
    • Code -- For each type of message several different codes are defined. An example of this is the Destination Unreachable message, where possible messages are: no route to destination, communication with destination administratively prohibited, not a neighbor, address unreachable, port unreachable. For further details, refer to the standard.
    • Checksum -- The 16-bit one's complement of the one's complement sum of the ICMP message starting with the ICMP Type. For computing the checksum, the checksum field should be zero.
    • Identifier -- An identifier to aid in matching requests/replies; may be zero.
    • Sequence number -- Sequence number to aid in matching requests/replies; may be zero.
    • Address mask -- A 32-bit mask.

    Related Terms: IP, IPv6, TCP, UDP, IGMP, SNMP, IRDP

    Sponsor Source: ICMP is defined by IETF (http://www.ietf.org) RFC792 and 950; ICMPv6 is defined by RFC 2461, 2463

    Reference:
    http://www.javvin.com/protocol/rfc792.pdf: Internet Control Message Protocol
    http://www.javvin.com/protocol/rfc950.pdf: Internet Standard Subnetting Procedure
    http://www.javvin.com/protocol/rfc2461.pdf: Neighbor Discovery for IP Version 6 (IPv6).
    http://www.javvin.com/protocol/rfc2463.pdf: ICMPv6 for the Internet Protocol Version 6 (IPv6) Specification

    Reply

    The content of this field is kept private and will not be shown publicly.
    • Use <!--pagebreak--> to create page breaks.
    • Web page addresses and e-mail addresses turn into links automatically.
    • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <!--pagebreak--> <img> <br> <table> <tr> <td> <tbody> <p>
    • Lines and paragraphs break automatically.

    More information about formatting options

    CAPTCHA
    This question is for testing whether you are a human visitor and to prevent automated spam submissions.
    4 + 6 =
    Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.