ICMP Overview, History, Versions and Standards
(Page 1 of 3)
The Internet Protocol is the foundation of the TCP/IP protocol suite, since it is the mechanism responsible for delivering datagrams. Three of the main characteristics that describe IP's datagram delivery method are connectionless, unreliable and unacknowledged. This means that datagrams are just sent over the internetwork with no prior connection established, no assurance they will show up, and no acknowledgement sent back to the sender that they arrived. On the surface, this seems like it would result in a protocol that is difficult to use and impossible to rely on, and therefore a poor choice for designing a protocol suite. However, even though IP makes no guarantees, it works very well because most of the time, IP internetworks are sufficiently robust that messages get where they need to go.
Even the best-designed system still encounters problems, of course. Incorrect packets are occasionally sent, hardware devices have problems, routes are found to be invalid, and so forth. IP devices also often need to share specific information to guide them in their operation, and to perform tests and diagnostics. However, IP itself includes no provision to allow devices to exchange low-level control messages. Instead, these features are provided in the form of a companion protocol to IP called the Internet Control Message Protocol (ICMP).
I think a good analogy for the relationship between IP and ICMP is to consider the one between a high-powered executive, and her experienced administrative assistant. The executive is busy and her time is very expensive. She is paid to do a specific job and to do it well, and not to spend time on administrative tasks. However, without someone doing those tasks, the executive could not do her job properly. The administrative assistant does the also-important support jobs that make it possible for the executive to focus on her work. The working relationship between them is very important; a good pair will work together like a cohesive team, even anticipating each others' needs.
In TCP/IP, the Internet Protocol is the executive, and ICMP is its administrative assistant. IP focuses on its core activities, such as addressing, datagram packaging and routing. ICMP provides critical support to IP in the form of ICMP messages that allow different types of communication to occur between IP devices. These messages use a common general format, and are encapsulated in IP datagrams for transmission. They are divided into different categories, and each type has a specific use and internal field format.
Just as an administrative assistant often has a special location in an organization chart, usually connecting with a dotted line directly to the executive he or she assists, ICMP occupies a unique place in the TCP/IP protocol architecture. Technically, one might consider ICMP to belong to layer four, since it creates messages that are encapsulated in IP datagrams and sent using IP at layer three. However, in the standard that first defined it, ICMP is specifically declared to be not only part of the network layer, but:
actually an integral part of IP, [that] must be implemented by every IP module.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.