Content Overview IP is limited because it is a best effort delivery system. It has no mechanism to ensure that the data is delivered, regardless of the problems it may encounter on the network. Data may fail to reach its destination for a variety of reasons, such as hardware failure, improper configuration or incorrect routing information. To help identify these failures, IP uses the Internet Control Message Protocol (ICMP) to notify the sender of the data that there was an error in the delivery process. This module describes the various types of ICMP error messages and some of the ways they are used. Because IP does not have a built-in mechanism for sending error and control messages, it uses the ICMP to send and receive error and control messages to hosts on a network. This module focuses on control messages, which are messages that provide information or configuration parameters to hosts. Knowledge of ICMP control messages is an essential part of network troubleshooting and is a key to a full understanding of IP networks. Students completing this module should be able to:
Content 8.1 Overview of TCP/IP Error Message 8.1.1 Internet Control Message Protocol (ICMP) IP is an unreliable method for delivery of network data. It is known as a best effort delivery mechanism. It has no built-in processes to ensure that data is delivered in the event that problems exist with network communication. If an intermediary device such as a router fails, or if a destination device is disconnected from the network, data cannot be delivered. Additionally, nothing in its basic design allows IP to notify the sender that a data transmission has failed. Internet Control Message Protocol (ICMP) is the component of the TCP/IP protocol stack that addresses this basic limitation of IP. ICMP does not overcome the unreliability issues in IP. Reliability must be provided by upper layer protocols if it is needed. Web Links Introduction to ICMP http://www.cisco.com/en/US/tech/tk826/ tk364/tk344/tech_ protocol_home.html
Content 8.1 Overview of TCP/IP Error Message 8.1.2 Error reporting and error correction ICMP is an error reporting protocol for IP. When datagram delivery errors occur, ICMP is used to report these errors back to the source of the datagram. For example, if Workstation 1 in Figure is sending a datagram to Workstation 6, but interface Fa0/0 on Router C goes down, Router C then utilizes ICMP to send a message back to Workstation 1 indicating that the datagram could not be delivered. ICMP does not correct the encountered network problem; it merely reports the problem. When Router C receives the datagram from Workstation 1, it knows only the source and destination IP addresses of the datagram. It does not know about the exact path the datagram took on the way to Router C. Therefore, Router C can only notify Workstation 1 of the failure, and no ICMP messages are sent to Router A and Router B. ICMP reports on the status of the delivered packet only to the source device. It does not propagate information about network changes to routers. Web Links Internet Protocol: Error and Control Messages (ICMP) http://faculty.weber.edu/wclark/ch9a.pdf
Content 8.1 Overview of TCP/IP Error Message 8.1.3 ICMP message delivery ICMP messages are encapsulated into datagrams in the same way any other data is delivered using IP. Figure displays the encapsulation of ICMP data within an IP datagram.Since ICMP messages are transmitted in the same way as any other data, they are subject to the same delivery failures. This creates a scenario where error reports could generate more error reports, causing increased congestion on an already ailing network. For this reason, errors created by ICMP messages do not generate their own ICMP messages. It is thus possible to have a datagram delivery error that is never reported back to the sender of the data. Web Links Best Effort Delivery http://oucsace.cs.ohiou.edu/~osterman/ class/cs444.archive/ notes/icmp.pdf
Content 8.1 Overview of TCP/IP Error Message 8.1.4 Unreachable networks Network communication depends upon certain basic conditions being met. First, the sending and receiving devices must have the TCP/IP protocol stack properly configured. This includes the installation of the TCP/IP protocol and proper configuration of IP address and subnet mask. A default gateway must also be configured if datagrams are to travel outside of the local network. Second, intermediary devices must be in place to route the datagram from the source device and its network to the destination network. Routers serve this function. A router also must have the TCP/IP protocol properly configured on its interfaces, and it must use an appropriate routing protocol. If these conditions are not met, then network communication cannot take place. For instance, the sending device may address the datagram to a non-existent IP address or to a destination device that is disconnected from its network. Routers can also be points of failure if a connecting interface is down or if the router does not have the information necessary to find the destination network. If a destination network is not accessible, it is said to be an unreachable network. Figures and show a router receiving a packet that it is unable to deliver to its ultimate destination. The packet is undeliverable because there is no known route to the destination. Because of this, the router sends an ICMP host unreachable message to the source.
Content 8.1 Overview of TCP/IP Error Message 8.1.5 Using ping to test destination reachability The ICMP protocol can be used to test the availability of a particular destination. Figure shows ICMP being used to issue an echo request message to the destination device. If the destination device receives the ICMP echo request, it formulates an echo reply message to send back to the source of the echo request. If the sender receives the echo reply, this confirms that the destination device can be reached via the IP protocol. The echo request message is typically initiated using the ping command as shown in Figure . In this example, the command is used with the IP address of the destination device. The command can also be utilized as shown in Figure using the IP address of the destination device. In these examples, the ping command issues four echo requests and receives four echo replies, confirming IP connectivity between the two devices.
Content 8.1 Overview of TCP/IP Error Message 8.1.6 Detecting excessively long routes Situations can occur in network communication where a datagram travels in a circle, never reaching its destination. This might occur if two routers continually route a datagram back and forth between them, thinking the other should be the next hop to the destination. This is an example of faulty routing information. The limitations of the routing protocol can result in destinations being unreachable. For example, RIP has a limit on the distance a certain routing information is allowed to travel. The hop limit of RIP is 15, which means that the packet will only be allowed to pass through 15 routers. In either of these cases, an excessively long route exists. Whether the actual path includes a circular routing path or too many hops, the packet will eventually exceed the maximum hop count. This is also known as reaching its time-to-live (TTL), because the TTL value typically matches the maximum hop count defined by the routing protocol. A TTL value is defined in each datagram. As each router processes the datagram, it decreases the TTL