Sei sulla pagina 1di 7

Il protocollo IPv6

Novembre 2016

1. Storia del protocollo IP


2. Il protocollo IPv6
3. Le principali funzioni dell'IPv6
4. Intestazione di base dei datagrammi
5. Divisione geografica grazie ai prefissi
6. Indirizzo broadcast
7. Indirizzo anycast
8. La notazione IPv6
9. Intestazione di estensione
10. Intestazione passo dopo passo
11. Routing headers
12. Intestazione frammentazione
13. Autenticazione
14. Opzioni di destinazione
15. Ulteriori informazioni

Storia del protocollo IP


Il protocollo IP nella sua forma attuale (IPv4) ha i giorni contati. La rete internet, usata in passato
soprattutto dalle universit e dagli governi dalla met degli anni 90, si orienta sempre pi verso le aziende e
le societ commerciali - e verr usata da un numero sempre maggiore di individui e sistemi con bisogni
differenti. Ad esempio: con l'imminente convergenza del computer, delle reti, dell'audiovisivo dell'industria
dell'intrattenimento, ogni televisore diverr innanzitutto un'apparecchiatura di accesso a internet che
permette a miliardi di individui di praticare, ad esempio, il video on-demand, le televendite o il commercio
elettronico. In queste circostanze, il protocollo IPv6 (detto anche IPng per IP new generation) deve offrire
pi flessibilit e efficacia, risolvere tutta una serie di problemi nuovi e non dovrebbe mai essere in rottura di
indirizzi. Gli obiettivi principali di questo nuovo protocollo furono di: Supportare miliardi di computer,
liberandosi dell'inefficienza dello spazio degli indirizzi IP attuali; Ridurre la dimensione delle tabelle di router;
Semplificare il protocollo, per permettere ai router di inviare i datagrammi pi rapidamente; Fornire una
migliore sicurezza (autenticazione e confidenzialit) rispetto all'attuale protocollo IP; Dare pi attenzione ai
tipi di servizio, e soprattutto ai servizi associati al traffico in tempo reale; Facilitare la diffusione
multidestinatario permettendo di specificare l'importanza; Dare la possibilit a un computer di spostarsi
senza cambiare il proprio indirizzo; Permettere al protocollo un'evoluzione futura; Accordare al vecchio e al
nuovo protocollo una coesistenza pacifica.

Il protocollo IPv6
Il protocollo IPv6 risponde in maniera ragionevole agli obiettivi elencati. Mantiene le funzioni migliori
dell'IPv4, scartando o minimizzando le non buone, e aggiungendone delle nuove quando necessario. In
generale, IPv6 non compatibile con IPv4, ma compatibile con tutti gli altri protocolli internet, fra cui TCP,
UDP, ICMP, IGMP, OSPF, BGP e DNS e, a volte, possono essere richieste delle leggere modifiche
(soprattutto per funzionare con indirizzi lunghi).

Le principali funzioni dell'IPv6


La novit assoluta dell'IPv6 l'uso degli indirizzi pi lunghi rispetto all'IPv4. Essi sono codificati su 16 byte e
permettono di risolvere il problema che mette IPv6 all'ordine del giorno: avere un insieme di indirizzi
internet quasi illimitato. IPv4 permette di indirizzare 2^32=4,29.10^9 indirizzi mentre IPv6 permette di
indirizzarne 2^128=3,4.10^38. Il miglioramento pi grande dell'IPv6 la semplificazione dell'intestazione
dei datagrammi. L'intestazione del datagramma di base IPv6 comprende solo 7 campi (contro i 14 per
IPv4). Questo cambiamento permette ai router di trattare i datagrammi pi rapidamente e migliora
globalmente la loro banda. Il terzo miglioramento consiste nell'offrire pi flessibilit alle opzioni. Questo
cambiamento essenziale con la nuova intestazione, dato che i campi obbligatori della vecchia versione
sono ora diventati opzionali. Inoltre, il modo in cui le opzioni sono rappresentate diverso; essa permette ai
router di ignorare semplicemente le opzioni che non sono loro destinate. Questa funzione accelera i tempi
di trattamento dei datagrammi. D'altro canto IPv6 apporta anche una sicurezza maggiore: L'autenticazione
e la confidenzialit costituiscono le funzioni di sicurezza pi importanti del protocollo IPv6. Un'attenzione
maggiore accordata rispetto al passato ai tipi di servizi. Anche se il campo Tipo di servizi del
datagramma IPv4 raramente usato, la crescita attesa per il traffico multimediale in futuro necessita di un
interessamento.

