IPv6
 IP (v4) e’ stato un grande successo
 Perche’ cambiare
 Spazio di indirizzamento limitato
 Spazio di indirizzamento assegnato in modo non
uniforme
 Funzioni non presenti nel progetto originario
• Real time
• Sicurezza
 Perche’ IPv6
 Frutto di confusione
IPv6
1
IPv6
IPv6
2
IPv6 - funzioni
 Indirizzi estesi
 128 bit
 Indirizzamento gerarchico
 Intestazione di formato variabile
 In realta’ anche in IPv4 (teoricamente)
 Protocollo estendibile
 Supporto per l’autoconfigurazione
 Supporto per l’assegnazione delle risorse
 Astrazione di flusso
 Servizi differenziati
IPv6
3
Formato generale IPv6
 Intestazione di base obbligatoria
 Meccanismi usati da tutti i datagram
 0 o piu’ intestazioni opzionali
 Servizi opzionali
Intestazione
base
Intestazione
estens. n
Intestazione
estens. 1
Dati
Opzionali
IPv6
4
Intestazioni
 Intestazione base
 Contiene informazioni generali sul pacchetto
• Indirizzi sorgente
• Indirizzo destinazione
• ……
 Intestazioni di estensione
 Servono a implementare servizi specifici
 Opzioni
 Servono a implementare servizi aggiuntivi o nuove
funzionalita’
IPv6
5
Intestazione di base
 Lunghezza costante
 Info su frammentazione spostata
4
0
Vers
12
Class
16
24
31
Flow label
Payload length
Next header
Hop limit
SOURCE ADDRESS
DESTINATION ADDRESS
IPv6
6
Intestazione di base/cont.
 Version: 4 bit.
 6 IPv6.
 Traffic Class: 8 bit.
 Valore per identificare la priorita' del pacchetto nel
traffico Internet (simile al TOS IPv4)
 Possibili Applicazioni:
• Differenziazione del traffico immesso nella rete di un ISP da
un suo cliente
• L’ISP può modificare questo campo per tuttii pacchetti in
uscita verso altre reti, al fine di assegnare una classe
diservizio concordata con altri ISP
IPv6
7
Intestazione di base/cont.
 Flow Label: 20 bit
 Uso ancora non chiaro. Usato un flusso
 Pacchetti appartenenti allo stesso flusso avranno:
• Stesso indirizzo IPv6 sorgente
• Stesso indirizzo IPv6 destinazione
• Stesso valore del campo flow-label
 Payload Length: 16 bit
 Specifica la lunghezza dei dati nel pacchetto
 Al max pacchetti da 64 KB.
 Per pacchetti didimensioni maggiori si utilizza
l’opzione Jumbo Payload
IPv6
8
Intestazione di base/cont.
 Next Header: 8 bit
 Specifica l’header successivo
 Se è un protocollo di livello più alto, i valori sono
compatibili con quelli IPv4
 Hop Limit: 8 bit
 Sostituisce TTL IPv4
IPv6
9
Intestazioni di estensione
 Ciascuna serve a implementare un
meccanismo diverso
 Esempi:




Autenticazione
Frammentazione/deframmentazione
Instradamento
……
 Ogni datagramma contiene soltanto le
intestazioni necessarie
IPv6
10
Esempio
 Route serve per l’instradamento
 Auth serve per servizi di autenticazione
 TCP indica che la porzione che segue
contiene un segmento TCP (i dati del
datagram IPv6)
 Router esaminano solo alcune intestazioni di
estensione
Intestazione
Base
Next = Route
Intestazione
Route
Next = Auth
Intestazione
Auth
Next = TCP
Segmento TCP (Dati)
IPv6
11
Alcuni header
 Routing (43)
 Simile all'opzione IPv4 Loose Source Route
 Indica una lista di router da attraversare
 Fragment (44)
 Frammentazione (v. avanti)
 Authentication Header (51)
 Serve a implementare meccanismi di
autenticazione
 Encapsulating Security Payload (50)
 Garantisce che solo il destinatario autorizzato
sara' in grado di leggere il pacchetto
IPv6
12
Opzioni IPv6
 IPv6 permette di definire intestazioni per
