Internet Control Message Protocol
Encyclopedia
|
| Tutorials | Encyclopedia | Dictionary | Directory |
|
Internet Control Message Protocol
The Internet Control Message Protocol (ICMP) is one of the core protocols of the Internet protocol suite. It is chiefly used by networked computers' operating systems to send error messages—indicating, for instance, that a requested service is not available or that a host or router could not be reached. ICMP [1] relies on IP to perform its tasks, and it is an integral part of IP. It differs in purpose from transport protocols such as TCP and UDP in that it is typically not used to send and receive data between end systems. It is usually not used directly by user network applications, with some notable exceptions being the ping tool and traceroute.
Technical detailsInternet control message protocol is part of the Internet protocol suite as defined in RFC 792. ICMP messages are typically generated in response to errors in IP datagrams (as specified in RFC 1122) or for diagnostic or routing purposes. The version of ICMP for Internet Protocol version 4 is also known as ICMPv4, as it is part of IPv4. IPv6 has an equivalent protocol, ICMPv6. ICMP messages are constructed at the IP layer, usually from a normal IP datagram that has generated an ICMP response. IP encapsulates the appropriate ICMP message with a new IP header (to get the ICMP message back to the original sending host) and transmits the resulting datagram in the usual manner. For example, every machine (such as intermediate routers) that forwards an IP datagram has to decrement the time to live (TTL) field of the IP header by one; if the TTL reaches 0, an ICMP Time to live exceeded in transit message is sent to the source of the datagram. Each ICMP message is encapsulated directly within a single IP datagram, and thus, like UDP, ICMP is unreliable. Although ICMP messages are contained within standard IP datagrams, ICMP messages are usually processed as a special case, distinguished from normal IP processing, rather than processed as a normal sub-protocol of IP. In many cases, it is necessary to inspect the contents of the ICMP message and deliver the appropriate error message to the application that generated the original IP packet, the one that prompted the sending of the ICMP message. Many commonly-used network utilities are based on ICMP messages. The traceroute command is implemented by transmitting UDP datagrams with specially set IP TTL header fields, and looking for ICMP Time to live exceeded in transit (above) and "Destination unreachable" messages generated in response. The related ping utility is implemented using the ICMP "Echo request" and "Echo reply" messages. ICMP segment structureHeaderThe ICMP header starts after bit 160 of the IP header (unless IP options are used).
Padding dataAfter the ICMP header follows padding data (in octets):
List of permitted control messages (incomplete list)
(Sources: IANA ICMP Parameters See alsoReferencesExternal links
an:Internet Control Message Protocol bs:Internet Control Message Protocol bg:ICMP ca:Internet Control Message Protocol cs:ICMP da:Internet control message protocol de:Internet Control Message Protocol el:ICMP es:Internet Control Message Protocol eo:ICMP eu:ICMP fr:Internet Control Message Protocol gl:ICMP ko:ICMP hr:ICMP id:ICMP it:ICMP he:Internet Control Message Protocol lv:ICMP lt:ICMP ml:????????????? ?????????? ?????? ??????????????? nl:Internet Control Message Protocol ja:Internet Control Message Protocol no:ICMP pl:Internet Control Message Protocol pt:ICMP ro:Internet Control Message Protocol ru:ICMP sl:ICMP fi:ICMP sv:ICMP tr:Internet Control Message Protocol uk:ICMP zh:????????? Source: Wikipedia | The above article is available under the GNU FDL. | Edit this article
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
top
©2008-2009 TutorGig.com. All Rights Reserved. Privacy Statement