CITS3002 Computer Networks  
prev
next CITS3002 help3002 CITS3002 schedule  

Internet Control Message Protocol (ICMP)

ICMP allows gateways and hosts to exchange bootstrap and error information. Gateways send ICMP datagrams when they cannot deliver a datagram, or to direct hosts to use another gateway. Hosts send ICMP datagrams to test the 'liveness' of their network.

As an example, the Unix program ping sends ICMP echo messages to a specified machine. Upon receipt of the echo request, the destination returns an ICMP echo reply. ping hence both checks that a host is up and that the path to a host is viable.

    prompt> /bin/ping elvis
    elvis is alive

    prompt> time /bin/ping sophia.inria.fr
    sophia.inria.fr is alive
    3.006s real 0.040s usr 0.060s sys

    prompt> time /bin/ping sophia.inria.fr
    sophia.inria.fr is alive
    0.591s real 0.020s usr 0.090s sys

If a gateway must discard a datagram due to lack of resources it sends a source quench to the datagram's sender. If a datagram cannot be delivered because a host is down or no route exists, a ICMP destination unreachable datagram is generated.

The TCP/IP Protocol suite defines over 25 (in-use) ICMP error message types, including:

destination unreachable, time exceeded, parameter problems, source quench, redirection, echo, echo reply, timestamp, timestamp reply, information request and information reply.



CITS3002 Computer Networks, Lecture 7, The TCP/IP protocol suite, p20, 17th April 2024.