JavaScript Editor Source code editor     Website development 

Main Page

Previous Section Next Section

Internet Control Message Protocol (ICMP)

Data sent to a remote computer often travels through one or more routers; these routers can encounter a number of problems in sending the message to its ultimate destination. Routers use Internet Control Message Protocol (ICMP) messages to notify the source IP of these problems. ICMP is also used for other diagnosis and troubleshooting functions.

The most common ICMP messages are listed here. Quite a few other conditions generate ICMP messages but their frequency of occurrence is quite low.

  • Echo Request and Echo Reply— ICMP is often used during testing. When a technician uses the ping command to check connectivity with another host, he is using ICMP. ping sends a datagram to an IP address and requests the destination computer to return the data sent in a response datagram. The commands actually being used are the ICMP Echo Request and Echo Reply.

  • Source Quench— If a fast computer is sending large amounts of data to a remote computer, the volume can overwhelm the router. The router might use ICMP to send a Source Quench message to the source IP to ask it to slow down the rate at which it is shipping data. If necessary, additional source quenches can be sent to the source IP.

  • Destination Unreachable— If a router receives a datagram that cannot be delivered, ICMP returns a Destination Unreachable message to the source IP. One reason that a router cannot deliver a message is a network that is down because of equipment failure or maintenance.

  • Time Exceeded— ICMP sends this message to the source IP if a datagram is discarded because TTL reaches zero. This indicates that the destination is too many router hops away to reach with the current TTL value, or it indicates router table problems that cause the datagram to loop through the same routers continuously.

A routing loop occurs when a datagram circulates through the same routers continuously and never reaches its destination. Suppose three routers are located in Los Angeles, San Francisco, and Denver. The Los Angeles router sends datagrams to San Francisco, which sends them to Denver, which sends them back to Los Angeles again. The datagram becomes trapped and will circulate continuously through these three routers until the TTL reaches zero. A routing loop should not occur, but occasionally it does. A routing loop sometimes occurs when a network administrator places static routing entries in a routing table.

  • Fragmentation Needed— ICMP sends this message if it receives a datagram with the Don't Fragment bit set and if the router needs to fragment the datagram in order to forward it to the next router or the destination.

    Previous Section Next Section

    JavaScript Editor Source code editor     Website development