Intestazione di base dei datagrammi


Ecco a cosa assomiglia un datagramma IPv6: <--------------------------- 32 bit --------------------------->

Versione Classe di Identificatore di flussi


traffico

Lunghezza dei dati<td width="120"> Numero di salti


Intestazione seguente

<td width="480"> Indirizzo IP sorgente

<td width="480"> Indirizzo IP destinazione


<td width="480"> Dati

Qui di seguito il significato dei differenti campi: Il campo Versione sempre uguale a 4 bit per IPv6.
Durante il periodo di transizione da IPv4 verso IPv6, i router dovranno esaminare questo campo per sapere
quale tipo di datagramma usano. Il campo Classe di traffico (codificato a 8 bit) usato per distinguere le
sorgenti che devono beneficiare del controllo dei flussi delle altre. Alle risorse capaci di rallentare la banda
saranno attribuite delle priorit da 0 a 7 in caso di congestione. I valori da 8 a 15 sono assegnati al traffico
in tempo reale (i dati audio e video ne fanno parte) il cui debito costante. Questa distinzione dei flussi
permette ai router di reagire meglio in caso di congestione. In ogni gruppo prioritario, il livello di priorit pi
bassa corrisponde ai datagrammi meno importanti. Il campo Identificatore di flussi contiene un numero
unico scelto dalla sorgente che ha come scopo di facilitare il lavoro dei router e di permettere la
realizzazione delle funzioni di qualit dei servizi come RSVP (Resource reSerVation setup Protocol).
Questo indicatore pu essere considerato come una nota in un contesto nei router. Il router pu allora fare
un trattamento particolare: scelta del router, trattamento in "tempo reale" dell'informazione. Il campo
Identificatore di flussi pu essere riempito con un valore aleatorio che servir a referenziare il contesto. La
sorgente manterr questo valore per tutti i pacchetti che emetter per questa applicazione e questa
destinazione. Il trattamento ottimizzato poich il router deve solo consultare 5 campi per determinare
l'appartenenza di un pacchetto. Il campo Lunghezza dei dati utili (in inglese payload) a 2 byte, contiene
solo la dimensione dei dati utili, senza considerare la lunghezza dell'intestazione. Per dei pacchetti la cui
dimensione dei dati sar superiore a 65536 questo campo vale 0 e si usa l'opzione jumbogramma
dell'estensione di "hop by hop". Il campo Intestazione seguente ha una funzione simile al campo
protocollo del pacchetto IPv4: esso definisce semplicemente la prossima intestazione (nello stesso
datagramma IPv6). Si pu trattare di un protocollo (di livello superiore ICMP, UDP, TCP, ecc.) o di
un'estensione. Il campo Numero di salti sostituisce il campo "TTL" (Time-to-Live) in Ipv4. Il suo valore (a 8
bit) diminuito ad ogni nodo attraversato. Se questo valore raggiunge lo 0 allora il pacchetto Ipv6
attraversa un router, e sar rigettato con l'emissione di un messaggio ICMPv6 di errore. Esso usato per
impedire ai datagrammi di circolare infinitamente. Ha lo stesso ruolo del campo Durata di vita dell'IPv4,
sapendo che contiene un valore rappresentativo del numero di salti o di passi (hops) che decrescente ad
ogni passaggio nel router. In teoria, nell'IPv4, vi una nozione di tempo in secondi ma nessun router la usa
come tale, e il nome cambiato per rifletterne l'uso attuale. Vengono in seguito i campi Indirizzo sorgente
e Indirizzo di destinazione. Dopo numerose discussioni, si decise che gli indirizzi di lunghezza fissa
uguale a 16 byte rappresentavano il miglior compromesso. I primi bit dell'indirizzo - il prefisso - definiscono
il tipo di indirizzo. Gli indirizzi che cominciano con 8 zeri sono riservati, soprattutto per gli indirizzi IPv4. Cos
tutti gli indirizzi che cominciano con 8 zeri sono riservati agli indirizzi IPv4. Si supportano due varianti; esse
si distinguono dai 16 bit seguenti (con 16 bit a 0 o a 1).