ulteriori opzioni
 Permettono estensioni future del protocollo
 Estensioni salto-salto
 Devono essere elaborate da ogni router
intermedio
 Estensioni punto-punto
 Elaborate soltanto a destinazione
IPv6
13
Opzioni IPv6/cont.
 IPv6 permette di definire intestazioni per
ulteriori opzioni
 Permettono estensioni future del protocollo
 Estensioni salto-salto
 Devono essere elaborate da ogni router
intermedio
 Estensioni punto-punto
 Elaborate soltanto a destinazione
IPv6
14
Formato generale
 Next Header
 Tipo prox header di intestazione
 Header length
 Lunghezza complessiva header (nell’es. 11 byte)
8
0
Next Header
Length Opzione 2
16
24
31
Header length
Type Opzione 1 Length Opzione 1
Valore Opz. 1
Type Opzione 2
Valore Opz. 2
IPv6
15
Formato delle opzioni
 Type
 Specifica il tipo di opzione
 Length
 Lunghezza dell’opzione (nell’es. Opzione 2 ha
lunghezza 2 byte)
8
0
Next Header
Length Opzione 2
16
24
31
Header length
Type Opzione 1 Length Opzione 1
Valore Opz. 1
Type Opzione 2
Valore Opz. 2
IPv6
16
Campo Type
 I router possono non comprendere alcune
opzioni
 I 2 bit piu’ alti del campo Type specificano
cosa fare in tal caso
 00: saltare l’opzione
 01: scartare Dgram; non inviare mess. ICMP di
notifica
 10: scartare Dgram; inviare mess. ICMP di notifica
alla sorgente
 11: scartare Dgram; inviare mess. ICMP multicast
di notifica
IPv6
17
Frammentazione IPv6
 Similitudini con IPv4
 Sorgente responsabile della frammentazione
 Destinazione responsabile del riassemblaggio
 Differenze rispetto a IPv4
 Router intermedi non frammentano
 MTU (Maximum Transfer Unit)
 MTU minima garantita 1280 byte
 In alternativa: rilevazione MTU minima lungo il
percorso sorgente - destinazione
IPv6
18
Frammentazione IPv6/cont.
 In caso di frammentazione
 Sorgente inserisce intestazione di estensione in
ciascun frammento
 Ogni frammento multiplo di 8 byte
• Semplifica elaborazione
 M identifica l’ultimo frammento
 RS attualmente non usato e posto a 00
8
0
Next Header
29
16
Riservato
Offset di frammento
31
RS
M
Identificatore di frammento
IPv6
19
Frammentazione IPv6/Esempio
 Datagram iniziale (MTU = 1280 byte)
Intestazione
Base
Next = TCP
Segmento TCP (2000 byte)
Intestazione
Base
Next = Fragm.
Intestazione
Frammentaz.
Next = framm.
Frammento 1 (1232 byte)
Intestazione
Base
Next = Fragm.
Intestazione
Frammentaz.
Next = framm.
Frammento 2 (768 byte)
IPv6
20
Frammentazione IPv6/Esempio
 Intestazioni di frammentazione
8
0
Next Header
29
16
Riservato
0
31
00
1
720
8
0
Next Header
29
16
Riservato
1232
31
00
0
720
IPv6
21
Vantaggi/svantaggi
 I router non frammentano
 Migliora la banda passante
 Aggiornamento percorsi piu’ difficile
 Se cambia un percorso potrebbe mutare la MTU
 Nuovo messaggio di errore ICMP
• Se un router scopre che la frammentazione e’ necessaria
informa la sorgente
IPv6
22
Instradamento IPv6
 E’ possibile specificare un elenco di router
che il Dgram deve attraversare
8
0
Next header
16
HDR EXT LEN
24
Routing Type
31
Seg. left
Indirizzo 1
4
Indirizzo 2
Indirizzo 2
IPv6
23
Instradamento IPv6/cont.
 Next header
 Indica il significato della prox. Intestazione
 HDR EXT LEN
 Dimensione intestazione di instradamento
 Necessario perche’ numero variabile di indirizzi
 Routing type --> 0
 Seg. left
 No. Indirizzi rimasti
• Es.: Seg. left=x --> router 1,…, n-x attraversati
IPv6
24
AVVISO
Domani non c’e’ lezione
IPv6
25
Indirizzamento IPv6
 2128 indirizzi possibili
 Milioni di anni per esaurirli
 Notazione esadecimale a due punti
 Bastano 8 campi Hex invece di 16 usando la notazione
decimale puntata
 Compressione degli 0
• 0000 -> 0
• FF05:0001:0010 -> FF05:1:10
• FF05:0:0:0:0:0:0:B3 --> FF05::B3
 Estensione della notazione CIDR
• 12AB::CD30:0:0:0:0/60 --> 12AB:0:0:CD3
IPv6
26
Formato degli indirizzi
 formato generale: X:X:X:X:X:X:X:X
 Ogni campo rappresenta 16 bit
 Rappresentazione esadecimale
 Es.:
2001:0000:1234:0000:0000:00D0:ABCD:0532
 Campi di 0 successivi -> ::
 Solo una volta
 FF02:0:0:0:0:0:0:1 -> FF02::1
IPv6
27
Formato degli indirizzi/cont.
 Nelle URL gli indirizzi tra parentesi quadre
 http://[2001:1:4F3A::206:AE14]:80/home.html
 ‘:’ usato anche per separare No. porta da URL
 Necessario modificare Sw che usa URL
 Browser ecc.
IPv6
28
Caratteristiche generali
 Come in IPv4, indirizzi associati a interfacce
di rete
 A ogni rete fisica e’ assegnato un prefisso
 Possibile assegnare piu’ prefissi alla stessa
rete
 Possibile assegnare piu’ indirizzi alla stessa
interfaccia
IPv6
29
Tipi di indirizzo
 Unicast: l’indirizzo specifica 1 interfaccia
 Instradamento: percorso minimo
 Multicast: l’indirizzo specifica un gruppo di
nodi
 Anycast: come il multicast ma
 Pacchetto consegnato al nodo più vicino (in base
alle metriche presenti sui router) al nodo mittente
 Broadcast eliminato
 Pericoloso per attacchi DoS
IPv6
30
Assegnazione degli indirizzi





















0000 0000 - compatibilita’ IPv4
0000 0001 - non assegnato
0000 001 - indirizzi NSAP
0000 010 - Indirizzi IPX
0000 011 - non assegnato
0000 1
- non assegnato
0001
- non assegnato
001
- unicast globale di aggregazione
010
- non assegnato
011
- non assegnato
100
- non assegnato
101
- non assegnato
110
- non assegnato
1110
- non assegnato
1111 0
- non assegnato
1111 10 - non assegnato
1111 110 - non assegnato
1111 1110 0 - non assegnato
1111 1110 10 - indirizzi unicast locali di collegamento
1111 1110 11 - indirizzi unicast locali del sito
1111 1111 - indirizzi multicast
IPv6
31
Indirizzi unicast
 Unspecified
 Loopback
 IPv4 Compatible
 IPv4 Mapped
 Indirizzi Scoped
 Unicast locale di collegamento
 Unicast locale di sito
 Unicast globale di aggregazione
IPv6
32
Unspecified
 0:0:0:0:0:0:0:0
 Non puo’ essere assegnato a un’interfaccia
 Puo’ essere usato durante l’inizializzazione
• Es.: DHCP
 ::/0 indica l’instradamento di default
 Come in IPv4
IPv6
33
Loopback
 0:0:0:0:0:0:0:1 o semplicemente ::1
 Identifica l’interfaccia stessa
 Analogo a 127.0.01 IPv4 (localhost)
 ping6 ::1 -> verifica il funzionamento dello
stack IPv6
IPv6
34
Indirizzi incorporati IPv4
 Usano una parte dello spazio riservato
 Prefisso 0000 0000
 Primi 80 bit a 0
 16 bit seguenti a 0:0:0:0 o F:F:F:F
 0:0:0:0 -> IPv4 compatible
 F:F:F:F -> IPv4 mapped
 Restanti 32 bit contengono indirizzo IPv4
 Usati nella transizione IPv4 -> IPv6
