Internet Control Message Protocol (ICMP) è un protocollo di terzo livello (livello di rete) nel modello OSI a sette livelli. Il protocollo diagnostica la connettività di rete o i problemi di trasmissione dei dati tra i dispositivi. Aiuta inviando, ricevendo ed elaborando messaggi ICMP per segnalare problemi di connettività al dispositivo di rete di origine.
Pertanto, lo scopo principale del protocollo ICMP è segnalare gli errori a livello di rete. Tuttavia, gli attori malintenzionati possono manipolarne la funzionalità per lanciare attacchi come Distributed Denial of Service (DDoS) e Ping of Death. Qui imparerai il protocollo ICMP, il suo caso d'uso e i parametri importanti per comprendere i messaggi ICMP.
Come funziona l'ICMP?
I router utilizzano il protocollo ICMP per eseguire la gestione della rete e la diagnosi dei problemi. Genera e invia messaggi di errore al dispositivo mittente quando la rete disabilita la consegna dei pacchetti al dispositivo di destinazione. Questi messaggi di errore includono tempo superato, problema con i parametri, destinazione irraggiungibile, congestione della rete, ecc.
Ad esempio, quando un mittente invia dati da un dispositivo al dispositivo di destinazione sotto forma di datagramma IP, viaggia attraverso più router o dispositivi intermedi. A volte, può esserci un errore nell'inoltro del datagramma IPV4. Pertanto, i messaggi ICMP sono divisi in due grandi categorie: messaggi di errore e messaggi di query.
Messaggi di segnalazione errori
Questi sono i messaggi che il router o l'host intermediario possono incontrare nell'elaborazione del datagramma:
- Tempo superato: Il pacchetto ICMP ha un parametro time-to-live che quando raggiunge 0, il router o l'host elimina il datagramma e invia un messaggio di errore di superamento del tempo. Il messaggio viene inviato anche quando la destinazione non riceve tutti i frammenti di dati.
- Destinazione irraggiungibile: Il dispositivo di avvio della connessione riceve un messaggio di errore di destinazione irraggiungibile quando il router o l'host intermediario non riesce a consegnarlo. Di conseguenza, i dispositivi eliminano il datagramma.
- Sorgente estinta: Quando i dispositivi non riescono a consegnare il datagramma a causa della congestione della rete, inviano un "messaggio di spegnimento della sorgente" ICMP al mittente del messaggio. Il messaggio di segnalazione degli errori aggiunge il controllo del flusso nel livello di rete informando il dispositivo di origine della congestione nel percorso e rallentando il processo di invio dei dati.
- Reindirizzamento: Un router in un percorso non ottimale reindirizza il pacchetto a un router con un percorso ottimale tra l'origine e la destinazione. In quanto tale, aggiorna la fonte sul cambiamento nel suo percorso.
- Problema con i parametri: Il dispositivo di origine riceve questo messaggio quando è presente un valore mancante nell'intestazione del datagramma. Ad esempio, la differenza nel checksum calcolato alla destinazione rispetto all'origine genera questo messaggio di errore ICMP.
Messaggi di interrogazione
I messaggi di query si verificano in coppia e forniscono informazioni specifiche dai dispositivi intermedi al dispositivo di origine.
- Messaggio di richiesta eco e risposta eco: Questi messaggi aiutano a risolvere i problemi di diagnostica della rete.
- Richiesta timestamp e risposta: Queste richieste di timestamp e messaggi di risposta aiutano a determinare il tempo di andata e ritorno tra i dispositivi.
Comprensione dei parametri ICMP
I dati dei messaggi ICMP sono incapsulati sotto l'intestazione IP, il che significa che l'intestazione del datagramma ICMP viene dopo le informazioni IPv4/v6. La prima parte dell'intestazione del pacchetto ICMP contiene i parametri che aiutano i dispositivi di rete a determinare il messaggio di errore o di query.
Tra i primi 32 bit, i primi 8 bit determinano il tipo di messaggio, gli 8 bit successivi determinano il codice del messaggio ei restanti bit contengono informazioni relative all'integrità dei dati. Quindi, i tre campi informativi sono: tipi ICMP, codice ICMP e Checksum.
Tipi ICMP
Il tipo determina lo scopo del pacchetto ICMP. Poiché spiega brevemente perché il dispositivo di origine sta ricevendo quel messaggio. Esistono da 0 a 255 tipi di messaggi ICMP tali che ogni tipo fornisce informazioni diverse. Alcuni tipi importanti di ICMP sono:
0: Richiesta eco
3: Destinazione irraggiungibile
4: Estinzione della fonte
5: Reindirizzamento
8: Risposta eco
11: Tempo superato
12: Problema di parametro
30: Tracciato
Codice ICMP
Il codice ICMP fornisce ulteriori informazioni sui messaggi. Ad esempio, ICMP tipo 3 con codice 0-15 specifica perché la destinazione è irraggiungibile; ovvero, se il codice è 0, è perché la rete non è disponibile. Allo stesso modo, per il tipo 3 codice 1, il messaggio specifica che l'host è irraggiungibile.
Inoltre, digitare 8 codice 0 e digitare 0 codice 0 rappresentano messaggi di richiesta eco e risposta eco. Pertanto, ogni tipo di messaggio con lo stesso valore di codice fornisce informazioni di rete diverse.
somma di controllo
Il checksum è un meccanismo di rilevamento degli errori che determina l'integrità dei dati. Il valore di checksum rappresenta i bit nel messaggio di trasmissione. Il mittente calcola e include il checksum dei dati e il destinatario ricalcola il valore e lo confronta con quello originale per determinare eventuali modifiche al messaggio originale durante trasmissione.
La seconda parte dell'intestazione punta al valore del byte che è la causa del problema nel messaggio originale. Infine, la parte finale del pacchetto ICMP è il datagramma vero e proprio.
Caso d'uso ICMP
Ecco alcuni esempi di lavoro del protocollo ICMP in vari gestione della rete e utilità amministrative.
ping
Ping è un'utilità della riga di comando che si basa sui messaggi di richiesta eco e risposta eco ICMP per testare la disponibilità della rete e la latenza tra i dispositivi. L'utilità determina semplicemente la disponibilità del server di destinazione stimando il pacchetto totale inviato o ricevuto e la percentuale di perdita di pacchetti. Aiuta anche a determinare la dimensione totale dell'unità di trasmissione massima (MTU).
Utilizzo ping per determinare la disponibilità di google.com:
Traceroto
Traceroute è un'altra utilità della riga di comando che utilizza i messaggi di richiesta eco e di risposta eco con una variabile TTL per mappare il percorso tra i dispositivi di origine e di destinazione. È anche utile per determinare i ritardi di risposta e garantisce l'accuratezza interrogando ogni hop più volte.
Come funziona ICMP senza una porta?
Dalla spiegazione di cui sopra, ICMP è un protocollo senza connessione che invia i dati in modo indipendente come datagramma e la sua intestazione appare dopo i dettagli IPv4. Tuttavia, puoi anche notare l'assenza di un numero di porta che solleva la domanda su come i dispositivi ricevono i dati ICMP o vengono a conoscenza di qualsiasi connessione?
La risposta è molto semplice. Il protocollo ICMP è stato progettato per funzionare a livello di rete del modello OSI e comunicare tra router e host per condividere informazioni. I numeri di porta fanno parte del Transport Layer e ICMP non è né un protocollo TCP né un UDP. Infine, il tipo ICMP e la combinazione di codice aiutano i dispositivi a determinare il messaggio e ottenere tutte le informazioni sulla rete.
Errore e controllo del flusso con ICMP
I dettagli di cui sopra sul protocollo ICMP mostrano come garantisce il controllo del flusso e il controllo degli errori dei dati al livello tre di un modello OSI. I messaggi e i parametri del protocollo nella prima parte dell'intestazione del pacchetto ICMP coprono tutti gli aspetti della gestione della rete e dei problemi di diagnosi.
È importante sapere che impostazioni del firewall non corrette possono consentire agli aggressori di eseguire il ping attraverso la rete dell'organizzazione e renderla soggetta a attacchi DDOS, ping of death e ICMP flood. Puoi usare Wireshark per acquisire pacchetti da Internet ed eseguire un'analisi dettagliata dei pacchetti ICMP per una migliore comprensione.
5 modi per correggere l'errore "Mancano uno o più protocolli di rete" in Windows 10
Leggi Avanti
Argomenti correlati
- La tecnologia spiegata
- Reti di computer
Circa l'autore
Rumaisa è una scrittrice freelance al MUO. Ha indossato molti cappelli, da matematica a appassionata di sicurezza informatica, e ora lavora come analista SOC. I suoi interessi includono la lettura e la scrittura di nuove tecnologie, distribuzioni Linux e tutto ciò che riguarda la sicurezza delle informazioni.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti