value by one. When the TTL of the datagram value reaches zero, the packet is discarded. ICMP uses a time exceeded message to notify the source device that the TTL of the datagram has been exceeded.
Content 8.1 Overview of TCP/IP Error Message 8.1.7 Echo messages As with any type of packet, ICMP messages have special formats. Each ICMP message type shown in Figure has its own unique characteristics, but all ICMP message formats start with these same three fields: The type field indicates the type of ICMP message being sent. The code field includes further information specific to the message type. The checksum field, as in other types of packets, is used to verify the integrity of the data. Figure shows the message format for the ICMP echo request and echo reply messages. The relevant type and code numbers are shown for each message type. The identifier and sequence number fields are unique to the echo request and echo reply messages. The identifier and sequence fields are used to match the echo replies to the corresponding echo request. The data field contains additional information that may be a part of the echo reply or echo request message. Interactive Media Activity Drag and Drop: ICMP ECHO Message Format After completing this activity, the student will be able to ICMP ECHO message format.
Content 8.1 Overview of TCP/IP Error Message 8.1.8 Destination unreachable message Datagrams cannot always be forwarded to their destinations. Hardware failures, improper protocol configuration, down interfaces and incorrect routing information are some of the reasons successful delivery may not be possible. In these cases, ICMP delivers back to the sender a destination unreachable message indicating to the sender that the datagram could not be properly forwarded. Figure shows an ICMP destination unreachable message header. The value of 3 in the type field indicates it is a destination unreachable message. The code value indicates the reason the packet could not be delivered. Figure has a code value of 0, indicating the network was unreachable. Figure shows the meaning for each possible code value in a destination unreachable message. A destination unreachable message may also be sent when packet fragmentation is required in order to forward a packet. Fragmentation is usually necessary when a datagram is forwarded from a Token-Ring network to an Ethernet network. If the datagram does not allow fragmentation, the packet cannot be forwarded, so a destination unreachable message will be sent. Destination unreachable messages may also be generated if IP related services such as FTP or Web services are unavailable. To effectively troubleshoot an IP network, it is necessary to understand the various causes of ICMP destination unreachable messages.
Content 8.1 Overview of TCP/IP Error Message 8.1.9 Miscellaneous error reporting Devices that process datagrams may not be able to forward a datagram due to some type of error in the header. This error does not relate to the state of the destination host or network but still prevents the datagram from being processed and delivered. In this case, an ICMP type 12 parameter problem message is sent to the source of the datagram. Figure shows the parameter problem message header. The parameter problem message includes the pointer field in the header. When the code value is 0, the pointer field indicates the octet of the datagram that produced the error.
Content 8.2 TCP/IP Suite Control Messages 8.2.1 Introduction to control messages The Internet Control Message Protocol (ICMP) is an integral part of the TCP/IP protocol suite. In fact, all IP implementations must include ICMP support. The reasons for this are simple. First, since IP does not guarantee delivery, it has no inherent method to inform hosts when errors occur. Also, IP has no built-in method to provide informational or control messages to hosts. ICMP performs these functions for IP. Unlike error messages, control messages are not the results of lost packets or error conditions which occur during packet transmission. Instead, they are used to inform hosts of conditions such as network congestion or the existence of a better gateway to a remote network. Like all ICMP messages, ICMP control messages are encapsulated within an IP datagram. ICMP uses IP datagrams in order to traverse multiple networks. Multiple types of control messages are used by ICMP. Some of the most common are shown in Figure . Many of these are discussed in this section.
Content 8.2 TCP/IP Suite Control Messages 8.2.2 ICMP redirect/change requests A common ICMP control message is the ICMP redirect/change request. This type of message can only be initiated by a gateway, which is a term commonly used to describe a router. All hosts that communicate with multiple IP networks must be configured with a default gateway. This default gateway is the address of a router port connected to the same network as the host. Figure displays a host connected to a router that has access to the Internet. Once configured with the IP address of Fa 0/0 as its default gateway, Host B uses that IP address to reach any network not directly connected to it. Normally, Host B is connected to a single gateway. However, in some circumstances, a host connects to a segment that has two or more directly connected routers. In this case, the default gateway of the host may need to use a redirect/change request to inform the host of the best path to a certain network. Figure shows a network where ICMP redirects would be used. Host B sends a packet to Host C on network 10.0.0.0/8. Since Host B is not directly connected to the same network, it forwards the packet to its default gateway, Router A. Router A finds the correct route to network 10.0.0.0/8 by looking into its route table. It determines that the path to the network is back out the same interface the request to forward the packet came from. It forwards the packet and sends an ICMP redirect/change request to Host B telling it to use Router B as the gateway to forward all future requests to network 10.0.0.0/8. Default gateways only send ICMP redirect/change request messages if the following conditions are met: The ICMP redirect/change request uses the format shown in Figure . It has an ICMP type code of 5. In addition, it has a code value of 0, 1, 2, or 3. The Router Internet Address field in the ICMP redirect is the IP address that should be used as the default gateway for a particular network. In the example in Figure , the ICMP redirect sent from Router A to Host B would have a Router Internet Address field value of 172.16.1.200, which is the IP address of E0 on Router B. Web Links Internet Protocol http://www.cs.panam.edu/~meng/ Course/CS6175.Protocol/ Note/ip/ip.html
Content 8.2 TCP/IP Suite Control Messages 8.2.3 Clock synchronization and transit time estimation The TCP/IP protocol suite allows systems to connect to one another over vast distances through multiple networks. Each of these individual networks provides clock synchronization in its own way. As a result, hosts on different networks who are trying to communicate using software that requires time synchronization can sometimes encounter problems. The ICMP timestamp message type is designed to help alleviate this problem. The ICMP timestamp request message allows a host to ask for the current