Divisione geografica grazie ai prefissi


L'utilizzo dei prefissi separati per gli indirizzi attribuiti a un provider internet e gli indirizzi attribuiti ad una
zona geografica costituisce un compromesso tra le due differenti visioni del futuro della rete internet.
Ognuno di questi provider dispone di una frazione riservata dello spazio di indirizzamento (1/8 di questo
spazio). I primi 5 bit che seguono il prefisso 010 sono usati per indicare in quale "registro" si trova il
provider. Attualmente, sono operativi 3 grandi registri, per l'America del nord, l'Europa e l'Asia. Vi si
potranno aggiungere fino a 29 nuovi registri. Ogni registro libero di dividere i 15 byte restanti come
meglio crede. Un'altra possibilit di utilizzare un byte per indicare la nazionalit del fornitore e lasciare
disponibili i byte seguenti per definire una struttura d'indirizzi specifica.Il modello geografico lo stesso di
quelle della rete internet attuale, nel quale i provider internet non hanno un grande ruolo. In questo quadro,
IPv6 pu gestire 2 tipi di indirizzi. Gli indirizzi dei link e dei siti locali hanno una sola specificazione locale.
Essi possono essere riutilizzati da altre organizzazioni senza creare un conflitto. Non possono per
superare i limiti delle organizzazioni, cosa che li rende ben pi adatti a quelle che usano dei guard-rail per
proteggere la loro rete privata dalla rete internet.

Indirizzo broadcast
Gli indirizzi di diffusione multi-destinatario dispongono di un campo Flag (4 bit) e di un campo Importanza
(4 bit) dopo il prefisso, poi di un campo Identificatore di gruppo (112 bit). Uno dei bit del flag distingue i
gruppi permanenti dai gruppi transitori. Il campo Importanza permette una diffusione limitata su una zona.

Indirizzo anycast
Oltre a supportare l'indirizzamento point to point classico (unicast) e l'indirizzamento di diffusione
multidestinatario (multicast) IPv6 supporta un nuovo tipo di indirizzamento di diffusione a prima vista
(anycast). Questa tecnica simile alla diffusione multidestinatario dove l'indirizzo di destinazione un
gruppo d'indirizzo ma, piuttosto che cercare di inviare il datagramma a tutti i membri del gruppo, esso cerca
di inviarlo ad un solo membro del gruppo, quello pi vicino o il pi adatto a riceverlo.

