Nuovo sistema di indirizzamento
I problemi principali derivanti da IPv4 sono l'esaurimento degli indirizzi e
l'esplosione delle tabelle di instradamento. Con IPv6 si è risolto il
primo problema adottando indirizzi su 128 bit anziché su 32 bit, mentre
quello dell'esplosione delle tabelle di instradamento è stato affrontato
adottando un'architettura di indirizzamento strettamente gerarchica,
sofisticate tecniche di rinumerazione e metodologie per la gestione del
multihoming.
La nuova architettura definisce tre tipi di indirizzi:
- unicast: identificatore per una singola interfaccia. Un pacchetto con
un indirizzo unicast è inviato all'interfaccia identificata da
tale indirizzo;
- multicast: identificatore per un insieme di interfacce, tipicamente
appartenenti a nodi diversi. Un pacchetto con un indirizzo multicast
è inviato a tutte le interfacce con quell'indirizzo;
- anycast: identificatore per un insieme di interfacce, tipicamente
appartenenti a nodi diversi. Un pacchetto con un indirizzo unicast
è inviato a una (in genere la più vicina, secondo le misure dei
protocolli di routing ) delle interfacce identificate da tale indirizzo;
Modalità di rappresentazione
Il campo degli indirizzi è stato esteso da 32 a 128 bit. Il nuovo formato
e' rappresentato mediante 8 blocchi da 16 bit ciascuno, separati dal carattere
":" ed espressi in esadecimale.
Ad esempio:
FEDC:BCD8:0354:7654:F577:7347:6543:FD99
Per indicare che i primi n bit (es. n=32) dell'indirizzo costituiscono un
prefisso si scrive:
FEDC:BCD8::/32
Blocchi di zeri consecutivi, si rappresentano con ": :". Esempio:
FEDC : : BCD8 : 7654: 321F equivale a
FEDC : 0 : 0 :0 : 0 : BCD8 : 7654: 321F che equivale a
FEDC :0000 : 0000 : 0000 : 0000 : BCD8 : 7654: 321F.
Assegnazione iniziale degli indirizzi
L'architettura
di indirizzamento ha fissato, per ora, solamente i prefissi elencati in tabella
1. Più del 70% dello spazio deve ancora essere assegnato.
| Assegnazione |
Prefisso |
Frazione dello spazio di indirizzamento |
| Reserved |
0000 0000 |
1/256 |
| Unassigned |
0000 0001 |
1/256 |
| Reserved for NSAP Allocation |
0000 001 |
1/128 |
| Reserved for IPX Allocation |
0000 010 |
1/128 |
| Unassigned |
0000 011 |
1/128 |
| Unassigned |
0000 1 |
1/32 |
| Unassigned |
0001 |
1/16 |
| Aggregatable Global Unicast Addresses |
001 |
1/8 |
| Unassigned |
010 |
1/8 |
| Unassigned |
011 |
1/8 |
| Unassigned |
100 |
1/8 |
| Unassigned |
101 |
1/8 |
| Unassigned |
110 |
1/8 |
| Unassigned |
1110 |
1/16 |
| Unassigned |
1111 0 |
1/32 |
| Unassigned |
1111 10 |
1/64 |
| Unassigned |
1111 110 |
1/128 |
| Unassigned |
1111 1110 0 |
1/512 |
| Link-Local Unicast Addresses |
1111 1110 10 |
1/1024 |
| Site-Local Unicast Addresses |
1111 1110 11 |
1/1024 |
| Multicast Addresses |
1111 1111 |
1/256 |
Tabella 1: indirizzi IPv6 specificati
Formato di indirizzamento unicast
Il nuovo formato, detto Aggregatable Unicast Global address format
[RFC2374],
è mostrato in figura 15.

