IP Next Generation : il protocollo IPv6 Reiss Romoli srl L AQUILA Tel. e fax 0862.452401 info@ssgrr.com www.reissromoli.com Copyright Reiss Romoli L Aquila, Marzo 2011
Note di Copyright Questo insieme di diapositive è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle diapositive (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo), in accordo con gli artt. 12 e seguenti della Legge 633/1941, sono di proprietà dell autore. Le diapositive possono essere riprodotte ed utilizzate liberamente per scopi di studio, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altra utilizzazione o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti ottici/magnetici, su reti di calcolatori e stampate) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell autore. L informazione contenuta in queste diapositive è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L autore non assume alcuna responsabilità per il contenuto di queste diapositive (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste diapositive. In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata anche in utilizzi parziali. Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 2
Agenda (1/2) Introduzione Limiti di IPv4 Motivazioni per IPv6 Concetti fondamentali Caratteristiche di IPv6 Formato dell intestazione Extension Header Struttura degli indirizzi Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 3
Agenda (2/2) Protocolli correlati ICMPv6 Neighbor discovery Autoconfigurazione Modalità stateless Modalità stateful (cenni sul DHCPv6) Integrazione e transizione IPv4-IPv6: scenari e modelli Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 4
Introduzione Limiti di IPv4 Motivazioni per IPv6 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 5
Limiti di IPv4 IP versione 4 RFC 791 del Settembre 1981 Pressoché inalterato da 30 anni Limitazioni relative a Esaurimento dello spazio di indirizzamento Dimensione delle tabelle di routing Richiesta di servizi nuovi e/o più efficienti Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 6
Esaurimento degli indirizzi IPv4 (1/3) Max teorico con IPv4 (32 bit) : ~ 4 Mld Apparentemente non esiste il problema dell esaurimento degli indirizzi https://www.isc.org/solutions/survey#otherdoc Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 7
Esaurimento degli indirizzi IPv4 (2/3) Ma... (3 Febbraio 2011) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 8
Esaurimento degli indirizzi IPv4 (3/3) http://inetcore.com/project/ipv4ec/index_en.html (8 marzo 2011) Exhaustion Phase RIPE dispone di meno di 4 blocchi /8 di indirizzi IPv4 Continuerà a distribuire indirizzi IPv4 in accordo con le attuali politiche: ("IPv4 Address Allocation and Assignment Policies for the RIPE NCC Service Region ) I LIR possono richiedere nuovi indirizzi solo se hanno consumato 80% dello spazio disponibile Assegnazione ai LIR di indirizzi per le esigenze di 6 mesi Da luglio 2011 allocazioni per tre mesi L ultimo blocco (185/8) sarà assegnato ai LIR in porzioni /22 Ogni LIR avrà diritto ad un solo blocco /22 dal blocco 185/8 L ultimo blocco /16 sarà tenuto da RIPE come riserva Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 9
Dimensione delle tabelle di routing http://bgp.potaroo.net/ Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 10
Introduzione Limiti di IPv4 Motivazioni per IPv6 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 11
Perché IPv6? Indirizzamento di dispositivi always-on VoIP, Server, Peer-to-peer, Gaming Ubiquitous communication UMTS Partnership IPv6 Forum/3GPP WiFi in ambiente metropolitano WiMax 16ng (IP over IEEE 802.16 Networks) MIPv6 (Mobility for IPv6) Autoconfigurazione (Plug & Play) Crescita economica dei paesi emergenti Cina, India, Corea del Sud, Brasile, ecc. Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 12
La nascita di IPv6 I progettisti di IPv6, S. Deering e R. Hinden (autori della RFC 1883), decisero di far loro una famosa massima di Antoine de Saint-Exupery, l autore del "Piccolo Principe" In ogni cosa, si raggiunge la perfezione non quando non c è più nulla da aggiungere, ma quando non c è più nulla da togliere Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 13
Concetti fondamentali Caratteristiche di IPv6 Formato dell intestazione Extension Header Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 14
Spazio di indirizzamento (1/2) Lunghezza degli indirizzi quadruplicata rispetto a IPv4 Indirizzi di 128 bit Maggiore flessibilità ed efficienza nell assegnazione degli indirizzi Minore spreco di indirizzi Maggiore efficienza nell aggregazione Tabelle di routing più piccole Elimina il bisogno del NAT (in teoria ) Possibilità di autoconfigurazione built-in Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 15
Spazio di indirizzamento (2/2) Lunghezza degli indirizzi IPv4 : 32 bit Circa 4,2 miliardi di indirizzi disponibili Lunghezza degli indirizzi IPv6 : 128 bit Circa 3,4*10 38 indirizzi disponibili Circa 5*10 28 indirizzi disponibili per abitante della Terra Circa 6,65*10 23 indirizzi/mq di superficie terrestre Un indirizzo ogni 5 cm 3 di spazio nella sfera di raggio pari alla distanza Terra-Sole IPv4 = 32 bit IPv6 = 128 bit Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 16
Altre caratteristiche Tipologia di indirizzi Unicast, Anycast, Multicast Mobilità Conforme alle RFC per Mobile IP Sicurezza Standard IPsec implementato direttamente a livello IPv6 Protocollo ICMPv6 più ricco di funzionalità Ricchezza di meccanismi di transizione IPv4 IPv6 Dual Stack/Dual Stack-lite Meccanismi di Tunneling (Tunnel statici, 6to4, 6rd, TEREDO, ISATAP, 6PE) Soluzioni NAT-based... Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 17
Concetti fondamentali Caratteristiche di IPv6 Formato dell intestazione Extension Header Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 18
Amarcord : l intestazione IPv4 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version IHL Type of Service Total Length +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Identification Flags Fragment Offset +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Time to Live Protocol Header Checksum +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Source Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Address +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Options Padding +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Campo eliminato Campo modificato <RFC-791> 20 byte + opzioni - 13 campi Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 19
L intestazione IPv6 (RFC 2460) (1/3) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version Traffic Class Flow Label +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Payload Length Next Header Hop Limit +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + Source Address + + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + Destination Address + + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 40 byte - 8 campi Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 20
Prestazioni Elaborazione è più semplice Dimensione fissa dell intestazione Assenza della parola di checksum (che in IPv4 doveva essere ricalcolata per effetto della modifica del TTL) Meno campi da elaborare Elaborazione degli Extension header Molti Extension Header riguardano funzionalità end-to-end (es. l Extension Header per la cifratura, l Extension Header per la frammentazione) MAGGIORE SEMPLICITA DI ESECUZIONE Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 21
Intestazioni IPv4 e IPv6 : confronto 8 campi in IPv6 anziché 12 in IPv4 L intestazione IPv6 ha una lunghezza fissa (40 byte) Rimozione della checksum Rimozione delle procedure di frammentazione dai nodi intermedi (router) Inserimento nel protocollo IPv6 delle funzionalità di sicurezza (IPsec) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 22
Concetti fondamentali Caratteristiche di IPv6 Formato dell intestazione Extension Header Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 23
Extension Header (1/2) Le opzioni presenti nell intestazione IPv4 sono state sostituite da una serie di Extension Header opzionali In ciascun pacchetto IPv6 possono essere presenti da zero a più EH La lunghezza di ogni Extension Header è sempre pari a un multiplo di 8 byte Gli Extension Header possono essere concatenati Il riferimento all Extension Header successivo è definito dal campo Next Header presente nell intestazione IPv6 e in ogni Extension Header IPv6 (N.H. = EH1) EH1 (N.H. = EH2)... EHN-1 (N.H. = EHN) Payload REGOLA FONDAMENTALE: gli EH sono elaborati solo dal nodo che ha l indirizzo IPv6 presente nel campo Destination Address dell Header IPv6 UNICA ECCEZIONE: Extension Header «Hop-by-Hop Options» Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 24
Extension Header (2/2) Esempio 1 : pacchetto IPv6 semplice IPv6 (Next Header = TCP) Segmento TCP Esempio 2 : pacchetto IPv6 con un Extension Header IPv6 (N. H. = Routing) Routing E.H. (N. H. = TCP) Segmento TCP Esempio 3 : pacchetto IPv6 con due Extension Header IPv6 (N. H. = Routing) Routing E.H. (N. H. = Frag.) Fragment E.H. (N. H. = TCP) Segmento TCP Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 25
Routing Extension Header Extension Header utilizzato da una sorgente IPv6 per definire un insieme di nodi da attraversare nel percorso verso la destinazione Funzione simile all opzione IPv4 Loose Source and Record Route Formato 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Next Header Hdr Ext Len Routing Type Segments Left +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+... type-specific data... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 26
Routing Extension Header : esempio Ind. IPv6 = S Ind. IPv6 = D X Y Z IPv6 IPv6 IPv6 IPv6 IPv6 IPv6 Sorg. : S IPv6 Dest. : X IPv6 IPv6 Sorg. : S IPv6 Dest. : Y IPv6 IPv6 Sorg. : S IPv6 Dest. : Z IPv6 IPv6 Sorg. : S IPv6 Dest. : D Routing Seg. Left : 3 Indirizzo[1] : Y Indirizzo[2] : Z Indirizzo[3] : D Routing Seg. Left : 2 Indirizzo[1] : X Indirizzo[2] : Z Indirizzo[3] : D Routing Seg. Left : 1 Indirizzo[1] : X Indirizzo[2] : Y Indirizzo[3] : D Routing Seg. Left : 0 Indirizzo[1] : X Indirizzo[2] : Y Indirizzo[3] : Z Elenco dei router che hanno elaborato il Routing Extension Header (può non coincidere con i router attraversati dal pacchetto) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 27
Struttura degli indirizzi Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 28
Indirizzi IPv6 Tre tipi di indirizzi IP Unicast: analogo a IPv4 Anycast: indirizzo assegnato a più di una interfaccia Multicast : analogo a IPv4 IMPORTANTE : Non si usano più gli indirizzi broadcast A differenza di IPv4, gli indirizzi hanno un ambito di validità Link-Local Unique-Local Global Modello di indirizzamento: indirizzi associati alle interfacce, non ai nodi (router e/o Host) Possibilità di avere più indirizzi per ogni interfaccia Ogni interfaccia deve avere almeno un indirizzo unicast Link-Local Un interfaccia che non sia origine o destinazione di pacchetti IP da/verso il resto della rete ha bisogno solo di indirizzi Link-Local Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 29
Rappresentazione Gli indirizzi IPv6 vengono rappresentati in notazione esadecimale Ogni coppia di byte viene separata da due punti Esempio : 2b02:0000:0000:0054:0020:abcd:0003:1234 128 bit 2b02 : 0000 : 0000 : 0054 : 0020 : abcd : 0003 : 1234 0000 0000 0101 0100 0 0 5 4 1 byte 1 byte Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 30
Rappresentazione semplificata Si DEVONO omettere gli zeri non significativi (RFC 5952) 2b02:0000:0000:0054:0020:abcd:0003:1234 = 2b02:0:0:54:20:abcd:3:1234 Si DEVE abbreviare il più possibile la lunghezza dell indirizzo sostituendo la serie più lunga di blocchi consecutivi da 16 bit tutti a zero con :: (RFC 5952) Si sostituisce sempre la sequenza di 0 più lunga 2a01:0:0:0:20:0:0:4 = 2a01::20:0:0:4 = 2a01:0:0:0:20::4 Se ci sono 2 sequenze di pari lunghezza si sostituisce la prima 2b02:0:0:54:20:0:0:4 = 2b02::54:20:0:0:4 = 2b02:0:0:54:20::4 Nella rappresentazione esadecimale le lettere vanno espresse come minuscole (RFC 5952) 2c02:54::20:abcd:3:1 OK, 2C02:54::20:ABCD:3:1 non OK NOTA: questa regola non è ancora rispettata da molti costruttori e operatori Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 31
Reti IPv6 La rappresentazione di una rete IPv6 è analoga alla classica notazione CIDR delle reti IPv4 Rete IPv6 = prefisso / lunghezza-prefisso Qualora la lunghezza del prefisso non sia un multiplo di 16 bit, nella rappresentazione il prefisso va completato con degli zeri fino a completare il gruppo di 4 cifre Esempio : rappresentazione del prefisso di 60 bit 2b01:db8:0:cd3 Rappresentazione legale: 2b01:db8:0:cd30::/60 Rappresentazione non legale: 2b01:db8::cd30/60 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 32
Identificazione del tipo di indirizzo Tipo Prefisso binario Notazione IPv6 Non specificato 0 0 (128 bit) ::/128 Loopback 00 1 (128 bit) ::1/128 Multicast 11111111 ff00::/8 Link-Local 1111111010 fe80::/10 Unique Local 1111110 fc00::/7 Global unicast (tutto il resto) * * Attualmente in fase di allocazione 2000::/3 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 33
Indirizzi Unicast Gli indirizzi unicast sono i normali indirizzi che identificano i comuni dispositivi connessi in rete (PC, stampanti, interfacce di router, ecc.) Tipi di indirizzi unicast Global unicast Link-Local Unique-Local (RFC 4193) Site-Local (*) Indirizzi IPv4 compatibili con IPv6 (*) Formato generale n bits 128-n bits +-------------------------------+---------------------------------+ subnet prefix interface ID +-------------------------------+---------------------------------+ (*) L uso di questi tipi di indirizzi non è più consentito (RFC 4291) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 34
Identificativi di interfacce Sono la parte dell indirizzo unicast utilizzata per identificare interfacce di una sottorete Devono essere unici all interno della sottorete Lo stesso identificativo può essere utilizzato da un singolo dispositivo, purché le interfacce siano connesse a sottoreti differenti In alcuni casi è possibile derivare gli identificativi direttamente dall indirizzo di Livello 2 (es. interfacce Ethernet) RACCOMANDAZIONE DELLA RFC 4291: Per tutti gli indirizzi unicast, ad eccezione di quelli che iniziano per 000, utilizzare identificativi di lunghezza 64 bit e, quando possibile, costruirli nel formato EUI-64 modificato (*) NOTA: questa raccomandazione è oggi in fase di revisione (*) EUI = Extended Unique Identifier Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 35
Il formato EUI-64 modificato (1/2) Permette di creare un identificativo di interfaccia di 64 bit a partire da un indirizzo MAC (48 bit) Procedura 1. Dividere i 48 bit dell indirizzo MAC in due parti da 24 bit 2. Inserire tra le due parti i 16 bit 11111111 11111110 (= 0xfffe) L indirizzo risultante è del tipo EUI-64 3. Cambiare il bit universal/local dell indirizzo MAC da 0 a 1 (*) L indirizzo risultante è del tipo EUI-64 modificato (*) Il bit universal/local dell indirizzo MAC è il secondo bit meno significativo del primo byte dell OUI Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 36
Il formato EUI-64 modificato (2/2) Esempio : indirizzo MAC di partenza 39-a7-94-07-cb-d0 39 a7 94 07 cb d0 00111001 10100111 10010100 00000111 11001011 11010000 OUI Device ID 1 2 3 00111001 10100111 10010100 00000111 11001011 11010000 00111001 10100111 10010100 11111111 11111110 00000111 11001011 11010000 00111011 10100111 10010100 11111111 11111110 00000111 11001011 11010000 3b a7 94 ff fe 07 cb d0 Indirizzo EUI-64 modificato : 3ba7:94ff:fe07:cbd0 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 37
Indirizzi Global unicast Formato generale n bits m bits 128-n-m bits +------------------------+-----------+----------------------------+ global routing prefix subnet ID interface ID +------------------------+-----------+----------------------------+ global routing prefix : è un valore assegnato a una rete IPv6 (tipicamente strutturato gerarchicamente) subnet ID : identifica una sottorete (come in IPv4) interface ID : identificativo di interfaccia RACCOMANDAZIONE DELLA RFC 4291: per tutti gli indirizzi unicast, ad eccezione di quelli che iniziano per 000, l Interface ID dovrebbe avere lunghezza 64 bit (ossia, n+m =64) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 38
Indirizzi Link-Local Sono indirizzi che hanno solo validità locale nell ambito di una sottorete Un router non inoltra mai pacchetti IPv6 che hanno indirizzi IPv6 sorgente o destinazione di tipo Link-Local Vengono utilizzati per scopi come l autoconfigurazione degli indirizzi IPv6, la scoperta dei neighbor, quando non sono presenti router sulla sottorete, Next-Hop dai protocolli di routing IPv6, ecc. Formato generale : fe80::/10 10 bits 54 bits 64 bits +----------+-------------------------+----------------------------+ 1111111010 0 interface ID +----------+-------------------------+----------------------------+ Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 39
Indirizzi Unique-Local Analoghi agli indirizzi privati IPv4 Ma univoci a livello globale (con elevatissima probabilità) In caso di leaking per errore non creano conflitti Sono non-routable a livello di Internet Formato generale : fc00::/7 7 bits 1 40 bits 16 bits 64 bits +--------+-+------------+-----------+----------------------------+ Prefix L Global ID Subnet ID Interface ID +--------+-+------------+-----------+----------------------------+ Prefix : 1111110 L : L=1 per indirizzi assegnati localmente, L=0 riservato per utilizzi futuri Global ID : creato in modo pseudo-random Utilizzato per creare un prefisso /48 globalmente unico Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 40
Indirizzi Anycast Gruppo di interfacce Indirizzo anycast IPv6 : 2001::1/64 IPv6 : 2001::1/64 IPv6 : 2001::1/64 R1 R2 R3 Costo IGP 10 20 20 30 30 RA 10 RB Ciascun router sceglie il router più vicino secondo il costo IGP Il router RA sceglie R1. In caso di fuori servizio di R1 sceglie R2 Il router RB sceglie R3. In caso di fuori servizio di R3 sceglie R2 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 41
Indirizzi Multicast 8 4 4 112 +--------+----+----+--------+--------+----------------+----------+ 11111111 flgs scop group ID +--------+----+----+--------+--------+----------------+----------+ RFC 4291 Struttura generale : ff00::/8 flgs (4 bit) : flags 0RPT T = 0 : indirizzi permanenti (well-known). Sono definito da IANA T = 1 : indirizzi temporanei I bit P e R riguardano aspetti particolari del routing multicast (vedi RFC 3306 e 3956) scop (4 bit) : permette di limitare l ambito di propagazione (scope) degli indirizzi multicast 1 : Interface-Local (non esce dall Host; utile come loopback) 2 : Link-Local (non attraversa alcun router) 4 : Admin-Local 5 : Site-Local (non oltrepassa i router di bordo di un sito della rete multicast) 8 : Organization-Local (non oltrepassa i router di bordo della rete multicast) E : Global (gruppo valido su tutta l Internet) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 42
Protocolli correlati ICMPv6 Neighbor discovery Autoconfigurazione Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 43
Generalità Principali funzionalità Diagnostica Neighbor discovery Gestione dei gruppi multicast Protocollo MLD (Multicast Listener Discovery): è il protocollo IGMP per IPv6 Gestione della mobilità (Mobile IPv6) Svolge le funzionalità che in IPv4 sono suddivise tra ICMP ARP (Address Resolution Protocol) IGMP (Internet Group Membership Protocol) Mobile IP Svolge inoltre funzioni caratteristiche di IPv6 come ad esempio l autoconfigurazione stateless degli indirizzi IPv6 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 44
Protocolli correlati ICMPv6 Neighbor discovery Autoconfigurazione Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 45
Generalità Il protocollo Neighbor Discovery permette a nodi (Host, Router) di una stessa sottorete Di annunciare la loro esistenza agli altri nodi della sottorete Di apprendere l esistenza degli altri nodi presenti nella sottorete È una funzionalità di base che tutte le implementazioni standard di IPv6 devono includere Sostituisce i seguenti protocolli di IPv4 ICMP Router Discovery ARP (Address Resolution Protocol) ICMP Redirect Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 46
Cosa fa il protocollo Router discovery Prefix discovery Parameter discovery Address Resolution Neighbor Unreachability Detection Next-hop determination Duplicate Address Detection Redirect StateLess Address AutoConfiguration (SLAAC) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 47
Router + Parameter + Prefix Discovery (1/2) Un Host che attiva una interfaccia invia sulla sottorete un messaggio ICMPv6 Router Solicitation Indirizzo destinazione : indirizzo multicast FF02::2 (tutti i router di una sottorete) Indirizzo sorgente : indirizzo Link-Local dell host mittente Prima dell autoconfigurazione dell indirizzo IPv6 viene utilizzato l indirizzo speciale :: R1 Contiene come opzione l indirizzo di Livello 2 dell Host H2 (*) IPv6 Router Solicitation H1 H2 (*) L opzione è inserita se e solo se l indirizzo IPv6 sorgente è diverso dall indirizzo speciale :: Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 48
Router + Parameter + Prefix Discovery (2/2) Un router annuncia la sua presenza con un messaggio ICMPv6 Router Advertisement inviato periodicamente o in risposta a un messaggio ICMPv6 Router Solicitation Indirizzo destinazione : tipicamente l indirizzo IPv6 dell Host che ha inviato il messaggio Router Solicitation, oppure l indirizzo multicast FF02::1 (tutti i nodi di una sottorete) Indirizzo sorgente : indirizzo Link-Local dell interfaccia sulla sottorete del router mittente R1 Contiene vari parametri (es. Hop Limit, tempo di vita del router), e opzioni (es. l indirizzo di Livello 2 dell interfaccia, MTU, insieme di prefissi della sottorete) Router Advertisement IPv6 H1 H2 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 49
Address Resolution (1/2) Per conoscere l indirizzo di Livello 2 di un altro nodo e per far conoscere il proprio, un nodo invia sulla propria sottorete un messaggio ICMPv6 Neighor Solicitation Indirizzo destinazione : indirizzo multicast di tipo solicited-node corrispondente all indirizzo target, o l indirizzo target stesso Indirizzo sorgente : indirizzo Link-Local dell host mittente Durante la procedura di rilevazione di indirizzi duplicati viene utilizzato l indirizzo speciale :: R1 Contiene l indirizzo IPv6 target e, come opzione, l indirizzo di Livello 2 dell Host H2 (*) H3 IPv6 Neighbor Solicitation H1 H2 (*) L opzione è inserita se e solo se l indirizzo IPv6 sorgente è diverso dall indirizzo speciale :: Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 50
Address Resolution (2/2) Un nodo risponde a un messaggio ICMPv6 Neighbor Solicitation con un messaggio ICMPv6 Neighbor Advertisement Indirizzo destinazione : l indirizzo IPv6 dell Host che ha inviato il messaggio Neighbor Solicitation, oppure l indirizzo multicast FF02::1 nel caso in cui l indirizzo IPv6 sorgente del messaggio Neighbor Solicitation sia l indirizzo speciale :: Indirizzo sorgente : un indirizzo lpv6 qualsiasi dell interfaccia che emette il messaggio R1 Contiene l indirizzo IPv6 target contenuto nel messaggio Neighbor Solicitation e l indirizzo di Livello 2 dell Host target (es. H1) H3 Neighbor Advertisement IPv6 H1 H2 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 51
Protocolli correlati ICMPv6 Neighbor discovery Autoconfigurazione Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 52
Assegnazione degli indirizzi IPv6 router(config-if)# ipv6 address... Configurazione Manuale Server DHCP Autoconfigurazione Stateful Autoconfigurazione Stateless Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 53
Protocolli correlati ICMPv6 Neighbor discovery Autoconfigurazione Modalità stateless Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 54
Autoconfigurazione stateless Il processo di autoconfigurazione stateless riguarda la generazione di indirizzi Link-Local e Global degli Host e il processo di Duplicate Address Detection per verificare l unicità degli indirizzi assegnati Non richiede alcuna configurazione manuale degli Host, a volte minima dei Router Non richiede server aggiuntivi Il meccanismo stateless permette agli Host di generare il proprio indirizzo utilizzando una combinazione di informazioni disponibili localmente e informazioni diffuse dai Router Il prefisso viene comunicato agli Host direttamente dai router Per determinare l Interface ID viene utilizzato il metodo EUI-64 modificato Utilizza i messaggi ICMPv6 Router Advertisement e Router Solicitation Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 55
Funzionamento (1/3) R1 fe80::c800:15ff:fe4c:8 2001:1:2:3::1/64 2001:1:2:3::/64 H2 fe80::3ba7:94ff:fe07:cbd0 2001:1:2:3:3ba7:94ff:fe07:cbd0 H3 fe80::c802:15ff:fe4c:8 L Host H3 viene connesso alla sottorete e subito crea il suo indirizzo IPv6 Link-local (fe80::c802:15ff:fe4c:8) L indirizzo Link-Local generato è del tipo EUI-64 modificato NOTA: per semplicità non mostriamo la procedura per la verifica dell unicità Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 56
Funzionamento (2/3) R1 fe80::c800:15ff:fe4c:8 2001:1:2:3::1/64 2001:1:2:3::/64 IPv6 Router Solicitation H2 fe80::3ba7:94ff:fe07:cbd0 2001:1:2:3:3ba7:94ff:fe07:cbd0 H3 fe80::c802:15ff:fe4c:8 L Host H3 invia uno o più messaggi Router Solicitation al fine di ottenere dal Router R1 un messaggio Router Advertisement Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 57
Funzionamento (3/3) Esempio (continuazione) R1 fe80::c800:15ff:fe4c:8 2001:1:2:3::1/64 Router Advertisement IPv6 2001:1:2:3::/64 H2 fe80::3ba7:94ff:fe07:cbd0 2001:1:2:3:3ba7:94ff:fe07:cbd0 H3 fe80::c802:15ff:fe4c:8 2001:1:2:3:c802:15ff:fe4c:8 Il Router R1 invia in risposta al messaggio Router Solicitation un messaggio Router Advertisement contenente il prefisso 2001:1:2:3::/64 L Host H3, sulla base del prefisso ricevuto (2001:1:2:3::/64), genera l indirizzo globale del tipo EUI-64 modificato (2001:1:2:3:c802:15ff:fe4c:8) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 58
Protocolli correlati ICMPv6 Neighbor discovery Autoconfigurazione Modalità stateful (cenni sul DHCPv6) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 59
Generalità Il protocollo DHCPv6 (DHCP per IPv6) abilita uno o più server DHCPv6 a passare ai nodi IPv6 parametri di configurazione come indirizzi IPv6, default gateway, indirizzi dei server DNS, ecc. Due modalità di operazione Stateful Stateless (DHCPv6-lite) Server DHCPv6... Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 60
Stateful DHCPv6: funzionamento (1/2) I router presenti sulla sottorete informano gli Host della presenza di server DHCP, attraverso il messaggio ICMPv6 Router Advertisement La presenza di un server DHCPv6 è segnalata mediante il bit M = 1 Per velocizzare il processo per rilevare la presenza di server DHCPv6, è possibile richiedere il messaggio Router Advertisement con l invio di un messaggio Router Solicitation R1 Bit M = 1 1 Router Advertisement IPv6 C H3 DHCPv6 Client DHCPv6 Server Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 61
Stateful DHCPv6: funzionamento (2/2) Sulla base dell informazione ricevuta via RA, un Host (DHCPv6 Client) che abbia bisogno di parametri di configurazione (es. indirizzo IPv6, indirizzo del server DNS, ecc.), invia un messaggio DHCPv6 Solicit per contattare un server DHCPv6 L handshake tra DHCPv6 Client e server DHCPv6 procede quindi in modo simile a quanto avviene con il DHCP per IPv4 R1 Bit M = 1 1 Router Advertisement IPv6 2 Solicit C 3 Advertise H3 4 Request DHCPv6 Client 5 Reply DHCPv6 Server Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 62
DHCPv6 Relay Agent Analogamente a quanto avviene nel DHCP per IPv4, se il server DHCPv6 si trova su una sottorete diversa, la comunicazione verso il server DHCPv6 avviene tramite un DHCP Relay Agent Il DHCP Relay Agent incapsula i messaggi ricevuti dal DHCPv6 Client e li inoltra al server DHCPv6 Nella direzione opposta, decapsula i messaggi ricevuti dal server DHCPv6 R1 DHCPv6 Relay Agent DHCPv6 Server DHCPv6 Client Solicit Advertise Request Reply Relay-Forw Relay-Reply Relay-Forw Relay-Reply Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 63
Stateless DHCPv6 (DHCPv6-lite) Stateless DHCPv6 (anche noto come DHCPv6-lite) è una versione semplificata del DHCPv6 Stateful Utilizza l autoconfigurazione Stateless Il ruolo del Server DHCPv6-lite è solo quello di fornire informazioni aggiuntive come l indirizzo IPv6 di Server DNS, NTP, il nome di dominio, ecc. Utilizza un handshake molto semplice basato su due messaggi DHCPv6 R1 Bit M = 0 & O = 1 1 Router Advertisement IPv6 2 Information-request C 3 Reply H3 DHCPv6 Client Server DHCPv6-lite Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 64
Integrazione e transizione IPv4-IPv6: scenari e Modelli Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 65
Le difficoltà della transizione La transizione è necessaria principalmente per garantire l interoperabilità con macchine IPv4-only L interoperabilità con macchine IPv6-only non è al momento un problema IPv4 e IPv6 sono protocolli completamente diversi e non in grado di interoperare Migrazione Apparati Reti Host Applicazioni Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 66
Migrazione degli apparati di rete Problema che si pone solo per apparati di Livello 3 (router, multilayer switch) In passato si sono verificati problemi in apparati di Livello 2 con funzioni particolari (es. IGMP snooping), a causa di bug software Migrazione risolta con l approccio Dual Stack Gli apparati implementano entrambi i protocolli IPv4 e IPv6 Implica l implementazione di protocolli e tabelle di routing, liste di accesso, filtri vari, specifici per IPv6 IPv4 IPv6 Livello Data-link Livello fisico Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 67
Migrazione degli Host Approccio Dual Stack Gli Host implementano entrambi i protocolli IPv4 e IPv6 In una fase iniziale tutti i Sistemi Operativi continueranno a supportare anche IPv4 Tutti i nuovi Host dovranno poter continuare a comunicare con i vecchi Host IPv4 Un Host Dual Stack Ha almeno un indirizzo IPv4 e gli indirizzi IPv6 necessari E registrato sul DNS sia con l indirizzo IPv4 che IPv6 Usa IPv4 per comunicare con altri host IPv4 Usa IPv6 per comunicare con altri host IPv6 Può usare tunneling per raggiungere un host IPv6 non locale se sul link non c è un router IPv6 Limiti Non riduce il fabbisogno di indirizzi IPv4 Aumenta la complessità della rete API Socket v6 compatibili v4 Applicazioni v4/v6 Trasporto (TCP/UDP) IPv4 MAC Fisico Interfaccia logica di tunnelling IPv6 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 68
Dual Stack : risoluzione tramite DNS (1/2) Server DNS Query www.ssgrrv4.com? IPv4-only Resource Record di tipo A 194.15.12.65 www.ssgrrv4.com 194.15.12.65 IPv4 200.12.23.34 IPv6 2c03:1234:abcd:1::1111 IPv6-only www.ssgrrv6.com 2a01:2345:1111:abcd::1 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 69
Dual Stack : risoluzione tramite DNS (2/2) Server DNS Query www.ssgrrv6.com? IPv4-only Resource Record di tipo AAAA 2a01:2345:1111:abcd::1 wwww.ssgrrv4.com 194.15.12.65 IPv4 200.12.23.34 IPv6 2c03:1234:abcd:1::1111 IPv6-only www.ssgrrv6.com 2a01:2345:1111:abcd::1 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 70
Router Dual Stack IPv4 IPv4 Dest. Next-Hop 20.1/16 Interfaccia: X 50.2/16... Interfaccia: Y I P v 4... X IPv4 IPv6 IPv6 Dest. 2a01:1::/32 2a01:2::/32 Next-Hop Interfaccia: Y Interfaccia: Z I P v 6 Y IPv6 Le interfacce di un router Dual Stack distinguono i pacchetti IPv4 e IPv6 dai campi Ethertype/Protocol Type di Livello 2 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 71
Migrazione delle reti Soluzioni NAT-based NAT-PT (NAT-Protocol Translation): non più supportato da IETF (RFC 4966) DS-lite (Dual Stack leggero) NAT64 Utilizzo di tecniche di Tunneling Nelle reti IPv4-only Tunnel statici (IPv6-in-IPv4, GRE) : richiedono una configurazione manuale Tunnel automatici : 6to4, 6rd, ISATAP, TEREDO, Tunnel Broker Nelle reti IPv4 + MPLS 6PE 6VPE Pseudowires (servizio VPWS) VPLS (Virtual Private Lan Service) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 72
Soluzioni NAT-based Host IPv4 (indirizzo privato) IPv4 Carrier Grade NAT IPv4 IPv6 Rete IPv6 IPv6 IPv4 Rete IPv4 Internet IPv4 Host IPv6 IPv6 Le soluzioni NAT-based sono basate su una qualche forma di NAT, svolta da router presenti nella rete dell ISP (router CGN, Carrier Grade NAT) Sono utilizzate per premettere la comunicazione di Host IPv4 con indirizzamento privato, o Host IPv6, con l Internet IPv4 Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 73
Tunneling in reti IPv4-only R1 IPv6 IPv4 Tunnel IPv6-in-IPv4/GRE R2 IPv6 Rete IPv4-only IPv6 Il pacchetto IPv6 è inserito in un pacchetto IPv4 che ha Protocol Type funzione del tipo di protocollo di tunneling utilizzato IPv6-in-IPv4 = 41 ; GRE = 47 Due tipologie: punto-punto e punto-multipunto Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 74
Tunneling in reti IPv4 + MPLS IPv6 L1 L2 P IPv6 L1 PE-1 LSP PE-PE PE-2 IPv6 Rete IPv4 + MPLS IPv6 CE-1 CE-2 Il pacchetto IPv6 viene inoltrato sulla rete IPv4+MPLS con una o più etichette MPLS (normalmente due) Maggiori dettagli nelle sezioni dedicate ai servizi 6PE e 6VPE Alcuni servizi (VPWS e VPLS) prevedono l incapsulamento delle trame di Livello 2 (che possono trasportare qualsiasi protocollo, tra cui ipv6) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 75
Ultima diapositiva (finalmente ) Copyright Reiss Romoli IP Next Generation : il protocollo IPv6 Versione 1.2 - Marzo 2011 76