La notazione IPv6
Una nuova notazione stata definita per descrivere gli indirizzi IPv6 da 16 byte. Essa comprende 8 gruppi
di 4 cifre esadecimali separati da due punti. Ad esempio: 8000:0000:0000:0000:0123:4567:89AB:CDEF . Dato
che alcuni indirizzi hanno dei numeri zero nella loro stringa, sono state definite 3 ottimizzazioni.
Innanzitutto, i primi zero di un gruppo possono essere omessi, come ad esempio 0123 che pu essere
scritto 123. Poi, uno o pi gruppi di 4 zeri consecutivi possono essere sostituiti da un doppio due punti. Ed
cos che l'indirizzo precedente diventa: 8000::::123:4567:89AB:CDEF . Caratteristica per la scrittura di URL.
Dato che il carattere ":" viene utilizzato per separare i gruppi, porta confusione in un URL, perch ci indica
la separazione IP porta Quindi si deve scrivere l'indirizzo IPv6 tra parentesi quadre [] per distinguere
l'indirizzo dalla porta. Ad esempio http://[2002:400:2A41:378::34A2:36]:8080. Infine, gli indirizzi IPv4
possono essere scritti utilizzando la rappresentazione dell'indirizzo in notazione decimale puntata,
preceduti da un doppio due punti, come ad esempio: ::192.31.254.46 . necessario essere pi espliciti su
questa notazione di indirizzi, ma bisogna sapere che esiste un numero importante di indirizzi su 16 byte.
Precisamente, ve ne sono 2^128, ossia approssimativamente 3 x 10^38. Se la terra intera (terre e mari
compresi) fosse coperta di computer, IPv6 potrebbe fornire 7 x 10^23 indirizzi IP per m. Il campo
Protocollo escluso perch il campo Intestazione seguente dell'ultima intestazione IP di un datagramma
precisa il tipo di protocollo (ad esempio UDP o TCP). Tutti i campi relativi alla frammentazione sono stati
ritirati, perch IPv6 ha un approccio diverso alla frammentazione. Per cominciare, tutti i computer e i router
conformi a IPv6 devono supportare i datagrammi da 576 byte. Questa regola pone la frammentazione ad
un ruolo secondario. Inoltre, quando un computer invia un datagramma IPv6 troppo grande ,
contrariamente a quello che succede con la frammentazione, il router che non riesce a trasmetterlo invia
un messaggio di errore alla sorgente. Questo messaggio precisa al computer sorgente di interrompere
l'invio di nuovi datagrammi verso questa destinazione. E' molto pi efficace avere un computer che
trasmetta immediatamente dei datagrammi con le giuste dimensioni piuttosto che avere dei router che li
frammentano alla ricezione. Infine, il campo Totale di controllo non esiste pi dato che il suo calcolo riduce
troppo la performance. In effetti, con l'affidabilit delle reti attuali, combinata con il fatto che i livelli delle
connessioni di dati e trasporto effettuano il loro proprio controllo, il guadagno in qualit di un totale di
controllo supplementare non vale il prezzo da pagare per calcolarlo.

Intestazione di estensione
Questa intestazione fornisce un'informazione complementare in modo efficace. Ognuna delle quali
opzionale. Se sono presenti pi intestazioni, esse devono apparire immediatamente dopo l'intestazione
fissa, di preferenza nell'ordine dell'elenco. Alcune intestazioni hanno un formato fisso; altre contengono un
numero variabile di campi variabili. Per questo, ogni articolo codificato sotto forma di tripletta (tipo,
lunghezza, valore). Il Tipo un campo di un byte che precisa la natura dell'opzione. I differenti tipi sono
stati scelti in modo che i primi due bit indichino cosa fare ai router che non sanno eseguire l'opzione. Le
scelte sono: Saltare l'opzione; Distruggere il datagramma; Rinviare un messaggio ICMP alla sorgente;
Distruggere il datagramma senza rinvio del messaggio ICMP se si tratta di un datagramma
multidestinatario (per evitare un numero troppo importante di rapporti ICMP in ritorno). La Lunghezza un
campo di un byte. Essa indica la dimensione del campo Valore (da 0 a 255) che contiene un'informazione
qualsiasi indirizzata al destinatario.

Intestazione passo dopo passo


L'intestazione Passo-dopo-passo contiene delle informazioni destinate a tutti i router sul percorso.

Routing headers
il Routing headers fornisce un elenco di uno o pi router che devono essere visitati nel tragitto verso la
destinazione. Si realizzano due forme di routing usate in combinazione: uno strict routing (integrale e
definito) e uno loose routing (dove sono definiti solo i router obbligatori). I primi 4 campi dell'intestazione
d'estensione di Routing contengono 4 interi di un byte: Il tipo d'intestazione seguente; Il tipo di router
(solitamente 0); Il numero di indirizzi presenti nell'intestazione (da 1 a 24); Un indirizzo che fornisca il
prossimo indirizzo da visitare. Quest'ultimo campo comincia con il valore 0, e lo incrementa ad ogni
indirizzo visitato.

