Approfondimento tecnico
    Evoluzione di ICMP
Telecom Italia logo
     English | ngnet.it home >> Cos´è IPv6 >> Il protocollo IPv6 >> Evoluzione di ICMP  
previous next
Evoluzione di ICMP

La nuova versione di ICMP, chiamata ICMPv6 [RFC2463] ingloba il vecchio protocollo (tranne le opzioni meno usate) e il protocollo IGMPv2 che IPv4 usa per la gestione del multicast. I tipi di messaggi definiti per ora sono 14 e si possono raggruppare in base alle funzioni che svolgono. Tutti i messaggi hanno lo stesso formato generale mostrato in figura 24, dove :

  • type indica il tipo del messaggio;
  • code è usato solo in alcuni casi;
  • checksum copre tutto il pacchetto ICMP e i campi fissi dell'intestazione IPv6;
  • message body è un campo di lunghezza variabile che contiene il corpo del messaggio.

Figura 24. Formato generale pacchetto ICMP.

ICMPv6 include le procedure per la gestione dei messaggi di errore, per il ping e per la MTU discovery descritte qui di seguito, oltre alle procedure di configurazione automatica descritte più avanti.

Messaggi di errore

Quando un nodo IPv6 scarta un pacchetto, invia un messaggio di errore alla sorgente. I tipi di messaggio sono quattro:

  • destination unreachable (type=1) mandato da un router alla sorgente quando non si riesce a raggiungere la destinazione;
  • packet too big (type =2) usato quando il pacchetto ha dimensioni maggiori della MTU del link sul quale deve essere inoltrato;
  • time exceeded (type=3) indica che il valore di hop limit del pacchetto è nullo;
  • parameter problem (type=4) indica che un campo del datagramma non è riconosciuto come valido e quindi non è possibile elaborare il pacchetto. In questo caso il campo parameter (si veda figura 25) contiene un puntatore al punto in cui vi è il problema mentre code contiene uno dei seguenti valori:
  • 0 se è errato un campo nell'intestazione;
  • 1 se il tipo dell'header successivo è sconosciuto;
  • 2 se vi è opzione di IPv6 non riconosciuta.

Figura 25 - Formato generale dei messaggi d'errore ICMP.

Procedura di Ping


Figura 26 - Formato generale del messaggio di Echo.

Ping indica una semplice procedura che consente di verificare la raggiungibilità di una destinazione disponibile in IPv6 come in IPv4. I messaggi coinvolti sono due:
  • echo request (type =128 );
  • echo reply (type=129);
Quando un nodo desidera ottenere una risposta da un nodo remoto, per esempio per verificarne la raggiungibilitá, gli invia un messaggio ICMP di echo request. Il pacchetto ha il formato mostrato in figura 26 in cui il campo code è posto a zero. Il nodo può scegliere un valore per l'identificatore e se invia più ping alla stessa destinazione deve assegnare valori successivi per Sequence Number. A ogni echo request ricevuto, il nodo risponde con un echo reply.

Procedura di MTU Discovery

La procedura di MTU Discovery permette alle stazioni di conoscere la dimensione massima del pacchetto che può essere utilizzata nella comunicazione verso una destinazione scelta. A tale scopo la sorgente invia un pacchetto con MTU pari a quella del primo link, se tale pacchetto supera la misura della MTU dell'hop successivo viene scartato e viene mandato alla sorgente un messaggio ICMP di errore (Type=2, message too big ), col formato mostrato in figura 26, dove nel campo parameter è posta la MTU del link successivo. L'esperienza mostra che in pratica questo algoritmo converge rapidamente verso un valore accettabile.


previous next