Lezione 17
Transizione IPV4 -> IPV6
Corso di Reti di calcolatori
Prof. Antonio Puliafito
[email protected]
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
Soluzione IPv6
• Evoluzione graduale
– Non vi sara’ una transizione brusca
– I due protocolli convivranno per alcuni anni
• I meccanismi di transizione sono stati al
centro dell’attenzione nella progettazione
di IPv6
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
Meccanismi di transizione
• Implementati sugli host
– Es. host dual stack
• Implementati a livello di rete
– Es. tunnel
• Basati su traduttori di protocollo
– Es. SIIT, NAT-PT
Host dual stack
Applicazione
• Nodo dual stack
– Implementa
entrambi i protocolli
– Assegna indirizzi
IPv4 e IPv6 alla
stessa interfaccia
• Le applicazioni che
usano IPv4 usano i
servizi dello strato
corrispondente
TCP/UDP
IPv4
IPv6
Ethernet
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
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
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
R2
Dual stack
R3
Router IPv6
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
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
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
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
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
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
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)
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>
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
Sito 3
2002:C1CC:A102::/48
Prefisso di rete IPv6
del sito 2
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
Vantaggi/svantaggi
• Semplice da implementare
• Non sfrutta eventuali segmenti IPv6
attraversati
Esempio
Sito 1
R1
• 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
Rete IPv4
R2
Link IPv6
R3
Sito 3
Sito 2
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
Relay router/esempio
Sito 1
R1
Rete IPv4
R2
Sito 2
Router dual stack
Link IPv6
• Pacchetto dal sito 1 al
sito 2 ha percorsi
alternativi
– Tunnel 6to4 usando R1reteIPv4-R2
– Tunnel 6to4 + rete IPv4 +
link IPv6 usando R3
R3
Sito 3
Relay router
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
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
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
Traduttori di protocollo
• Unico modo per far comunicare nodi IPv4only 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
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
Comunicazione
logica
un indirizzo IPv6
Rete IPv6
Rete IPv4
NAT-PT
DNS
Comunicazione reale
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’
www.dis.uniroma1.it
inviato al NAT-PT
Rete IPv6
Rete IPv4
NAT-PT
2001:760:4:f005::2
DNS
159.100.16.120
Comunicazione reale
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
Rete IPv6
www.dis.uniroma1.it
Rete IPv4
NAT-PT
A
2001:760:4:f005::2
DNS
B
151.100.16.120
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 provenienti 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
NAT-PT/vantaggi e svantaggi
• Vantaggi
– Trasparenza rispetto ai nodi che lo usano
• Simili a quelli del NAT IPv4
• Non molto diffuso
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
Scarica

LEZIONE 17