Che cos'è il protocollo dei messaggi di controllo di Internet?
Internet Control Message Protocol (ICMP) è un'utilità utilizzata per la segnalazione di errori e scopi diagnostici nelle reti di computer. ICMP fa parte di Internet Protocol (IP) Suite ed è costituito da messaggi predefiniti con scopi diversi. La maggior parte degli aspetti dell'Internet Control Message Protocol passa inosservata agli utenti finali, ma alcuni strumenti di rete come traceroute e ping fanno affidamento sui messaggi ICMP per la loro funzionalità.
Nel cuore di Internet e delle reti di computer più piccole c'è una raccolta di protocolli noti come IP Suite. Questi protocolli specificano i formati per i messaggi scambiati tra i dispositivi di rete e stabiliscono le regole per l'invio e la ricezione di tali messaggi. Anche i protocolli sono stratificati, con ogni strato che fa affidamento su quello sottostante. L'ICMP fa parte del secondo livello più alto, il livello Internet. Questo livello include il noto protocollo Internet responsabile della trasmissione di singoli gruppi di dati, chiamati pacchetti, attraverso una o più reti.
ICMP viene utilizzato per inviare messaggi di errore o informazioni diagnostiche tra dispositivi o host, utilizzando il protocollo Internet. I messaggi ICMP sono predefiniti e possono essere indicati in base al nome o al numero di tipo. La maggior parte di questi messaggi riguarda diversi tipi di segnalazione errori. Ad esempio, quando non è possibile raggiungere un determinato host, viene spesso generato un messaggio ICMP che indica il problema specifico che impedisce la consegna dei dati. Altri tipi di messaggi vengono inviati se i pacchetti vengono danneggiati o se un router o un host in una rete è congestionato.
Le dimensioni massime di un pacchetto non sono predefinite, ma dettate dall'unità di trasmissione massima (MTU) di un particolare collegamento di rete. Link diversi possono avere MTU diversi, ma un pacchetto deve essere più piccolo del MTU più piccolo lungo un determinato percorso per completare il suo viaggio. Una tecnica nota come Path MTU Discovery (PMTUD) utilizza i messaggi ICMP per avvisare un mittente quando i pacchetti sono troppo grandi per un particolare segmento di percorso.
Un protocollo correlato noto come ICMP Router Discovery Protocol (IRDP) può facilitare la configurazione automatica della rete per gli host che lo supportano. IRDP utilizza due tipi di messaggi del protocollo dei messaggi di controllo di Internet per annunciare e scoprire i router vicini, ovvero gli host che collegano due o più reti. Un router che supporta IRDP trasmetterà periodicamente un messaggio di annuncio del router ICMP che annuncia la sua presenza agli host. Gli host possono anche inviare un messaggio di richiesta chiedendo a tutti i router vicini di identificarsi.
Alcune utility di rete popolari si basano anche su Internet Control Message Protocol. Uno strumento, traceroute, utilizza il messaggio ICMP generato quando un pacchetto è scaduto o ha superato il suo "time to live" (TTL). Impostando un valore TTL intenzionalmente basso per un pacchetto, traceroute riceverà un messaggio Tempo trascorso ICMP dall'ultimo router raggiunto dal pacchetto prima della scadenza. Ripetendo questo processo e aumentando il valore TTL, in teoria, verrà generato un elenco di tutti i pacchetti host che stanno attraversando.
Un altro strumento chiamato ping si basa sul messaggio di richiesta echo ICMP, a cui viene risposto con un messaggio di risposta echo ICMP. Sfortunatamente, il ping può anche essere abusato in un cosiddetto "attacco di puffo" quando un hacker invia richieste di eco con informazioni del mittente falsificate, a cui quindi molte altre macchine rispondono. Ciò può congestionare una rete al punto in cui non possono passare pacchetti legittimi, una situazione nota come denial of service.