Figura 15 - Formato indirizzi unicast.
L'indirizzo è diviso logicamente in tre parti di dimensione fissa
chiamate rispettivamente Public Topology, Site Topology e Interface
ID. La prima è utilizzata per il routing all'interno della
public Internet ed individua il provider o l'exchange
fornitore del servizio di accesso alla rete, Site Topology identifica
l'organizzazione interna del sito e di conseguenza è usata per
l'instradamento intrasite, infine Interface ID identifica
l'interfaccia sul link.
I campi mostrati in figura 15 hanno il seguente significato.
- FP (Format Prefix), indica il tipo di indirizzo IPv6. A questo nuovo
formato è stata assegnata una porzione dello spazio di indirizzamento
IPv6 disgiunta da quella che era occupata dagli indirizzi provider-based
[RFC2073],
cioè dal formato definito inizialmente per gli indirizzi
unicast e abbandonato gradatamente a partire dal 1997. FP assume il
valore 001.
- TLA ID (Top Level Aggregation Idendifier), identifica il livello
più alto nella gerarchia di instradamento. Come assegnare i vari TLA ID
è un problema di amministrazione che non è stato affrontato da
chi ha effettuato la stesura delle specifiche. I router di
backbone (default-free router) devono avere una riga per
ogni TLA ID attivo e per ognuno di essi in genere memorizzano informazioni
aggiuntive che poi useranno nelle loro operazioni; quindi si vede che il numero
di TLA non deve essere eccessivo;
- RES (Reserved) : campo riservato per usi futuri. Per ora è
posto a zero. E' stato introdotto per poter espandere, qualora ce ne sia
bisogno, l'ampiezza dei campi TLA ID o NLA ID.
- NLA ID (Next-Level Aggregation Identifier): usato dalle
organizzazioni cui è stato assegnato un TLA ID. Esse possono suddividere
ulteriormente il campo NLA ID in modo da creare una gerarchia comprendente
provider e siti. (si veda la figura 16).

Figura 16: Livelli di aggregazione degli indirizzi IPv6
unicast
- SLA ID (Site Level Aggregation Identifier), usato da
un'organizzazione per la gestione interna del suo sito. Può essere
ulteriormente suddiviso in campi per creare un sistema gerarchico come visto
per NLA ID.
- Interface Identifier: identifica l'interfaccia sul link; tale
identificatore deve essere unico almeno sul link. E' lungo 64 bit ed ha il
formato IEEE EUI-64 mostrato in figura 17. Per ogni rete va definito un
modo per ricavare l'interface ID e a tale scopo vi è una
specifica per ogni tipo di link ammesso. Per il caso di reti Ethernet per
esempio il formato deriva da IEEE 48 bit MAC. Se il bit u
(universal/local scope) vale uno, l'identificatore è globalmente
unico (come IEEE 48 bit MAC). Questo può essere utile in futuro, per
esempio per applicazioni mobili. Attualmente, infatti, TCP identifica una
sessione usando il numero di porta e gli indirizzi di sorgente e destinazione.
Se questi si modificano quando la sessione è ancora aperta, essa cade e
occorre aprirne una nuova con i nuovi indirizzi. Una nuova versione del
protocollo TCP che identifichi la sessione usando un Interface ID
globalmente unico, la renderebbe insensibile ai cambiamenti di indirizzo dovuti
alla mobilità di un host o a un processo di rinumerazione.

