Lezione 17 Transizione IPV4 -> IPV6 Corso di Reti di calcolatori Prof. Antonio Puliafito apuliafito@unime.it
Scenario IPv4 e IPv6 incompatibili Requisiti per IPv6 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 Seconda fase Terza 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 Nodo 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 Dual stack Router IPv6 Router IPv6 R1 R2 R3 R4 219.18.20.2 2001:06::100F:27A1:2B4:1:80 159.20.234.34 2001:06::106A:27A1:34BC:1:34 159.20.234.38 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 Tunnel 6-to-4 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 16 32 00………………………………………………00 xx……xx 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 H Router IPv6 Router Dual stack Router IPv4 R1 R2 R3 ::193.204.161.49
Tunnel 6to4 Sito IPv6 Router Dual stack Router IPv4 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 Sito 1 R1 Sito 2 Rete IPv4 R2 2002:C1CC:54A::/48 2002:5013:71FB::/48 Sito 1 R1 Sito 2 Rete IPv4 R2 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
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 Sito 2 Rete IPv4 R2 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
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 Sito 2 Rete IPv4 R2 Router dual stack Link IPv6 Pacchetto dal sito 1 al sito 2 ha percorsi alternativi Tunnel 6to4 usando R1-reteIPv4-R2 Tunnel 6to4 + rete IPv4 + link IPv6 usando R3 R3 Sito 3 Relay router
6to4/vantaggi e svantaggi 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 Tunnel automatici Tunnel 6to4 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 Soluzione migliore: rete dual stack 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 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
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
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 159.100.16.120 DNS 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 www.dis.uniroma1.it Rete IPv6 Rete IPv4 NAT-PT A 2001:760:4:f005::2 B 151.100.16.120 DNS
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 159.100.16.120 DNS Comunicazione reale
NAT-PT/vantaggi e svantaggi 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