Che cosa è ICMP?

November 11

Che cosa è ICMP?


ICMP sta per Internet Control Message Protocol, un insieme leggero di applicazioni originariamente progettate per rilevare e segnalare le condizioni di errore in reti informatiche. ICMP è un'estensione del protocollo Internet (IP) ed è definita da un protocollo, noto come Request for Comments (RFC) 792, pubblicato dalla Internet Engineering Task Force.

Scopo

ICMP permette host, router e altri dispositivi di rete per lo scambio di informazioni di controllo di base, come l'errore e le informazioni di stato, quando i dati vengono inviati da un dispositivo all'altro. Così ICMP è utile per sondare una rete per determinare le caratteristiche generali o per i problemi di connettività di rete di risoluzione dei problemi. Se un amministratore di rete comprende ICMP e le possibili cause di specifici tipi di messaggi ICMP, lui o lei è meglio equipaggiata per diagnosticare problemi di rete.

Struttura

Ogni messaggio ICMP contiene tre campi, conosciuti come il tipo, il codice e il checksum. Il campo tipo identifica il messaggio ICMP, il campo del codice fornisce ulteriori informazioni sul messaggio, dipende dal tipo di messaggio, e il campo checksum determina l'integrità del messaggio. L'utilità Ping, per esempio, invia una richiesta di messaggio ICMP echo, con un campo tipo di 8 e un campo codice di 0, e si aspetta di ricevere un messaggio di risposta eco, con un campo di tipo 0 e un campo codice di 0. Se l'host di destinazione non è raggiungibile, meta messaggio ICMP irraggiungibile, con un campo di tipo 3 e un campo codice corrispondente ad uno dei 16 possibili condizioni, viene generato.

IP Datagram

Ogni messaggio ICMP è incapsulato in un pacchetto autonomo di dati, noti come un datagramma IP, che contiene informazioni sufficienti per la sua trasmissione, o instradato, attraverso la rete dalla sorgente alla destinazione. Infatti, ICMP è parte integrante di IP ed è una parte necessaria di qualsiasi implementazione IP. ICMP è, tuttavia, un controllo e protocollo di rete, quindi viene utilizzato per il trasferimento di informazioni sullo stato della rete, piuttosto che i dati delle applicazioni.

Applicazione

L'applicazione più noto è "ping", che viene utilizzato per determinare se un dato host di rete è raggiungibile o meno. ICMP è unica perché, a differenza di altri protocolli, come la User Datagram Protocol (UDP) e Transmission Control Protocol (TCP), che non fa uso di porte per comunicare. ICMP messaggio può perdersi e non consegnato. Una semplice richiesta, come ad esempio determinare se un host è raggiungibile, non ha bisogno di porte per comunicare o di consegna affidabile.