RFC 792 - Internet Control Message Protocol
Data: Settembre 1981
Stato: Internet Standard (STD 5)
Autore: J. Postel (ISI)
Aggiornamenti: RFC 777, RFC 760, IEN 109, IEN 128
Aggiornato da: RFC 950, RFC 4884, RFC 6633, RFC 6918
Sommario (Abstract)
Questo documento definisce l'Internet Control Message Protocol (ICMP, Protocollo dei messaggi di controllo Internet), che è una parte integrante dell'Internet Protocol (IP). ICMP viene utilizzato dai nodi IP per segnalare errori nell'elaborazione dei datagrammi e per scambiare informazioni di controllo. Fornisce funzionalità essenziali di diagnostica di rete, inclusi report di errori, verifica della connettività e funzioni di gestione della rete.
Indice (Contents)
- Introduction (Introduzione)
- Message Formats (Formati dei messaggi)
- Destination Unreachable Message (Messaggio di destinazione non raggiungibile)
- Time Exceeded Message (Messaggio di tempo scaduto)
- Parameter Problem Message (Messaggio di problema del parametro)
- Source Quench Message (Messaggio di limitazione sorgente)
- Redirect Message (Messaggio di reindirizzamento)
- Echo or Echo Reply Message (Messaggio Echo)
- Timestamp or Timestamp Reply Message (Messaggio Timestamp)
- Information Request or Information Reply Message (Messaggio di richiesta informazioni)
- Summary of Message Types (Riepilogo dei tipi di messaggio)
- References (Riferimenti)
Riferimento rapido: Tipi di messaggi ICMP
| Type | Nome | Descrizione |
|---|---|---|
| 0 | Echo Reply | Risposta a richiesta Echo (Ping) |
| 3 | Destination Unreachable | Destinazione non può essere raggiunta |
| 4 | Source Quench | Messaggio di controllo della congestione (obsoleto) |
| 5 | Redirect | Istruzione di reindirizzamento del percorso |
| 8 | Echo Request | Richiesta Ping |
| 11 | Time Exceeded | TTL scaduto o timeout del frammento |
| 12 | Parameter Problem | Campo dell'header IP non valido |
| 13 | Timestamp Request | Richiesta timestamp |
| 14 | Timestamp Reply | Risposta con timestamp |
| 15 | Information Request | Richiesta informazioni di rete (obsoleto) |
| 16 | Information Reply | Risposta con informazioni di rete (obsoleto) |
Formato del messaggio ICMP
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Body |
| (varia in base al tipo) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Campi principali
- Type: Identifica il tipo di messaggio ICMP (8 bit)
- Code: Fornisce contesto aggiuntivo per il tipo di messaggio (8 bit)
- Checksum: Rilevamento di errori per il messaggio ICMP (16 bit)
- Message Body: Varia in base al tipo di messaggio
Casi d'uso comuni
Diagnostica di rete
Ping (Echo Request/Reply)
$ ping 8.8.8.8
ICMP Echo Request → 8.8.8.8
← ICMP Echo Reply (Type 0)
Traceroute
$ traceroute google.com
Utilizza messaggi ICMP Time Exceeded (Type 11)
per rilevare il percorso di rete
Segnalazione errori
Destination Unreachable (Destinazione non raggiungibile)
- Rete non raggiungibile
- Host non raggiungibile
- Protocollo non raggiungibile
- Porta non raggiungibile
- Frammentazione richiesta ma DF impostato
Time Exceeded (Tempo scaduto)
- TTL scaduto in transito
- Tempo di riassemblaggio frammenti superato
Risorse correlate
- Testo ufficiale: RFC 792 (TXT)
- Pagina ufficiale: RFC 792 DataTracker
- Standard: STD 5
- Protocolli correlati:
- RFC 791 (IPv4)
- RFC 1122 (Host Requirements)
- RFC 4443 (ICMPv6)
- RFC 4884 (Extended ICMP)
Nota importante: ICMP è un componente essenziale delle reti IP e fornisce funzionalità critiche di diagnostica e segnalazione errori. Tuttavia, molte reti filtrano i messaggi ICMP per motivi di sicurezza, il che può influire sugli strumenti di risoluzione dei problemi e diagnostica di rete.