Il protocollo ICMP è spesso considerato come parte integrante del livello Network, poiché è utilizzato per comunicare errori o avvertimenti dai protocolli di tale livello (IP) o di livello superiore (TCP, UDP, ...). Un pacchetto ICMP (o messaggio ICMP) si compone dei seguenti campi (v. fig. 17.18):
I messaggi ICMP si dividono in messaggi informativi/richieste (query) ed errori (error). I messaggi ICMP di errore sono generalmente trattati dallo stack TCP/IP in maniera leggermente diversa rispetto ai messaggi informativi/richieste (ad esempio un pacchetto ICMP di errore non viene mai generato in risposta all’arrivo di un altro pacchetto ICMP di errore, che genererebbe un ciclo infinito di pacchetti ICMP di errore). Inoltre un pacchetto ICMP di errore riporta sempre l’header IP ed i primi 8 byte del datagram IP che ha causato l’invio di tale pacchetto.
Nella tab. 17.16 sono riportati tutti i tipi dei pacchetti ICMP per IPv4, per ognuno dei quali è evidenziato se si tratta di un messaggio informativo o di un errore.
![]()
|
![]()
|
[da completare ...]