80
16
00………………………………………………00 xx……xx
32
Indirizzo IPv4
IPv6
35
Indirizzi unicast scoped/formato
 Indirizzi unicast consistono di due parti
 L’indirizzo di interfaccia puo’ essere
assegnato
 Manualmente
 Usando direttamente l’indirizzo MAC
• Potenziali vantaggi in efficienza
• Interoperabilita’ con i protocolli MAC esistenti
64
Prefisso di rete
64
Indirizzo dell’interfaccia
IPv6
36
Indirizzo di interfaccia
 Dipende dal formato dell’indirizzo fisico
dell’interfaccia
 Codifica EUI64
 Codifica IEEE che estende a 64 bit la codifica
EUI48 (standard Ethernet)
 Se la codifica dell’indirizzo fisico e’ EUI64
l’indirizzo di interfaccia si ottiene in modo
diretto
 Altrimenti servono soluzioni ad hoc
IPv6
37
Indirizzo MAC -> ID interfaccia
 Si inserisce la sequenza FFFE dopo i primi 24 bit
 Esempio
 Indirizzo Ethernet: 00-AA-00-3F-2A-1C
 Indirizzo EUI64: 00-AA-00-FF-FE-3F-2A-1C
 Indirizzo IPv6: 02:AA:00:FF:FE:3F:2A:1C
• Il settimo bit viene posto ad 1 (nell’indirizzo EUI64 e’ sempre 0)
xxxxxx0x……………xxxx yyyyyyyy……………….yyyy
xxxxxx1x……………..xxx 1111111111111110 yyyyy……………….yy
IPv6
38
Privacy
 Indirizzo fisico associato a un dispositivo
 Piu’ facilmente associabile a una persona
 Il prefisso di rete puo’ cambiare
 L’indirizzo IPv6 dell’interfaccia rimane lo
stesso se viene ricavato da quello fisico
 RFC 3041: generare l’identificatore di
interfaccia in modo casuale
IPv6
39
Link e sito
 Corrispondono ai concetti di rete e sistema
autonomo
 Link:
 Rete locale
 Collegamento punto-punto
 Rete geografica in tecnologia omogenea
 Sito:
 Gruppo di link gestiti da un’unica autorita’
IPv6
40
Esempio
local ISP
Internet
Link
Link
company
network
IPv6
41
Indirizzi locali di collegamento
 Prefisso: 1111 1110 10
 Indirizzi locali a un link -> es. rete locale
 I datagram con tali indirizzi non sono inoltrati
al di fuori del link
 Instradamento semplificato
R
Es.: nessun datagram
con indirizzo locale di
collegamento trasmesso
da H1 raggiunge R
Scope -> il link
Link
H1
IPv6
42
Formato
 Un indirizzo locale di collegamento ha il seguente
formato
FE80:0:0:0:<identificatore di interfaccia>
 L’identificatore di interfaccia e’ ottenuto
automaticamente dall’ indirizzo MAC
 Non e’ necessaria l’assegnazione degli indirizzi locali di
collegamento
 Instradamento semplificato
IPv6
43
Indirizzi locali di sito
 Indirizzi locali a un sito
 Un pacchetto con indirizzo locale
di sito generato da H1 puo’
raggiungere H2 ma non R
Internet
R
• Piu’ semplice
assegnare gli indirizzi
H2
company
network
H1
IPv6
44
Formato
 Prefisso: 1111 1111 11
 Il formato di un indirizzo locale a un sito e’
FEC0:0:0:<subnet id>:<interface id>
 16 bit identificano la sottorete cui appartiene
l’interfaccia
 Gli indirizzi locali al sito sono configurati
dall’amministratore
IPv6
45
Indirizzi unicast globali di
aggregazione
 Corrispondono agli indirizzi IPv4 pubblici
 Blocchi di indirizzi assegnati dalla IANA
 Assegnazione gerarchica di sottoblocchi di
indirizzi
 Gestita dal proprietario del blocco
3
13
8
P TLA ID RES
24
16
NLA ID
SLA ID
P: 001
TLA ID: identificatore assegnato
all’ ISP
64
Indirizzo dell’interfaccia
RES: 0000 0000 (usi futuri)
NLA ID: Next Level Aggregation
SLA ID: Site Level Aggregation
IPv6
46
ISP regionale
Esempio
ISP locale
 TLA ID = X
 NLA ID = Y
 SLA ID = Z
X
Y
Prefisso: 001 <X>
Z
Prefisso: 001 <X>
<RES> <Y>
Prefisso: 001 <X>
<RES> <Y> <Z>
Rete
aziendale
IPv6
47
Assegnazione degli indirizzi
IANA
/23
/23
/23
ARIN
RIPE NCC
APNIC
/32
 Esempio
 Roma Tre e CASPUR
 Politica di assegnazione al
momento provvisoria
GARR
/48
/48
CASPUR
/64
Roma Tre
/64
IPv6
48
Indirizzi multicast
 In IPv6 non esiste il broadcast
 Multicast usato al suo posto
 Prefisso: 1111 1111
 Formato: FF<flags><scope>::<Group ID>
 Flags: 4 bit -> pensato per servizi multicast
 Scope: 4 bit -> specifica l’ambito nel quale va inviato
il messaggio multicast
 Group ID: identifica un gruppo multicast all’interno di
un certo scope
IPv6
49
Scope
 Node -> 1
 Es.: le
interfacce R2,
R3 ed R4
 Link -> 2
 Es.: le
interfacce R1
ed R2
Internet
 Site -> 5
 Es.: R1…R5
R1
R2
 Global -> E
 Internet
 Organization -
>8
R3
R5
R4
company
network
IPv6
50
Group ID
 Lo scope definisce soltanto l’ambito di rete
 Il Group ID specifica quali nodi partecipano all’interno
dello scope
 I nodi con stesso Group ID
 Alcuni Group ID riservati
 Group ID 1 -> tutti i nodi all’interno dello scope
 Indirizzo FF01::1 -> tutte le interfacce sullo stesso nodo
 Indirizzo FF02::1 -> tutte le interfacce sullo stesso link
 Indirizzo FF05::1 -> tutte le interfacce sullo stesso sito
 Indirizzo FF0E::1 -> tutte le interfacce su Internet
IPv6
51
Indirizzi anycast
 Non sono distinguibili dagli indirizzi unicast
 Non e’ previsto alcun prefisso specifico
 Lo stesso indirizzo e’ assegnato a interfacce
diverse
 Normalmente su nodi diversi
 Indicano l’interfaccia piu’ vicina al mittente
 Nodi esplicitamente informati quando ricevono
un indirizzo anycast
 Utile, ad esempio, per Mobile IPv6
IPv6
52
Anycast - esempio
 H1 invia un datagram alle interfacce di indirizzo
anycast FEC0::2
 Il datagram raggiungera’ l’interfaccia R1
H1
FEC0::2
R1
FEC0::2
IPv6
53
Indirizzi di nodo
 Indirizzo locale di collegamento per ogni
interfaccia
 Generato automaticamente
 Indirizzi unicast/anycast
 Indirizzo di loopaback
 Indirizzi multicast
 Gruppo all nodes
 Altri gruppi di cui il nodo fa parte
IPv6
54
Selezione degli indirizzi
 Quali indirizzi sorgente/destinazione
scegliere?
 Tante possibilita’
 Regole generali
 Usare il giusto scope in base alla destinazione
 Implicazioni sul DNS
 Regole generale di selezione degli indirizzi
ancora in fase di studio
 IETF Internet draft
IPv6
55
Esempio: H1 e’ destinazione
 H2 usa indirizzo
globale unicast
 H3 usa indirizzo
locale di sito
 H4 usa indirizzo
locale di
collegamento
H2
Internet
H3
R1
R2
R3
R5
H4
R4
company
network
H1 -> 27A1:34BC:1:34
IPv6
56
Indirizzo di H1
Indirizzo globale di aggregazione (sorg. H2)
2001:06::
Parte alta
100F
27A1:34BC:1:34
Ind. sottorete
Indirizzo locale di sito (sorg. H3)
FEC0:0:0
Parte alta
100F
27A1:34BC:1:34
Ind. sottorete
Indirizzo locale di collegamento (sorg. H4)
FE80:0:0
0
27A1:34BC:1:34
Parte alta
Ind. sottorete
IPv6
57
Transizione da IPv4 a IPv6
IPv6
58
Scenario
 IPv4 e IPv6 incompatibili
 Stesso strato OSI
 Svolgono le stesse funzioni
 Requisiti per IPv6
 Garantire la compatibilita’ con i dispositivi esistenti
 Offrire meccanismi semplici per la transizione IPv4