Intestazione frammentazione
L'intestazione Frammentazione tratta la frammentazione in modo simile all'IPv4. L'intestazione contiene
l'identificativo del datagramma, il numero di fragmento e un bit che precisa se seguono altri frammenti.
Nell'IPv6, contrariamente all'IP4v, solo il computer sorgente pu frammentare il datagramma. I router sul
percorso non lo possono fare. Questo permette al computer sorgente di frammentare il datagramma in
pezzi e di usare l'intestazione Frammentazione per trasmettere i pezzi.

Autenticazione
L'intestazione Autenticazione fornisce un meccanismo che permette al destinatario di un datagramma di
assicurarsi sull'identit della sorgente. Nell'IPv4, non vi nessuna garanzia simile. L'utilizzo della
codificazione dei dati del datagramma (il suo carico utile) rinforza la sua sicurezza; solo il vero destinatario
potr leggerli. Quando un emittente e un ricevente vogliono comunicare in sicurezza, essi devono
innanzitutto mettersi d'accordo su una o pi chiavi segrete che solo loro conoscono. Viene assegnato un
numero chiave di 32 bit a ciascuna delle due chiavi. I numeri chiave sono globali nel senso che, ad
esempio, se A usa la chiave 4 per comunicare con B, A non pu utilizzare questa chiave per comunicare
con C. Altri parametri sono associati ad ogni numero chiave, come la sua durata di vita, ecc. Per inviare un
messaggio autentificato, il computer sorgente costruisce in primis un datagramma che contiene tutte le
intestazioni IP e il carico utile, poi sostituisce i campi che cambiano con degli zero (ad esempio: il campo
Numero max. di salti). Il datagramma completato con degli 0 per diventare un multiplo di 16 byte. In
maniera simile, la chiave segreta usata ugualmente completata con degli 0 per essere un multiplo di 16
byte. Poi, un totale di controllo cifrato calcolato dopo la concatenazione della chiave segreta completata,
del datagramma completo e, di nuovo, della chiave segreta completa. L'intestazione Autenticazione
contiene 3 parti. La prima conta 4 byte precisando il numero di intestazione seguente, la lunghezza
dell'intestazione d'autenticazione, e da 16 bit a zero. La seconda definisce il numero chiave su 32 bit. La
terza contiene il totale di controllo cifrato (con l'algoritmo MD5 o un altro) Il destinatario usa il numero
chiave per trovare la chiave segreta. Il valore completo della chiave segreta aggiunto prima e dopo il
carico utile anch'esso completato, i campi variabili dell'intestazione sono svuotati dai loro zeri, poi il totale di
controllo cifrato e calcolato. Se il risultato del calcolo uguale al totale del controllo cifrato contenuto
nell'intestazione Autenticazione, il destinatario sicuro che il datagramma arrivi effettivamente dalla
sorgente con cui condivide la chiave segreta. Ed ugualmente sicuro che il datagramma non sia stato
falsificato a sua insaputa. Per i datagrammi che devono essere inviati segretamente, bisogna usare
l'intestazione d'estensione Carico utile cifrato. Questa intestazione comincia con un numero chiave di 32
bit, seguito dal carico utile cifrato.

Opzioni di destinazione
L'intestazione Opzioni di destinazione usata per dei campi che hanno bisogno di essere interpretati e
capiti solo dal computer destinatario. Nella versione originale IPv6, la sola opzione destinazione che stata
definita l'opzione nulla. Essa permette di completare questa intestazione con degli 0 per ottenere un
multiplo di 8 byte. Questa intestazione non sar usata in un primo tempo. E' stata definita per assicurarsi
che i nuovi software di router possano considerarla, nel caso in cui qualcuno possa prevedere un giorno
un'opzione di destinazione.

Ulteriori informazioni
Per ulteriori informazioni sul protocollo IPv6, la cosa migliore di riferirsi alla RFC 2460 che spiega
dettagliatamente il protocollo: RFC 1661. Articolo scritto da Nico VanHaute.

Precedente

17
18
19
20
21
22
23
24
25
26

Successivo
Il documento intitolato Il protocollo IPv6 da CCM (it.ccm.net) reso disponibile sotto i termini della licenza Creative Commons.
possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finch questa nota appaia chiaramente.