Il protocollo ICMP è di grande importanza per la comunicazione nelle reti IP, nelle quali viene utilizzato in particolare dai router, ma non solo: server e client fanno uso dei messaggi legati al protocollo Internet e ricevono in questo modo importanti informazioni di rete.
Una situazione tipica di impiego è il cosiddetto ping test, che può essere eseguito utilizzando l’omonimo comando disponibile in tutti i sistemi operativi. L’utilizzo di questo strumento è il modo più semplice per controllare la disponibilità di un host nella rete. A questo scopo, ping invia un pacchetto ICMP(v6) di tipo Echo request (8 o 128), al quale il destinatario risponde con un messaggio consistente in un pacchetto di tipo Echo reply (0 o 129). Nel caso in cui il sistema a cui è destinato il ping non sia raggiungibile, l’ultimo nodo di rete disponibile invia un pacchetto di risposta di tipo Destination unreachable (3 o 1, cioè destinazione non raggiungibile).
Dal canto loro, i router utilizzano il protocollo ICMP per scopi diversi: attraverso un Router advertisement (ICMP di tipo 9; ICMPv6 di tipo 134), a intervalli regolari, informano della propria presenza tutti i partecipanti attivi del network e comunicano loro le varie informazioni di rete. Questi a loro volta immagazzinano i dati ricevuti nella cache e possono impostare il router come gateway standard. Inoltre, i router cercano di ottimizzare il percorso dei pacchetti di dati nella rete usando i Redirect (tipo 5 o 137). Utilizzando questo tipo di messaggi, le interfacce di rete notificano all’host l’esistenza di una stazione intermedia (hop) per l’invio di pacchetti IP.