-> IPv6
IPv6
59
Soluzione IPv6
 Evoluzione graduale
 Non vi sara’ una transizione brusca
 I due protocolli conviveranno per alcuni anni
 I meccanismi di transizione sono stati al
centro dell’attenzione nella progettazione di
IPv6
IPv6
60
Evoluzione in tre fasi
 Prima fase
 Si usa principalmente l’infrastruttura IPv4
esistente
 Seconda fase
 I protocolli coesistono
 Terza fase
 I nodi IPv4 restanti usano l’infrastruttura IPv6
 Essi devono poter usare i servizi IPv6
IPv6
61
Meccanismi di transizione
 Implementati sugli host
 Es. hosto dual stack
 Implementati a livello di rete
 Es. tunnel
 Basati su traduttori di protocollo
 Es. SIIT, NAT-PT
IPv6
62
Host dual stack
 Nodo dual stack
 Implementa entrambi i
protocolli
 Assegna indirizzi IPv4
e IPv6 alla stessa
interfaccia
Applicazione
TCP/UDP
IPv4
IPv6
 Le applicazioni che
usano IPv4 usano i
servizi dello strato
corrispondente
Ethernet
IPv6
63
Vantaggi/svantaggi
 Schema semplice
 Svantaggi
 Richiede la gestione di una doppia infrastruttura di
rete
 Non fa nulla per integrare IPv4 e IPv6
 Soluzione attualmente piu’ usata
IPv6
64
Tunnel IPv6-IPv4
 Tunnel: usati normalmente per trasportare
pacchetti di un protocollo in una rete basata
su un protocollo diverso
 IPv6-in-IPv4
 Permettono a pacchetti IPv6 di attraversare una
rete IPv4
 Pacchetto IPv6 incapsulato in un pacchetto IPv4
IPv6
65
Tunnel IPv6-IPv4 - esempio
2001:06::106A:27A1:2:12:AE
219.18.21.24
2001:06::100F:27A1:34BC:1:34
Dual stack
Router IPv6
R1
Dual stack
R2
Router IPv6
R3
R4
219.18.20.2
2001:06::100F:27A1:2B4:1:80
159.20.234.34
159.20.234.38
2001:06::106A:27A1:34BC:1:34
 R2
 Incapsula pacchetto proveniente da R1
 Spedisce pacchetto IPv4 risultante a R3
• Indirizzo destinazione 219.18.20.2
 R3
 Estrae pacchetto IPv6 da pacchetto IPv4 ricevuto da R2
 Invia pacchetto IPv6 a R4
IPv6
66
Tunnel IPv6-IPv4/3
 I punti di ingresso e uscita dai segmenti IPv4
devono essere nodi dual stack
 Logicamente, il tunnel e’ un singolo salto IPv6
 MTU (Maximum Transfer Unit)
 Piu’ piccola di 20 byte
• A causa della presenza dell’ header IPv4
IPv6
67
Configurazione dei tunnel
 Tunnel manuali
 Sono configurati manualmente agli estremi (R2 ed
R3 nell’esempio)
 Usati per creare tunnel permanenti tra due estremi
 Ampiamente usati
 Tunnel broker
 Applicazione Web raggiungibile via IPv4
 Crea dinamicamente un tunnel su richiesta
 Adatto per utenti occasionali
IPv6
68
Altri tipi di tunnel
 Tunnel automatici
 Indirizzi IPv4 degli estremi del tunnel ottenuti
automaticamente
 Usano gli indirizzi IPv4 compatible
 Tunnel 6-to-4
 Permettono di connettere tra loro siti IPv6 usando
un indirizzo IPv4 pubblico per ogni sito
IPv6
69
Indirizzi incorporati IPv4
 Usano una parte dello spazio riservato
 Prefisso 0000 0000
 Primi 80 bit a 0
 16 bit seguenti a 0:0:0:0 o F:F:F:F
 0:0:0:0 -> IPv4 compatible
 F:F:F:F -> IPv4 mapped
 Restanti 32 bit contengono indirizzo IPv4
 Usati nella transizione IPv4 -> IPv6
