[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 254.   Introduzione a IPv6

I protocolli di Internet che intervengono nel terzo livello del modello ISO-OSI (rete), sono IPv4 e IPv6. L'introduzione di IPv6 si rende necessaria per la penuria di indirizzi disponibili con il protocollo IPv4; infatti, l'aspetto più appariscete di IPv6 è il modo di indicare gli indirizzi, che da 32 passano a 128 bit.

254.1   Rappresentazione simbolica di un indirizzo IPv6

La rappresentazione testuale simbolica standard di un indirizzo IPv6 è nella forma:

x:x:x:x:x:x:x:x

L'indirizzo viene suddiviso in gruppetti di 16 bit (coppie di ottetti), utilizzando i due punti (:) come simbolo di separazione. Questi gruppetti di 16 bit vengono rappresentati in esadecimale, utilizzando solo le cifre che servono, dove queste possono essere al massimo quattro. Per esempio, l'indirizzo

fe80:0000:0000:0000:02a0:24ff:fe77:4997

si può ridurre semplicemente a:

fe80:0:0:0:2a0:24ff:fe77:4997

Viene consentita anche una semplificazione ulteriore in presenza di gruppetti adiacenti che risultano azzerati: una coppia di due punti (::) rappresenta una sequenza indefinita di gruppetti azzerati e può essere usata una volta sola in un indirizzo. In questo modo, l'esempio precedente può essere ridotto a quello che segue:

fe80::2a0:24ff:fe77:4997

In pratica, si deve intendere che quello che manca per completare l'indirizzo in corrispondenza del simbolo ::, contiene solo gruppetti di 16 bit azzerati.

Figura 254.4. Fasi della semplificazione di un indirizzo IPv6.

semplificazione

254.2   Prefissi di indirizzo

Con IPv6, il concetto di maschera di rete è stato semplificato e nei documenti RFC si parla piuttosto di prefisso di un indirizzo. Il termine rende meglio l'idea del senso che ha, in quanto porta l'attenzione a una parte iniziale dell'indirizzo stesso per qualche scopo. Il prefisso viene segnalato con un numero aggiunto alla fine di un indirizzo IPv6, separato da una barra obliqua (/) che indica il numero di bit iniziali da prendere in considerazione per un qualche scopo. In questo modo si indica la lunghezza del prefisso.

indirizzo_ipv6/lunghezza_prefisso

È importante osservare che l'indirizzo IPv6 abbinato all'indicazione della lunghezza di un prefisso, non può essere abbreviato più di quanto si possa già fare con questo genere di indirizzi. Si prenda in considerazione un indirizzo con l'indicazione della lunghezza del prefisso strutturato nel modo seguente (la lettera «h» rappresenta una cifra esadecimale diversa da zero):

hhhh:0000:0000:hhh0:0000:0000:0000:0000/60
<---- 60 bit ---->

Il prefisso si estende per i primi 60 bit, ovvero le prime 15 cifre esadecimali. Sono ammissibili le forme normali di abbreviazione di questa indicazione:

hhhh:0:0:hhh0:0:0:0:0/60
hhhh::hhh0:0:0:0:0/60
hhhh:0:0:hhh0::/60

Al contrario, non sono ammissibili queste altre:

254.3   Tipi di indirizzi

Il sistema introdotto da IPv6 richiede di distinguere gli indirizzi in tre categorie fondamentali: unicast, anycast e multicast. Quello che in IPv4 è conosciuto come indirizzo broadcast non esiste più in IPv6.

254.4   Allocazione dello spazio di indirizzamento

Così come è avvenuto con IPv4, anche gli indirizzi IPv6 sono stati suddivisi per scopi differenti. Si parla di tipo di indirizzo, riferendosi a questa classificazione. Questa distinzione avviene in base a un prefisso binario stabilito, definito FP, ovvero Format prefix (prefisso di formato). La tabella 254.10 riporta l'elenco dei prefissi di formato attuali (nel momento in cui viene scritto questo capitolo). Bisogna tenere presente che IPv6 è ancora in una fase attiva di adattamento, per cui è necessario controllare la produzione dei documenti RFC se si vuole rimanere aggiornati a questo riguardo.

Tabella 254.10. Spazio di indirizzamento di IPv6.

Prefisso binario Prefisso esadecimale Allocazione
0000 00002 0016 Riservato.
0000 00012 0116 Non assegnato.
0000 0012 0216..0316 Riservato per l'allocazione NSAP.
0000 0102 0416..0516 Riservato per l'allocazione IPX.
0000 0112 0616..0716 Non assegnato.
0000 12 0816..0F16 Non assegnato.
00012 116 Non assegnato.
0012 216..316 Indirizzi unicast globali aggregabili.
0102 416..516 Non assegnato.
0112 616..716 Non assegnato.
1002 816..916 Non assegnato.
1012 A16..B16 Non assegnato.
1102 C16..D16 Non assegnato.
11102 E16 Non assegnato.
1111 02 F016..F716 Non assegnato.
1111 102 F816..FB16 Non assegnato.
1111 1102 FC16..FD16 Non assegnato.
1111 1110 02 FE016..FE716 Non assegnato.
1111 1110 102 FE816..FEB16 Indirizzi unicast link-local.
1111 1110 112 FEC16..FEF16 Indirizzi unicast site-local.
1111 11112 FF16 Indirizzi multicast.

È importante osservare subito che il prefisso 0000 00002 (binario), incorpora alcuni indirizzi molto importanti: l'indirizzo «non specificato» (0:0:0:0:0:0:0:0 o anche ::), l'indirizzo locale di loopback (0:0:0:0:0:0:0:1 o anche ::1) e gli indirizzi ottenuti per incorporazione di quelli IPv4.

Un altro particolare interessante riguarda il fatto che solo gli indirizzi che iniziano per FF16 (1111 11112) sono di tipo multicast, mentre gli altri sono tutti unicast. Gli indirizzi anycast sono degli indirizzi con caratteristiche uguali a quelli unicast, a cui però è stato attribuito un ruolo differente.

254.5   Indirizzi unicast

Si è accennato al fatto che tutti gli indirizzi, tranne quelli che iniziano per FF16, sono di tipo unicast (e poi eventualmente tra questi si possono definire degli indirizzi anycast).

La caratteristica più importante degli indirizzi unicast è quella di poter essere aggregati a una maschera di bit continua, simile a quella di IPv4, senza il vincolo delle classi di indirizzi (come avveniva invece con IPv4).

Un nodo IPv6, cioè un componente collocato nella rete che riconosce questo protocollo, può trattare l'indirizzo IPv6 come un elemento singolo (nel suo insieme) oppure come qualcosa formato da diverse componenti, in base al ruolo che questo nodo ha nella rete. In pratica, a seconda del contesto, il nodo IPv6 potrebbe vedere l'indirizzo come un numero composto da 128 bit:

128 bit

In alternativa potrebbe riconoscere un prefisso relativo a una sottorete:

prefisso di rete

In questo secondo caso si intende distinguere la parte di indirizzo relativa alla rete in cui si trova collocata l'interfaccia del nodo in questione, rispetto alla parte restante dell'indirizzo, che invece indica precisamente di quale interfaccia si tratta. Ma l'indirizzo unicast può essere visto come il risultato di un'aggregazione molto più sofisticata, dove si inseriscono livelli successivi di sottoreti in forma gerarchica, fino ad arrivare all'ultimo livello che permette di raggiungere la singola interfaccia.

254.5.1   Identificatori di interfaccia

La parte finale di un indirizzo unicast serve a identificare l'interfaccia nel collegamento (link), ovvero la rete fisica in cui si trova. Questa parte dell'indirizzo, definibile come identificatore di interfaccia (interface identifier), deve essere univoca all'interno del collegamento. Eventualmente, potrebbe essere univoca anche in un ambito più grande.

La struttura di indirizzo unicast dipende principalmente dal tipo a cui questo appartiene, in base al prefisso di formato. In molti casi, la parte finale dell'indirizzo destinata a identificare l'interfaccia è di 64 bit (la metà di un indirizzo IPv6) e deve essere costruita secondo il formato IEEE EUI-64. L'identificatore EUI-64 è un numero di 64 bit che serve a identificare il produttore e il «numero di serie» di un'apparecchiatura di qualche tipo. In pratica, un produttore ottiene un numero che rappresenta la sua azienda e questo viene usato come parte iniziale degli identificatori EUI-64 di sua competenza. Con tale numero può così «marchiare» le proprie apparecchiature, avendo l'accortezza di utilizzare sempre numeri differenti per ogni pezzo, purché questi inizino tutti con il prefisso che gli è stato assegnato. In condizioni normali, un identificatore EUI-64 corretto è anche un numero univoco a livello globale.

Nel momento in cui l'interfaccia di rete a cui si attribuisce un indirizzo unicast dispone del numero EUI-64, è facile ottenere l'identificatore di interfaccia; quando questo non è disponibile si possono utilizzare altre tecniche per generare un numero che gli assomigli. Nel primo caso, si intuisce che il numero utilizzato per l'identificatore di interfaccia è anche univoco a livello globale, mentre negli altri casi questo non può essere vero in assoluto. A questo proposito, lo stesso numero EUI-64 contiene un bit che viene utilizzato per indicare il fatto che si tratti di un identificatore univoco a livello globale o meno. Si tratta del settimo bit più significativo, il quale viene sottratto dai valori che può assumere la parte iniziale di 24 bit di identificazione dell'azienda (company id).

Figura 254.13. Schema di un identificatore EUI-64 suddiviso in bit.

link-local

Per la precisione, un indirizzo unicast che termina con l'identificatore di interfaccia composto dall'identificatore EUI-64, inverte il bit che serve a riconoscerlo come univoco a livello globale, facendo sì che nell'indirizzo IPv6, questo bit sia attivo per indicare l'univocità. La motivazione di questa inversione è molto semplice: si vuole evitare che la porzione finale di un indirizzo IPv6, che da solo non è univoco a livello globale, debba avere per forza quel bit a uno, cosa che costringerebbe a una notazione dettagliata dell'indirizzo IPv6 corrispondente. In pratica, quando si preferisce assegnare l'identificatore di interfaccia in modo manuale, per questioni di riservatezza (l'identificatore EUI-64 ottenuto dall'interfaccia di rete consentirebbe di riconoscere il nodo anche se questo cambia rete), oppure per comodità, si utilizzano probabilmente pochi numeri nella parte finale di questo spazio; in tal modo, si riesce ad abbreviare facilmente l'indirizzo IPv6 che si ottiene, perché il bit a cui si fa riferimento nella figura 254.13, essendo invertito risulta azzerato.

Nel caso particolare delle interfacce Ethernet, queste hanno un indirizzo MAC, ovvero un indirizzo di livello 2 (secondo la stratificazione ISO-OSI) corrispondente all'identificatore EUI-48. L'organizzazione IEEE ha stabilito una conversione di questi identificatori nel nuovo formato EUI-64, inserendo il codice FFFE16 subito dopo i primi tre ottetti che identificano l'azienda (company ID). In pratica, il codice

00-80-ad-c8-a9-81

diventa:

00-80-ad-ff-fe-c8-a9-81

Di conseguenza, tenendo conto che il settimo bit di questo codice viene invertito, la parte finale dell'indirizzo IPv6 che lo incorpora diventa:

xxxx:xxxx:xxxx:xxxx:0280:adff:fec8:a981

Quando un identificatore di interfaccia viene determinato automaticamente, si usa in inglese l'aggettivo stateless, spesso anche in forma di sostantivo autonomo.

Figura 254.17. Fasi della costruzione dell'indirizzo IPv6 a partire dall'indirizzo Ethernet.

da Ethernet a IPv6

254.5.2   Indirizzo non specificato

L'indirizzo 0:0:0:0:0:0:0:0, ovvero quello in cui tutti i 128 bit sono azzerati, è quello non specificato (unspecified address). Questo indirizzo non può essere assegnato ad alcun nodo e rappresenta l'assenza di un indirizzo.

Come regola, questo indirizzo non può essere utilizzato come destinazione di un pacchetto e nemmeno nella definizione delle regole di instradamento.

254.5.3   Indirizzo locale di loopback

L'indirizzo unicast 0:0:0:0:0:0:0:1 viene usato per identificare l'interfaccia virtuale locale, ovvero l'interfaccia di loopback. Come tale, non può essere utilizzato per un'interfaccia fisica reale.

In pratica, un pacchetto destinato a questo indirizzo non deve uscire al di fuori del nodo (nella rete fisica esterna); inoltre, un pacchetto destinato a un altro nodo non può indicare come mittente questo indirizzo.

254.5.4   Indirizzi link-local

Gli indirizzi link-local si riferiscono all'ambito del collegamento in cui si trovano connesse le interfacce di rete. Questi indirizzi rappresentano uno spazio privato che non può essere raggiunto dall'esterno e, di conseguenza, non può attraversare i router. Evidentemente, tali indirizzi servono per scopi amministrativi particolari, legati all'ambito della rete fisica.

La struttura normale di un indirizzo link-local è molto semplice:

link-local

Come si può vedere, i primi 10 bit servono a definire il formato dell'indirizzo, stabilendo che si tratta del tipo link-local. A metà dell'indirizzo inizia l'identificatore di interfaccia, ottenuto dall'identificatore EUI-64 (già descritto in precedenza), che viene determinato in modo differente a seconda del tipo di interfaccia.

Dal momento che l'indirizzo link-local deve essere univoco solo all'interno del collegamento fisico in cui si trova, non richiede la distinzione in sottoreti e può essere determinato in modo automatico, eventualmente interrogando la rete stessa. Di solito, in presenza di interfacce Ethernet si utilizza il loro indirizzo MAC trasformandolo secondo la regola già vista a proposito dell'identificatore EUI-48. Per esempio, un'interfaccia Ethernet il cui indirizzo MAC sia

00:80:ad:c8:a9:81

ottiene l'indirizzo IPv6 link-local

fe80:0000:0000:0000:0280:adff:fec8:a981

che si può abbreviare come

fe80::280:adff:fec8:a981

Ecco come potrebbe mostrarlo ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:80:AD:C8:A9:81  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::280:adff:fec8:a981/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          Interrupt:11 Base address:0x300 

In questa situazione, dal momento che non c'è bisogno di organizzare tali indirizzi in sottoreti, l'unico prefisso che abbia un senso è quello dei primi 10 bit che stanno a indicarne il formato. Tuttavia, è normale che venga indicato un prefisso più grande, precisamente di 64 bit, dal momento che non si prevede l'utilizzo dello spazio che si trova tra il prefisso di formato e i primi 64 bit. Pertanto, un indirizzo link-local che porti l'indicazione della lunghezza del prefisso, utilizza normalmente il numero 64, come si vede nell'estratto generato da ifconfig mostrato sopra.

254.5.5   Indirizzi site-local

Gli indirizzi site-local si riferiscono all'ambito di un sito e si possono utilizzare liberamente senza bisogno di alcuna forma di registrazione. Questi indirizzi rappresentano uno spazio privato che non può essere raggiunto dalle reti esterne al sito in questione.

La struttura normale di un indirizzo site-local è molto semplice:

site-local

I primi 10 bit servono a definire il formato dell'indirizzo, stabilendo che si tratta del tipo site-local; lo spazio tra l'undicesimo e il 64-esimo bit può essere utilizzato per strutturare gli indirizzi in sottoreti, in base alle esigenze del sito. La seconda metà dell'indirizzo viene riservata per l'identificatore di interfaccia, ottenuto dall'identificatore EUI-64 (già descritto in precedenza), che viene determinato in modo differente a seconda del tipo di interfaccia.

In pratica, rispetto a un indirizzo link-local cambia il prefisso di formato, aggiungendo la possibilità e la convenienza di suddividere lo spazio di indirizzi in sottoreti.

254.5.6   Indirizzi unicast globali aggregabili

Allo stato attuale, nel momento in cui viene scritto questo capitolo, l'unico gruppo di indirizzi IPv6 previsto per una gestione globale (cioè per Internet) è quello che inizia con il prefisso 0012. Senza entrare troppo nel dettaglio (considerato che si tratta di una materia che non è abbastanza consolidata), lo schema di indirizzamento di questi indirizzi potrebbe essere riassunto nel modo seguente:

unicast globali aggregabili

Dopo il prefisso di formato seguono 45 bit suddivisi in: un identificatore del primo livello di aggregazione (Top level aggregation), uno spazio di riserva e un identificatore successivo (Next level aggregation). Subito dopo seguono altri 16 bit la cui gestione dovrebbe essere affidata a un solo sito, per l'organizzazione delle proprie sottoreti. Come sempre, la seconda metà dell'indirizzo è destinato all'identificatore di interfaccia.

In pratica, un sito che vuole utilizzare indirizzi IPv6 accessibili anche da Internet, dovrebbe ottenere un lotto di indirizzi composto dei primi 48 bit dal suo ISP, ottenendo la possibilità di gestirsi come vuole i 16 bit che precedono l'identificatore di interfaccia.

254.6   Indirizzi multicast

Un indirizzo IPv6 multicast serve a identificare e a raggiungere un gruppo di nodi simultaneamente. Gli indirizzi multicast hanno una struttura particolare:

multicast

Il prefisso di formato è 1111 11112, ovvero FF16, a cui seguono 4 bit di opzione. Di questi 4 bit, è stato specificato solo il significato di quello meno significativo, che viene indicato convenzionalmente con la lettera «T» (temporaneamente, gli altri devono essere azzerati; in seguito potrebbe essere stabilito qualcosa di diverso).

I 4 bit successivi rappresentano l'ambito dell'indirizzo multicast (scope). Il significato dei valori che può assumere questo campo sono indicati nella tabella 254.26.

Tabella 254.26. Elenco dei valori per definire l'ambito di un indirizzo multicast.

Valore Significato Annotazioni
016 Riservato.
116 Ambito node-local. I pacchetti non possono uscire dal nodo.
216 Ambito link-local. I pacchetti non possono attraversare i router.
316 Non assegnato.
416 Non assegnato.
516 Ambito site-local. I pacchetti non possono uscire dal «sito».
616 Non assegnato.
716 Non assegnato.
816 Ambito organization-local. I pacchetti non possono uscire dalla «organizzazione» (si tratta di un concetto abbastanza vago che deve essere chiarito nel tempo).
916 Non assegnato.
A16 Non assegnato.
B16 Non assegnato.
C16 Non assegnato.
D16 Non assegnato.
E16 Ambito globale.
F16 Non assegnato.

La parte finale dell'indirizzo identifica il gruppo multicast nell'ambito stabilito dal campo scope. Tuttavia, nel caso di indirizzi stabiliti in modo permanente, l'identificatore di gruppo resta uguale per tutti i tipi di ambiti.

Per regola, non si può utilizzare un indirizzo multicast come mittente nei pacchetti IPv6, inoltre questi indirizzi non possono apparire nelle regole di instradamento dei router.

Tutti gli indirizzi multicast del tipo ff0x:0:0:0:0:0:0:0 sono riservati e non possono essere assegnati ad alcun gruppo multicast. Oltre a questi sono interessanti gli indirizzi seguenti:

ff01:0:0:0:0:0:0:1
identifica il gruppo di tutti i nodi IPv6, nell'ambito 116, ovvero node-local;
ff02:0:0:0:0:0:0:1
identifica il gruppo di tutti i nodi IPv6, nell'ambito 216, ovvero link-local;
ff01:0:0:0:0:0:0:2
identifica il gruppo di tutti i router IPv6, nell'ambito 116, ovvero node-local;
ff02:0:0:0:0:0:0:2
identifica il gruppo di tutti i router IPv6, nell'ambito 116, ovvero link-local;
ff05:0:0:0:0:0:0:2
identifica il gruppo di tutti i router IPv6, nell'ambito 516, ovvero site-local;
ff02:0:0:0:0:0:0:c
identifica il gruppo di tutti i serventi DHCPv6, nell'ambito 216, ovvero link-local;
ff02:0:0:0:1:ff00::/104
con l'aggiunta degli ultimi 24 bit di un indirizzo unicast normale, viene usato nell'ambito 216, ovvero link-local, per conoscere l'indirizzo di livello due (MAC o altro) corrispondente (in pratica si cerca di raggiungere un nodo locale, senza conoscere l'indirizzo di livello due nel modello ISO-OSI, usando solo una piccola porzione finale dell'indirizzo IPv6 che il destinatario dovrebbe avere).

Il meccanismo di neighbour discovery, o NDISC, attraverso quello che viene chiamato come solicited node multicast address, corrispondente agli indirizzi con prefisso ff02:0:0:0:1:ff00::/104, sostituisce il protocollo ARP di IPv4.

254.7   Indirizzi Anycast

Gli indirizzi anycast sono degli indirizzi con le caratteristiche di quelli unicast che, in base al contesto, sono attribuiti a più interfacce di rete differenti, appartenenti ad altrettanti componenti di rete distinti.

L'indirizzo anycast più comune è quello che serve a raggiungere simultaneamente tutti i router nell'ambito link-local. Si tratta precisamente del Subnet router anycast address, che si ottiene azzerando la parte di indirizzo che segue il prefisso. Per esempio, in una rete 3ffe:ffff:1:2:3:4:5:6/64, si tratta dell'indirizzo 3ffe:ffff:1:2::

254.8   Indirizzi IPv6 che incorporano indirizzi IPv4

Nella fase di transizione da IPv4 a IPv6, oltre a tanti altri accorgimenti, sono stati stabiliti diversi modi per rappresentare un indirizzo IPv4 all'interno di un indirizzo IPv6, ognuno nell'ambito del proprio contesto di utilizzo specifico. Ne vengono mostrati solo alcuni nelle sezioni successive.

254.8.1   IPv4-compatible IPv6 addresses

Gli indirizzi «compatibili IPv4», ovvero IPv4-compatible IPv6 addresses, utilizzano una serie di 96 bit azzerati seguiti dai bit dell'indirizzo IPv4:

IPv4-compatible IPv6 addresses

In presenza di indirizzi di questo tipo, è ammessa una notazione speciale, in cui la parte finale dell'indirizzo si indica secondo le convenzioni di IPv4. Nel caso di 192.168.1.1, si scrive:

::192.168.1.1

254.8.2   IPv4-mapped IPv6 addresses

Gli indirizzi «ricavati da IPv4», ovvero IPv4-mapped IPv6 addresses, utilizzano una serie di 80 bit azzerati, seguiti da 16 bit a uno; alla fine ci sono i 32 bit dell'indirizzo IPv4:

IPv4-mapped IPv6 addresses

Anche in questo caso, in presenza di tali indirizzi è ammessa una notazione semplifica derivante da IPv4. Nel caso di 192.168.1.1, si scrive:

::ffff:192.168.1.1

254.8.3   6to4

Il documento RFC 3056 Connection of IPv6 Domains via IPv4 Clouds descrive un tipo di indirizzo IPv6, di tipo unicast globale aggregabile, che contiene un indirizzo IPv4. Si fa riferimento a questo tipo di indirizzo e al meccanismo che ne sta dietro con la sigla 6to4. Semplificando le cose, l'indirizzo si ottiene così:

6to4

Se si scompone il numero iniziale, 200216, si comprende che si tratta di un indirizzo unicast globale aggregabile, dato che il prefisso è 0012:

0010 0000 0000 0010

Di solito, per realizzare un tunnel 6to4, si completa l'indirizzo con un valore pari a zero per il campo SLA e uno al posto dell'identificatore di interfaccia. In pratica:

6to4

In altri termini, si abbrevia nella forma seguente, dove x rappresenta quattro bit dell'indirizzo IPv4:

2002:xxxx:xxxx::1

254.9   Tunnel 6to4

Quando si dispone di un indirizzo IPv4 valido a livello globale, ma la propria connessione a Internet si limita al protocollo IPv4, si può usare un tunnel 6to4 per raggiungere facilmente la rete globale IPv6. La prima cosa da fare è determinare l'indirizzo IPv6 ottenuto trasformando quello IPv4 disponibile, attraverso il sistema stabilito per questo tipo di tunnel.

Quello che segue è uno script molto semplice, per una shell Bourne, con il quale si trasforma un indirizzo IPv4, secondo la notazione decimale puntata, in un indirizzo 6to4, dove il campo SLA rimane azzerato e l'identificatore di interfaccia contiene solo il valore uno:

#!/bin/sh

# Il primo argomento dello script contiene l'indirizzo IPv4.
IPV4_ADDR=$1

# Toglie i punti dall'indirizzo IPv4 (1.2.3.4 --> 1 2 3 4).
IPV4_ADDR=`echo $IPV4_ADDR | tr "." " "`

# Converte ogni ottetto in esadecimale con l'aiuto di printf.
IPV4_ADDR=`printf "%02x%02x:%02x%02x" $IPV4_ADDR`

# Genera l'indirizzo IPv6, aggiungendo il prefisso e il suffisso.
IPV6_ADDR=2002:$IPV4_ADDR::1

# Emette il risultato.
echo $IPV6_ADDR

Supponendo di disporre dell'indirizzo IPv4 1.2.3.4, l'indirizzo IPv6 corrispondente sarebbe 2002:0102:0304::1. La figura seguente mostra in modo molto semplice il tunnel che si deve realizzare, tra il nodo locale 2002:0102:0304::1 e il router ::c058:6301, che si rappresenta in modo più semplice come ::192.88.99.1:

tunnel 6to4

Questo tipo di tunnel è molto particolare, perché l'indirizzo ::192.88.99.1 è di tipo anycast, nel senso che il collegamento deve avvenire con il router più vicino, in grado di agire in questo modo.

254.10   Riferimenti

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome introduzione_a_ipv6.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!