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