Figura 17 - Formato IEEE EUI-64.
La definizione del nuovo formato di indirizzamento IPv6 ha preso spunto da una
proposta innovativa nota col nome GSE, la quale si basava sulla seguente
osservazione. Un indirizzo ha due funzioni distinte: quella di identificatore,
per individuare il punto finale cui è destinato un pacchetto e quella di
"locatore", per instradare il pacchetto fino al punto finale. Separando in modo
chiaro queste due componenti è più facile gestire la
rinumerazione di un sito. Un indirizzo GSE è diviso in tre campi di
lunghezza fissa in quanto il primo è usato per gestire l'instradamento a
livello globale, il secondo all'interno del sito e il terzo campo è
usato nell'ultima fase dell'instradamento per distinguere tale interfaccia
dalle altre collegate allo stesso link.
Il vantaggio introdotto da GSE è che la rinumerazione di un sito
è quasi automatica, nel senso che cambiando provider si modifica
solo il primo campo dell'indirizzo, ma non è necessario rinumerare
internamente il sito. Per contro GSE introduce gravi problemi di sicurezza in
quanto questo meccanismo prevede la modifica degli indirizzi ai pacchetti in
transito. Per questa ragione si è scelto di non adottare questa
proposta, ma il nuovo formato di indirizzamento unicast riprende alcune
della sue peculiarità quali la divisione dell'indirizzo in tre parti
fisse con funzioni distinte di instradamento e identificazione (Public
Topology, Site Topology e Interface ID), la distinzione netta tra la parte
di indirizzo che funge da identificatore e quella che funge da locatore e la
definizione di un'opzione per indicare quando gli 8 byte meno significativi
dell'indirizzo sono globalmente unici e quando no.
Indirizzi unicast speciali
IPv6 modifica l'architettura di Internet dando un nuovo significato ai termini
"link" e "site", come rappresentato in figura 18.
Per link si intende una rete fisica unica come può essere una LAN, un
collegamento punto-punto, o anche una rete geografica in tecnologia omogenea.
Nodi sullo stesso link sono detti neighbor (vicini).
L'insieme di più link controllati da una singola autorità
amministrativa costituisce un site (sito).
Un sito per esempio, può essere un campus di un'università,
un'organizzazione governativa o un'azienda. Questo per quanto riguarda la
struttura periferica di Internet. La sua ossatura, utilizzando IPv6, è
costituita invece dai provider e dagli exchange e l'interconnessione
delle loro reti forma la dorsale di Internet. L'unità amministrativa
è il link, il centro amministrativo è il router e da esso
sono amministrati tutti gli host che si trovano sullo stesso link.

Figura 18 - Il concetto di link e site.
Ci sono cinque formati di indirizzi unicast speciali:
- unspecified (0:0:0:0:0:0:0:0), usato come indirizzo sorgente
nell'inizializzazione di una stazione, quando questi non ha ancora imparato il
proprio indirizzo;
- loopback (0:0:0:0:0:0:0:1), usato da un nodo per inviare un pacchetto
a se stesso;
- indirizzi IPv6 con indirizzi IPv4 nascosti: vengono distinti in due
tipi e sono detti rispettivamente indirizzi IPv4 compatibili e
indirizzi IPv4 mappati IPv6. Il formato del primo tipo è
mostrato nella figura 19: l'indirizzo IPv6 è costruito preponendo
all'indirizzo IPv4 un prefisso di 96 bit posti a zero. Questo tipo di indirizzo
è usato per la configurazione di tunnel che permettono a stazioni IPv4/IPv6 di comunicare
tra loro o con stazioni IPv4-only sfruttando l'infrastruttura di rete
IPv4 esistente. Nel secondo caso si usano gli indirizzi col formato di figura
20, che rappresenta l'indirizzo IPv6 di un nodo solo IPv4.

Figura 19 Indirizzi IPv4 compatibili.

Figura 20 Indirizzi IPv4 mappati IPv6.
- Local-Use individua quegli indirizzi che possono essere usati solo in
ambito locale; i tipi definiti sono due:
- link-local, usati per l'indirizzamento su un singolo link dalle
procedure di autoconfigurazione o quando non ci sono router (si veda il
formato in figura 21). I router non devono instradare pacchetti in cui
l'indirizzo sorgente o destinazione è di tipo link-local;

