17.3.2 Il datagram IPv6
Il protocollo IPv6 prevede la trasmissione di pacchetti, detti IPv6 datagram, costituiti dai
seguenti campi (v. fig. 17.15)
-
Version
(4 bit) è un numero che indica la versione del protocollo IP utilizzata (versione
6);
-
Traffic class
(8 bit) specifica la classe o priorità del datagram (al momento in
sperimentazione);
-
Flow Label
(20 bit) indica di effettuare una particolare gestione per un determinato
insieme di datagram (al momento in sperimentazione e soggetto a variazioni). I
dispositivi che non gestiscono tale campo dovrebbero generarlo nullo o lasciarlo
inalterato;
-
Payload Length
(16 bit) è un numero che esprime il numero di byte che compongono il payload
del datagram (la parte che segue l’header IPv6);
-
Next Header
(8 bit) è un numero che indica il tipo di protocollo di livello superiore (ICMP,
IGMP, UDP o TCP) incapsulato nell’IP datagram (utilizza la stessa codifica
utilizzata da per il campo Protocol dell’IPv4 datagram - v. sez. 17.2.5);
-
Hop Limit
(8 bit) è un numero che indica il numero massimo di hop (salti), ovvero il numero
di sistemi (router, gateway, firewall, ...) che il datagram può attraversare per
arrivare a destinazione (inizializzato dal mittente ad un valore di default). Man
mano che il datagram viene inoltrato da un router ad un altro, questo campo
viene decrementato di una unità. Quando il valore raggiunge lo 0, il datagram
viene scartato dal router che ce l’ha in gestione in quel momento e viene generato
un messaggio ICMP per informare il mittente dell’accaduto. Questo meccanismo
elimina la possibilità che i datagram rimangano in un anello di router (mal
configurati) per un tempo indeterminato. Ha funzionalità analoghe a quelle del
campo TTL dell’IPv4 datagram (v. sez. 17.2.5);
-
Source address
(128 bit) è un numero che indica l’indirizzo IPv6 dell’interfaccia di rete mittente;
-
Destination address
(128 bit) è un numero che indica l’indirizzo IPv6 dell’interfaccia di rete di
destinazione;
[da completare ...]
Nel protocollo IPv6 possono essere specificate altre informazioni aggiuntive, dette
extension header, inserendole tra l’header dell’IPv6 datagram e l’header del protocollo di
livello superiore. In tal caso il campo Next Header dell’IPv6 datagram conterrà il valore
relativo al protocollo a cui si riferisce l’extension header contenuto al suo interno e l’extension
header avrà un campo Next Header contenente il valore relativo al protocollo a cui si riferisce
l’header che lo segue, e così via. Il campo Next header dell’ultimo extension header
conterrà il valore relativo al protocollo del livello superiore contenuto dall’IPv6
datagram.