Il protocollo ICMP

Il protocollo ICMP (Internet Control Message Protocol) è un protocollo che permette di gestire le informazioni relative agli errori dei terminali connessi.

La gestione degli errori

Dato il basso controllo realizzato dal protocollo IP, esso permette non solo di correggere gli errori ma anche di informarne i protocolli di livelli vicini. Così, il protocollo ICMP è usato da tutti i router, che se ne servono per segnalare un errore (detto Delivery Problem).

I messaggi ICMP sono incapsulati

I messaggi d'errore ICMP sono trasportati sulla rete sotto forma di datagramma, come qualsiasi altro dato. I messaggi di errore possono essere così essi stessi soggetti all'errore. Tuttavia in caso di errore su un datagramma che trasporta un messaggio ICMP, nessun messaggio di errore sarà rilevato per evitare un effetto "palla di neve" in caso di incidente sulla rete. Ecco a cosa assomiglia un messaggio ICMP incapsulato in un datagramma IP:

Intestazione Messaggio ICMP
Tipo
(8 bit)
Codice
(8 bit)
Checksum
(16 bit)
Messaggio
(dimensione variabile)

Significato dei messaggi ICMP

Tipo Codice Messaggio Significato del messaggio
8 0 Richiesta di ECO Questo messaggio è utilizzato quando si usa il comando PING. Questo comando, che permette di testare la rete, invia un datagramma ad un destinatario e gli chiede di restituirlo
3 0 Destinatario inaccessibile La rete non è accessibile
3 1 Destinatario inaccessibile Il terminale non è accessibile
3 2 Destinatario inaccessibile Il protocollo non è accessibile
3 3 Destinatario inaccessibile La porte non è accessibile
3 4 Destinatario inaccessibile Frammentazione necessaria ma impossibile a causa del flag DF
3 5 Destinatario inaccessibile Il router è fallito
3 6 Destinatario inaccessibile Rete sconosciuta
3 7 Destinatario inaccessibile Terminale sconosciuto
3 8 Destinatario inaccessibile Terminale non connesso alla rete (inutilizzato)
3 9 Destinatario inaccessibile Comunicazione con la rete vietata
3 10 Destinatario inaccessibile Comunicazione con il terminale vietata
3 11 Destinatario inaccessibile Rete inaccessibile per questo servizio
3 12 Destinatario inaccessibile Terminale inaccessibile per questo servizio
3 11 Destinatario inaccessibile Comunicazione vietata (filtraggio)
4 0 Source Quench Quando il volume dei dati inviati è troppo importante, il router invia questo messaggio per prevenirne la saturazione richiedendo di ridurre la velocità di trasmissione
5 0 Reindirizzamento per un host Il router osserva che il percorso di un computer non è ottimale e invia l'indirizzo del router da aggiungere nella tabella di router del computer
5 1 Reindirizzamento per un host e un servizio dato Il router osserva che il percorso di un computer non è ottimale per un dato servizio e invia l'indirizzo del router da aggiungere nella tabella di router del computer
5 2 Reindirizzamento per una rete Il router osserva che il percorso di un'intera rete non è ottimale e invia l'indirizzo del router da aggiungere nella tabella del router dei computer della rete
5 3 Reindirizzamento per una rete e un servizio dato Il router osserva che il percorso di un'intera rete non è ottimale per un servizio dato e invia l'indirizzo del router da aggiungere nella tabella del router dei computer della rete
11 0 Tempo scaduto Questo messaggio è inviato quando il tempo di vita di un datagramma è scaduto. L'intestazione del datagramma è rinviato affinché l'utente sappia quale datagramme è stato distrutto
11 1 Tempo di riassemblaggio di frammentazione scaduto Questo messaggio è inviato quando il tempo di riassemblaggio dei frammenti di un datagramma è scaduto.
12 0 Intestazione errata Questo messaggio è inviato quando un campo di intestazione è errato. La posizione dell'errore viene rinviata
13 0 Time stamp request Un terminale richiede ad un altro la sua ora e data sistema (universale 9)
14 0 Timestamp reply Il terminale ricevitore da la propria ora e data sistema affinché il terminale emettitore possa determinare il tempo di trasferimento dei dati
15 0 Richiesta di indirizzo di rete Questo messaggio permette di richiedere alla rete un indirizzo IP
16 0 Risposta dell'indirizzo IP Questo messaggio risponde al messaggio precedente
17 0 Richiesta di maschera di sub-rete Questo messaggio permette di richiedere alla rete una maschera di bub-rete
18 0 Risposta di maschera di sub-rete Questo messaggio risponde al messaggio precedente
17 0 Timestamp reply Il terminale ricevitore da la propria ora e data sistema affinché il terminale emettitore possa determinare il tempo di trasferimento dei dati

Ulteriori informazioni

Per ulteriori informazioni sul protocollo ICMP, è meglio fare riferimento alla RFC 792 che spiega in dettaglio il protocollo: RFC 792.

Foto: © Pixabay.

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Il documento intitolato « Il protocollo ICMP » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.