80
16
00………………………………………………00 xx……xx
32
Indirizzo IPv4
IPv6
70
Tunnel automatici
 Pacchetto IPv6 diretto da R1 a H
 Indirizzo H IPv4-compatibile
 Indirizzo IPv4 di H si ottiene automaticamente da
quello IPv6
 Estremo (H) deve coincidere con il destinatario del
messaggio
Router IPv6
R1
Router Dual
stack
R2
Router IPv4
H
R3
::193.204.161.49
IPv6
71
Tunnel 6to4
Sito IPv6
Router Dual Router IPv4
stack
Sito IPv6
Router Dual
stack
R2
Router IPv4
 La rete IPv6 deve avere il prefisso 2002::/16
(assegnato dalla IANA)
IPv6
72
Tunnel 6to4/formato indirizzo
 Ogni sito IPv6 che usa il tunnel riceve un
indirizzo IPv4 unico
 Corrisponde al router dual stack di bordo
 Formato di un pacchetto che usa un tunnel
6to4
2002:<indirizzo IPv4 sito dest.><indirizzo di
sottorete><indirizzo di interfaccia>
IPv6
73
Tunnel 6to4/esempio
2002:C1CC:54A::/48
Sito 1
R1
2002:5013:71FB::/48
Rete IPv4
R2
Sito 2
193.204.5.74
80.19.113.251
Indirizzo IPv4 assegnato
al sito 1
93.204.161.2
Prefisso di rete IPv6
del sito 2
Sito 3
2002:C1CC:A102::/48
IPv6
74
Esempio/cont.
 Pacchetto dal sito 1 al sito 2
 Pacchetto IPv6 raggiunge router di bordo
dual stack R1
 R1 deduce l’indirizzo IPv4 di R2 da indirizzo IPv6
della destinazione
 R1 incapsula pacchetto IPv6 in pacchetto IPv4
con destinazione 80.19.113.251
 R2 riceve pacchetto
 Estrae pacchetto IPv6
 Consegna pacchetto IPv6 alla destinazione nel
sito 2
IPv6
75
Vantaggi/svantaggi
 Semplice da implementare
 Non sfrutta eventuali segmenti IPv6
attraversati
IPv6
76
Esempio
Sito 1
R1
Rete IPv4
R2
Sito 2
 Pacchetto dal sito 1 al
sito 2 che usa tunnel 6to4
semplice non puo’ usare
il link IPv6 diretto tra R2 e
R3
 Motivo: pacchetto IPv6
incapsulato in un
pacchetto IPv4 diretto a
R2
Link IPv6
R3
Sito 3
IPv6
77
Relay router
 Relay router: router disposto a offrire accesso
alla rete IPv6 a pacchetti tunnel 6to4
 Impiega la banda di chi lo mette a
disposizione
 Indirizzo anycast per i relay router:
2002:C058:6301::
 Indirizzo IPv4 corrispondente: 192.88.99.1
 Esistono relay router pubblici
IPv6
78
Relay router/esempio
Sito 1
R1
Rete IPv4
R2
Sito 2
Router dual stack
Link IPv6
 Pacchetto dal sito 1 al sito 2
R3
ha percorsi alternativi
 Tunnel 6to4 usando R1reteIPv4-R2
 Tunnel 6to4 + rete IPv4 + link
IPv6 usando R3
Sito 3
Relay router
IPv6
79
6to4/vantaggi e svantaggi
 Vantaggi
 Semplice da configurare
 Permette di usare IPv6 senza disporre di indirizzi
e senza avere un provider IPv6 nativo
 Svantaggi
 Indirizzi IPv6 di un sito legati all’indirizzo IPv4 del
router di bordo
• Se cambia indirizzo IPv4 di sito il sito va rinumerato
 I relay router possono essere lontani