Figura 21 - Indirizzo link-local.
- site-local: pacchetti il cui indirizzo di destinazione è di
questo tipo non devono essere inviati all'esterno del sito. Il formato
è mostrato in figura 22. Gli indirizzi site-local sono
utilizzabili soprattutto da quei siti che pur non essendo connessi alla
public Internet, desiderano adottare IP nella propria rete: sono
cioè l'equivalente IPv6 degli indirizzi privati IPv4 usati nelle
Intranet. Rispetto a questi ultimi però introducono un vantaggio: nel
caso in cui un sito che abbia adottato indirizzi IPv6 del tipo
site-local all'interno della propria Intranet decida di connettersi a
Internet non deve procedere alla rinumerazione interna del sito, ma deve solo
sostituire il prefisso che identifica come site-local gli indirizzi
usati fino a quel momento con quello fornito dal provider. Tale
operazione è resa molto semplice dai meccanismi di configurazione
automatica in corso di studio, quale per esempio Router Renumbering che
permette la configurazione automatica dei prefissi di un router e che
verrà descritta più avanti.

Figura 22 - Indirizzo site-local.
Indirizzi Anycast
Un indirizzo anycast è assegnato a più di un'interfaccia e un
pacchetto contenente un tale indirizzo è inviato all'interfaccia
più vicina (secondo la metrica calcolata dai protocolli di
routing) avente quell'indirizzo.
Il formato è identico a quello degli indirizzi unicast, quindi
un'interfaccia con un indirizzo anycast deve essere configurata
esplicitamente per sapere di che tipo è il suo indirizzo.
Il vantaggio derivante dall'introduzione di questo tipo di indirizzo sta nel
fatto che un host può, con un solo messaggio, scoprire qual
è il server più vicino in grado di offrirgli un
determinato servizio. Si consideri nuovamente l'esempio citato nel paragrafo
Formato dell'header IPv6
a proposito dell'uso del campo hop limit. Lo stesso problema
può essere risolto in modo più efficiente assegnando ai
server lo stesso indirizzo anycast: la stazione raggiunge
così con un'unica trasmissione il server a lei più vicino.
Se questi improvvisamente diventa non utilizzabile, il servizio sarà
comunque garantito, in modo trasparente per l'host, dal secondo
server più vicino. Occorre osservare però che l'uso di
questi indirizzi non è stato ancora completamente specificato.
Indirizzi multicast
Un indirizzo multicast, il cui formato è mostrato in figura 23,
è un identificatore per un gruppo di nodi. Un nodo può
appartenere a più gruppi.
I campi hanno il seguente significato:
11111111 : prefisso che classifica l'indirizzo come
multicast;
000T : campo contenente 4 flag. I primi 3 bit sono posti a zero
perché
non sono ancora stati assegnati. Se T=0 allora l'indirizzo multicast
è stato assegnato in modo permanente dall'autorità di numerazione
globale di Internet. Altrimenti (T=1) l'indirizzo è
temporaneo.
Scope : indica la visibilità di tale indirizzo. I valori
definiti sono
1 node-local scope, visibilità limitata al nodo;
2 link-local scope, visibilità limitata al link;
5 site-local scope, visibilità limitata al sito;
8 organization-local scope, visibilità limitata
all'organizzazione;
E global scope, visibilità globale.
Group ID : identifica il gruppo. Sono già stati definiti alcuni
identificatori permanenti tra i quali:
1 individua il gruppo di tutti i nodi IPv6 (usato con scope 1 o 2);
2 individua il gruppo di tutti i router (usato con scope 1 o 2);
3 individua il gruppo di tutti i server di configurazione dinamica (DHCP
server); dovrebbe essere usato con scope 2.
L'introduzione del campo scope permette di gestire in modo
più semplice rispetto a IPv4 l'invio di messaggi a un determinato gruppo
di nodi. In IPv4, infatti, l'unico modo per circoscrivere il traffico a una
porzione di rete è di limitare il valore contenuto nel campo TTL:
scegliendo un valore opportunamente basso si fa in modo che il pacchetto
attraversi un numero limitato di nodi e venga poi scaricato. In IPv6 invece
è sufficiente scegliere il valore opportuno per scope.
La lista completa degli indirizzi multicast registrati é
elencata, oltre che in [RFC2375], sul sito
www.iana.org.

Figura 23 - Formato indirizzo multicast.
|