[successivo] [precedente] [indice]

Nuovo ICMP

Anche lo Internet Control Message Protocol ha subito revisioni ed il nuovo ICMP e' incompatibile con la versione precedente.

Per identificarlo, il nuovo ICMP ha versione 2, mentre il vecchio aveva versione 1.

Ogni messaggio ICMP consiste dei campi tipo, codice, checksum e di un campo dati di lunghezza variabile.

Formato ICMP

Il campo checksum copre sia il pacchetto ICMP stesso che i campi fissi della testata IP, secondo una modalita' standard di calcolo di IPv6.

Il formato del campo corpo e il campo codice sono variabili a seconda del tipo.

Sono definiti 14 tipi diversi.

Tipi di ICMP

I pacchetti ICMP possono venire inviati al mittente da un router intermedio che scarti un pacchetto, con l'eccezione che non vengono mai inviati per notificare la perdita di un altro pacchetto ICMP.

Vi sono quattro casi in cui un pacchetto viene scarato ed emesso un messaggio ICMP:

In ciascuno di questi casi il formato del messaggio ICMP e' simile.

Formato Generico ICMP

I dati consistono in un Parametro seguito dai primi 576 byte del pacchetto originale scartato.

Destinazione irraggiungibile

Il parametro e' settato azero. I codici indicano:

0
Percorso a destinazione non trovato
1
Comunicazione con la destinazione proibita amministrativamente - p.es. da un firewall
2
Indirizzo irraggiungibile - tipicamente sulla rete finale
3
Porto irraggiungibile - comunicazione impossibile con i livelli superiori

Dimensione di pacchetto eccessiva

Il campo codice e' settato a zero. Il parametro contiene la dimensione del MTU per il salto successivo che e' fallito.

E' da notare che questo tipo di messaggio ICMP viene usato nella fase di scoperta del Path MTU. Il mittente invia un pacchetto inizialmente grosso, ma di dimensione via via calante al ricevere degli errori ICMP di questo tipo.

Tempo scaduto

l parametro viene posto a zero. Il codice indica:

0
Numero di salti (hop count) concessi superato
1
Tempo di riassemblaggio pacchetti scaduto

Il tempo di riassemblaggio pacchetti e' un timeout per dar tempo a frammenti successivi al primo di arrivare a destinazione e dovrebbe essere dell'ordine di 1 o 2 minuti.

Problema di parametri

Il parametro e' un puntatore che identifica lo offset del byte che ha causato il problema.

Il codice indica:

0
Campo errato nella testata
1
Campo di Testata Successiva non riconosciuto
2
Opzione IPv6 non riconosciuta

Ping in IPv6

I messaggi ICMP Echo Request ed Echo Reply hanno lo stesso formato.

ICMP Ping

Il codice e' settato a zero. Il richiedente puo' imporre un valore al campo Identificatore ed il rispondente deve ripetere lo stesso valore. Il numero di sequenza e' un intero incrementato in sequenza.