• Sia dalla sorgente che dalla destinazione
IPv6
80
Sommario
 Tunnel configurati
 Necessario configurare manualmente gli estremi
 Comuni
 Tunnel automatici
 Basati sugli indirizzi IPv4-compatibili
 Deprecati
 Tunnel 6to4
 Instradamento manuale
 Selezione automatica dell’estremo
IPv6
81
Rete dual stack
 Tunnel
 Difficile gestire una rete di tunnel
 Prestazioni inferiori a quelle di una rete nativa
 Rete IPv6 dipendente dalla rete IPv4
 Soluzione migliore: rete dual stack
 Minori difficolta’ e costi di gestione
IPv6
82
Traduttori di protocollo
 Unico modo per far comunicare nodi IPv4-
only e IPv6-only
 Alternativa alla soluzione dual stack
 Possibili implementazioni
 A livello IP
 A livello di trasporto
 Modifica della pila protocollare
 Di solito indirizzi IPv4 rappresentati come
indirizzi IPv6 particolari
IPv6
83
NAT-PT
 Traduttore che mappa indirizzi IPv4 in indirizzi IPv6 e
viceversa
 Segue la stessa logica dei sistemi NAT
 Il nodo NAT-PT separa una rete IPv6 da una IPv4
 Il nodo NAT-PT ha associato un pool di indirizzi IPv4 che associa
dinamicamente ai nodi della rete IPv6
 Ogni indirizzo IPv4 e’ mappato deterministicamente in un indirizzo
IPv6
Comunicazione logica
Rete IPv6
Rete IPv4
NAT-PT
DNS
Comunicazione reale
IPv6
84
NAT-PT/esempio
 Il NAT-PT ha prefisso ::F00F:0:0/96
 Tutto il traffico della rete IPv6 avente tale preifsso nell’indirizzo di
destinazione e’ inviato al NAT-PT
 Il pool di indirizzi IPv4 del NAT-PT e’ 151.100.17.0/8
 Tutto il traffico della rete IPv4 avente tale prefisso e’ inviato al
NAT-PT
www.dis.uniroma1.it
Rete IPv6
Rete IPv4
NAT-PT
2001:760:4:f005::2
DNS
159.100.16.120
Comunicazione reale
IPv6
85
NAT-PT/esempio
 A vuole connettersi a B
 A richiede l’indirizzo fisico di www.dis.uniroma1.it al NAT-PT
 Il NAT-PT interroga il DNS
 Ottiene l’indirizzo fisico 151.100.16.120
 Restituisce ad A l’indirizzo IPv6 corrispondente ::F00F:9F64:1078
• 151.100.16.120 -> 9F64:1078 Hex
www.dis.uniroma1.it
Rete IPv6
Rete IPv4
NAT-PT
A
2001:760:4:f005::2
DNS
B
151.100.16.120
IPv6
86
NAT-PT/esempio
 A si connette a ::F00F:9F64:1078 (indirizzo IPv6 associato a
159.100.16.120)
 Fisicamente si tratta del NAT-PT
 Il NAT-PT associa dinamicamente un indirizzo IPv4 ad A (ad esempio
151.100.17.10) tra quelli disponibili
 Il NAT-PT funziona da application server
 Ogni pacchetto IPv6 diretto verso ::F00F:9F64:1078 intercettato dal NAT-PT
 Pacchetto IPv4 verso 159.100.16.120 spedito nella rete IPv4 al suo posto
 Viceversa per i pacchetti provevienti da B e diretti ad A
www.dis.uniroma1.it
Rete IPv6
Rete IPv4
NAT-PT
2001:760:4:f005::2
DNS
159.100.16.120
Comunicazione reale
IPv6
87
NAT-PT/vantaggi e svantaggi
 Vantaggi
 Trasparenza rispetto ai nodi che lo usano
 Simili a quelli del NAT IPv4
 Non molto diffuso
IPv6
88
Altri traduttori di protocollo
 SIIT (Statelesss IP/ICMP Translation
Protocol)
 Indirizzi IPv4 mappati su indirizzi IPv6
 Traduzione stateless
 Traduttori a livello di trasporto
 Permettono a nodi IPv6 di comunicare con
nodi IPv4 senza richiedere uno stack IPv4
 Nodi relay che agiscono come proxy trasparenti
IPv6
89
Scarica

Slides