Informazioni di base su ICMP (Internet Control Message Protocol)

Sommario

ICMP (Internet Control Message Protocol) è un'utilità di diagnostica e segnalazione di errori considerata come parte necessaria di qualsiasi implementazione IP. La comprensione di ICMP e la conoscenza di ciò che è possibile generare utilizzando un tipo specifico di ICMP risulta utile nella diagnostica dei problemi di rete.

Informazioni

Gli ICMP vengono utilizzati da router, periferiche intermedie o host per la comunicazione di aggiornamenti o informazioni su errori ad altri router, periferiche intermedie o host.


Ciascun messaggio ICMP contiene tre campi che ne definiscono lo scopo e offrono un checksum. Questi campi sono TIPO, CODICE e CHECKSUM. Il campo TIPO identifica il messaggio ICMP, il campo CODICE offre ulteriori informazioni relative al campo TIPO associato, mentre il campo CHECKSUM offre un metodo per determinare l'integrità del messaggio.


I TIPI definiti sono i seguenti:


TIPO Descrizione
---- -----------
0 Risposta Echo
3 Destinazione irraggiungibile
4 Origine estinta
5 Messaggio Redirect
8 Richiesta Echo
11 Tempo scaduto
12 Problema di parametro
13 Richiesta timestamp
14 Risposta timestamp
15 Richiesta informazioni (non più utilizzato)
16 Risposta informazioni (non più utilizzato)
17 Richiesta maschera di indirizzo
18 Risposta maschera di indirizzo

Richiesta Echo e Risposta Echo

Questo ICMP è il più utilizzato per eseguire il test della connettività IP ed è comunemente conosciuto come PING. Nell'ICMP Richiesta Echo il valore del campo Tipo è 8 mentre il valore del campo Codice è 0. In Risposta Echo il valore dei campi Tipo e Codice è 0.

Destinazione irraggiungibile

Quando non è possibile inviare un pacchetto, viene generato un ICMP Tipo 3 di Destinazione irraggiungibile. È possibile che il valore del campo Codice degli ICMP di Tipo 3 vari da 0 a 15:

Tipo 3
Codice
Valore Descrizione
----- -----------
0 Rete irraggiungibile
1 Host irraggiungibile
2 Protocollo irraggiungibile
3 Porta irraggiungibile
4 Richiesta deframmentazione e DF (Don't Fragment, Non frammentare)
5 Errore route di origine
6 Rete di destinazione sconosciuta
7 Host di destinazione sconosciuto
8 Host di origine isolato
9 Comunicazione con la rete di destinazione proibita dall'amministratore
10 Comunicazione con l'host di destinazione proibita dall'amministratore
11 Rete irraggiungibile per il tipo di servizio
12 Host irraggiungibile per il tipo di servizio
13 Comunicazione proibita dall'amministratore tramite filtro
14 Violazione di precedenza all'host
15 Limite precedenza attivo

Origine estinta

Un messaggio ICMP Origine estinta dispone di un campo Tipo con valore 4 e di un campo Codice con valore 0. I messaggi Origine estinta vengono inviati quando la destinazione non è in grado di elaborare il traffico alla stessa velocità di invio dell'origine. L'ICMP Origine estinta segnala all'origine di rallentare la velocità di invio dei dati. La destinazione continuerà a generare ICMP Origine estinta finché l'origine non li invierà a una velocità accettabile.

Messaggio Redirect

Una periferica intermedio genera un messaggio Redirect ICMP quando viene determinato che è possibile raggiungere una route richiesta sia localmente che attraverso un percorso migliore. Gli ICMP Messaggio Redirect sono del Tipo 5 e vengono definiti ulteriormente dai seguenti valori del campo Codice:


Tipo 5
Codice
Valore Descrizione
----- -----------
0 Reindirizzamento datagrammi per la rete
1 Reindirizzamento datagrammi per l'host
2 Reindirizzamento datagrammi per il tipo di servizio e la rete
3 Reindirizzamento datagrammi per il tipo di servizio e l'host

Tempo scaduto

Se un router o un host scarica un pacchetto a causa di un timeout, verrà generato un ICMP di Tipo 11 Tempo scaduto. Nell'ICMP Tempo scaduto il valore di Codice è 0 o 1. Viene generato un Codice 0 quando viene superato il conteggio hop di un datagramma e scartato il pacchetto. Viene generato un Codice 1 quando la durata del riassemblaggio di un pacchetto frammentato eccede il valore di timeout.

Problema di parametro

Quando una periferica intermedia o un host scarta un datagramma a causa dell'impossibilità di elaborazione, viene generato un ICMP 12. Tra le cause comuni per questo ICMP vi sono informazioni di intestazione danneggiate oppure opzioni mancanti. Se il motivo dell'ICMP è rappresentato da un'opzione mancante necessaria, il valore del campo Codice dell'ICMP è 1. Se il valore del campo Codice corrisponde a 0, il campo Puntatore contiene l'ottetto dell'intestazione del datagramma scartato in cui è stato rilevato l'errore.

Richiesta timestamp e Risposta timestamp

Richiesta e Risposta timestamp rappresentano un metodo rudimentale per la sincronizzazione dell'ora gestita in periferiche diverse. Per la Richiesta il campo Tipo è 13 mentre per la Risposta il campo Tipo è 14. Questo metodo per la sincronizzazione dell'ora è grossolano e inaffidabile. Per questi motivi non viene utilizzato ampiamente.

Richiesta informazioni e Risposta informazioni

Questi tipi di ICMP sono stati progettati in origine per consentire a un host in avvio di scoprire un indirizzo IP. Si tratta di un metodo obsoleto e non più utilizzato. I metodi utilizzati più di frequente per il rilevamento di indirizzi IP sono rappresentati da BOOTP (Bootstrap Protocol) e DHCP (Dynamic Host Configuration Protocol). BOOTP viene definito dalla RFC1542, mentre DHCP dalla RFC1541. Per informazioni sull'implementazione DHCP di Microsoft, vedere il seguente articolo della Microsoft Knowledge Base:
169289 Informazioni di base su DHCP (Dynamic Host Configuration Protocol)

Richiesta maschera indirizzo e Risposta maschera indirizzo

Per determinare la subnet mask utilizzata sulla rete locale, un computer in avvio utilizza l'ICMP Tipo 17 Richiesta maschera indirizzo. Una periferica intermedia o un computer che operi da periferica intermedia risponderà con un ICMP Tipo 18 Risposta maschera di indirizzo.

Riferimenti

Per ulteriori informazioni su ICMP, vedere RFC950, RFC792 e RFC1122.


È possibile richiedere le RFC attraverso Internet nel modo seguente:


Copie cartacee di tutte le RFC sono disponibili presso il NIC, sia singolarmente che tramite abbonamento. Per ulteriori informazioni, contattare NIC@NIC.DDN.MIL. Sono disponibili copie in linea via FTP o Kermit all'indirizzo NIC.DDN.MIL come rfc/rfc####.txt o rfc/rfc####.PS, dove #### rappresenta il numero di RFC senza zeri iniziali.

Proprietà

ID articolo: 170292 - Ultima revisione: 14 dic 2005 - Revisione: 1

Feedback