Lezione 2 –Indirizzi IPv6 Reti di calcolatori Modulo 2 - Protocolli di rete TCP/IP Unità didattica 8 – Tendenze evolutive di IP Ernesto Damiani Università degli Studi di Milano - SSRI Indirizzi IPv6 • 128 bit – scritti come otto numeri esadecimali da 16 bit 5f1b:df00:ce3e:e200:0020:0800:2078:e3e3 • I bit più significativi determinano il tipo di indirizzo Indirizzi unicast globali aggregabili Indirizzo IPv6 mappato IPv4 • Gli indirizzi mappati IPv4 consentono a un host che supporta sia IPv4 sia IPv6 di comunicare con un host che supporta solo IPv4 • L’indirizzo IPv6 si basa completamente sull’indirizzo IPv4 e consiste di 80 bit posti a 0 seguiti da 16 bit a uno, seguiti da un indirizzo IPv4 a 32 bit Funzionamento con DNS • Un’applicazione IPv6 chiede al DNS (Domain Name System) l’indirizzo di un host, ma l’host ha solo un indirizzo IPv4 • Il DNS crea automaticamente l’indirizzo IPv6 mappato IPv4 – Il kernel capisce che si tratta di un indirizzo speciale e usa la comunicazione IPv4 Indirizzo IPv6 compatibile IPv4 • Un indirizzo compatibile IPv4 consente a un host che supporta IPv6 di parlare IPv6 anche se il router o i router locali non parlano IPv6 • Gli indirizzi compatibili IPv4 avvisano il software del mittente di creare un tunnel, incapsulando il pacchetto IPv6 in un pacchetto IPv4 • 80 bit a 0 seguiti da 16 bit a uno, seguiti da un indirizzo IPv4 a 32 bit Tunneling • Eseguito automaticamente dal kernel quando vengono usati indirizzi IPv6 compatibili IPv4 Programmazione socket IPv6 • Interfaccia di programmazione dei servizi di rete: ce ne occuperemo nella parte finale del corso • Conseguenze del passaggio a IPv6 • Nuova famiglia di indirizzi – AF_INET6 • Nuovo tipo di dati di indirizzi – in6_addr • Nuova struttura di indirizzi – sockaddr_in6 Server doppio • Oggi è importante creare server che gestiscano sia IPv4 sia IPv6 • Il lavoro di demultiplexing dei pacchetti in arrivo è gestito dal sistema operativo (che contiene pile di protocolli sia per IPv4 sia per IPv6): – l’indirizzo IPv6 è però definito da quello IPv4 (si usa un indirizzo IPv6 mappato IPv4) Uso di indirizzi IPv6 mappati IPv4 Programmazione IPv4 - IPv6 • Il kernel fa tutto il lavoro – Possiamo presupporre che stiamo parlano IPv6 a tutti! • Se vogliamo saperne di più, ci sono alcune funzioni che determinano il tipo di un indirizzo IPv6 – Possiamo scoprire se parliamo a un client o a un server IPv4 controllando se l’indirizzo è un indirizzo mappato IPv4 FINE