IPv6 - Breve panoramica tra mito e realtà
-
Upload
consulthinkspa -
Category
Education
-
view
210 -
download
1
Transcript of IPv6 - Breve panoramica tra mito e realtà
IPv6
Mito – L’IPv6 non si usa. Non sarà usato nei prossimi anni e forse non arriverà mai
Realtà – L’IPv6 è già in uso e si sta diffondendo rapidamente
Mito – L’IPv6 è simile all’IPv4, ha solo molti più indirizzi, ma funziona nello stesso modo
Realtà – L’IPv6 è un protocollo nuovo, somiglia all’IPv4, ma è anche molto diverso e presenta molte nuove caratteristiche
Mito – L’IPv6 è sicuro perché ha un modulo di sicurezza integrato
Realtà – La presenza nativa del modulo IPSEC non rende di per se il protocollo più sicuro
Mito – L’IPv6 evita il NAT, ma il NAT serve anche a fare sicurezza. Si perderà in sicurezza con l’avvento dell’IPv6 se non si usa il NAT
Realtà – Bisognerà cambiare approccio, ma la stesso livello di sicurezza (e anche superiore) può essere ottenuto anche senza NAT (RFC4864 Local Network Protection for IPv6)
IPv6
Tra miti e realtà
2
Domande: Quanti di noi hanno connettività IPv6 a casa?
Quanti di noi si trovano in ambienti lavorativi in cui si usa IPv6 o si comincia a testarlo?
AS611.0.0.0
131.40.0.0194.5.32.0
BGP
AS116.3.2.0
85.13.0.0
AS589.43.1.076.52.32.0
AS223.0.0.0
AS3123.45.6.0
12.2.0.0208.43.0.0
AS48.8.0.0
34.65.13.0
BGP
BGP
BGP
BGP
BGP
BGP
Fine degli anni ‘80
IPv6
Problema 1 - Crescita delle tabelle di Routing
3
• A fine anni ‘80 l’IETF si accorge che la crescita indiscriminata delle tabelle di routing avrebbe potuto impattare negativamente sulla crescita di Internet
Reti IPv4 nei primi anni ‘90 Crescita fino ad oggi
512K Day
Molti router sul backbone hanno raggiunto il limite hardware sulla
TCAM (512K entry)
E’ stato necessario modificare le impostazioni e riavviare i router
Su molti modelli il limite è di 1 Milione di entry
IPv6
12 Agosto 2014
4
Huitema - Durand
Analizzano l’efficienza dei piani di numerazione delle reti telefoniche
Definiscono un rapporto noto come Host Density-Ratio
Ipotizzando un HD-Ratio compreso tra 0.7 e 0.9 stimano l’esaurimento degli indirizzi IPv4 nell’anno 1999 (erano i primi anni ‘90)
IPv6
Problema II - Il rapporto H-D e l’esaurimento degli indirizzi
5
Rete HD-Ratio
Rete telefonica francese (8 numeri) 0.875
Rete telefonica francese (9 numeri) 0.778
Host-Density Ratio
0 1Inefficiente
(Nessun indirizzo usato)Efficiente
(Tutti gli indirizzi usati)
La reazione dell’IAB/IETF
L’IETF si muove su due binari paralleli
Progettazione e realizzazione di un nuovo protocollo che dovrà risolvere i
problemi in modo definitivo
Progettazione e introduzione di nuove tecnologie su IPv4 per prolungarne
la vita utile, in attesa che il nuovo protocollo sia pronto e si possa
diffondere
IPv6
Soluzioni ai problemi
6
IPv6
WG IPng
RFC 1631 (Maggio ‘94) – NAT
RFC 1918 (Feb ‘96) – Classi Private
RFC 4632 (Agosto ‘06) – CIDR
RFC 1519 (Sett ’93) – VLSM
RFC 6598(Aprile ‘12) – CGN Shared Address Space
IPv4
IPv5
Protocollo che doveva occuparsi del QoS end to end
Condivideva lo stesso header dell’IPv4, ma aveva Version
Number 5
Si doveva usare in parallelo all’IPv4
Oggi si usa il protocollo RSVP (Resource Reservation Protocol)
per ottenere Hard QoS
IPv6
Internet Stream Protocol
7
IPv6
Il WG “IPng” viene creato nel 1993 e qualche tempo dopo viene
creata la rete 6BONE per la sperimentazione del nuovo
protocollo
6BONE viene ‘chiusa’ il 6 giugno 2006 (6-6-2006) e nello stesso
giorno finisce la sperimentazione del nuovo protocollo
Il Governo Americano nel 2004 comincia la migrazione delle sue
macchine su IPv6, e chiede ai vendor di fornire macchine con
stack compliant al nuovo protocollo
IPv6
Step importanti
8
IPv6
La migrazione sarà lenta e complessa
I due protocolli (IPv4 ed IPv6) coesisteranno per lungo tempo
Negli ultimi 10 anni non sembra essersi diffuso all’interno delle reti
DOMANDE:
Qualcuno lo usa ?
Quanto ?
Si sta diffondendo ?
IPv6
Diffusione e migrazione
9
FASE IINTERNET SERVICE PROVIDER
FASE IISITI AZIENDALI E INTRANET
IPv6
I moderni sistemi operativi danno precedenza allo stack IPv6
RIPE non assegna più indirizzi IPv4 ai LIR a meno che non si
richieda un prefisso IPv6
RIPE non assegna altri indirizzi IP se non si arriva almeno ad un
HD Ratio pari a 0.95
IPv6
Cosa si sta facendo per facilitarne la diffusione
10
IPv6
IPv6
Percentuale di AS che annunciano reti IPv6
11
I grafici misurano la percentuale di reti che annunciano IPv6, ma non
quanto sia diffuso l’uso del protocollo all’interno della rete, né quanto siano
grosse le reti
RIPE
A settembre ‘12 RIPE annuncia
che rimane solo una classe /8
disponibile
Viene modificata la policy per
l’assegnazione degli IP
IPv6
Fasi e Policy
19
Esaurimento IPv4
Nel 2011 Microsoft acquista 660K IPv4 pagando 7.5 Milioni di
dollari
IPv6
Aziende “Illuminate”
20
I ‘difetti’ del protocollo IPv4
Spazio di indirizzamento troppo piccolo
Aumento esponenziale della dimensione delle tabelle di routing BGP
Nessun meccanismo di sicurezza
Scarsa efficienzaNon ottimizzato per processori moderni
Introduzione di ritardi a causa del calcolo del CRC
Introduzione di ritardi a causa della frammentazione
Traffico di broadcast
Autoconfigurazione
Estrema difficoltà di renumbering
Scarso supporto ed uso del Multicast
Introduzione di ritardi e rottura del modello ‘End-to-End’ a causa del NAT
Non facile espandere o modificare lo standard per accomodare nuove esigenze
Difficoltà nell’implementazione delle tecniche di QoS
Difficile gestione del Multihoming
Nessun supporto al MobileIP
IPv6
Impariamo dall’esperienza
22
+ di 30criticità
IPv6 vs IPv4
L’header IPv6 è stato notevolmente semplificato
Ha lunghezza fissa di 40 byte
IPv6
Gli header a confronto
23
Indirizzi IPv6
L’indirizzo IPv6 è grande 128 bit
Si rappresenta in esadecimale, in 8 gruppi da 2 byte ciascuno separati da :
Gli zeri iniziali di un gruppo possono essere omessi
Se vi sono degli zeri contigui è possibile ometterli e rappresentarli con:: (1 sola volta)
IPv6
Difetto 1: Spazio d’indirizzamento troppo piccolo
24
2001:DB8:1C::FF:FEAB:01CA
Traffico IPv6
Unicast – Traffico da un host destinato ad un solo host
Multicast – Traffico da un host destinato ad un gruppo
di host
Anycast – Traffico da un host destinato ad un host (il
più “vicino”)
Quanti IP?
IPv4
232 = 4.3 miliardi
7.277.624.250 di persone sulla terra
0.56 IPv4 a testa
IPv6
2128 = 3.40 • 1038
7.277.624.250 di persone sulla terra
4.67•1028 (4.67 miliardi di miliardi di miliardi) IPv6 a testa
IPv6
Proviamo a fare qualche semplice calcolo…
25
• 1022 granelli di sabbia sulla terra
• 1027 grammi è la massa della terra
• 1026 metri è la dimensione dell’universo
osservabile
• 1024 è il numero di stelle nell’universo
1.000.000
10
100
Indirizzi IPv6
L’indirizzo IPv6 ha una struttura fissa ed è costituito da due parti:
Network Prefix – Primi 64 bit
Interface ID – Ultimi 64 bit
IPv6
Struttura di un indirizzo IPv6
26
2001:0DB8:0001:0002: CA7E:1232:BABE:17AE
Network Interface ID
2001:0DB8:0001:0002: Rete IPv6
CA7E:1232:BABE:17AEHost
2001:0DB8:0001:0002/64 Prefix
Indirizzi IPv6
In IPv6 esistono diverse classi di indirizzi e vengono identificate
da un opportuno prefisso
Global – 2000::/3
Link-Local – FE80::/10
Unique-Local
Globally Unique – FC00::/8
Local Generated – FD00::/8
Site-Local (deprecati) – FEC0::/10
Documentazione – 2001:db8::/32
IPv6
Tipologie di indirizzi
27
IPv4 Embedded
IPv4 Mapped - ::ffff:0:0/96
IPv4 Compatible (deprecati)
IPv4 Converted
IPv4 Translatable
Tunnel
Teredo – 2001::/32
ISATAP
6to4 – 64:ff9b::/96 + 2002::/16
Indirizzi IPv6
Indirizzi riservati
::1/128 – Loopback
::/128 – Unspecified
::/0 – Default route
Provider-Independent address space
2001:678::/29
Internet Exchange Point
2001:7f8::/29
Durante la fase di transizione (IPv4-IPv6) potranno comparire indirizzi rappresentati in dotted-quad notation
::ffff:192.173.13.1
IPv6
Indirizzi speciali e riservati
28
Indirizzi IPv6
La struttura dell’indirizzo è ben definita per consentire
il più possibile l’uso della summarization in modo tale
da contenere la crescita della dimensione delle
tabelle BGPIPv6
Difetto II: Aumento delle dimensioni delle tabelle BGP.
Allocazione e Summarization
29
2001:0D
/23 - RIR
2001:0DB8:0001:0002::/64
B8:
/0
- APNIC- ARIN- RIPE- LACNIC- AfriNIC
/32- LIR
512 Provider
0001:
/48- Customer
65536 Clienti
0200:
/64- Subnet
65536 Reti
PREFIX:
CA7E:1232:BABE:17AE
/128 Host
INTERFACE ID
Indirizzi IPv6
La parte di Interface ID viene generalmente ottenuta tramite
espansione EUI-64:
Si prende il MAC Address della scheda di rete che è di 48 bit
Lo si espande a 64 bit inserendo al centro il tag: FF FE
Per privacy, la parte di Interface ID può essere generata anche in
maniera casuale, dando vita ai:
Random Address
Temporary Address
IPv6
Generazione dell’Interface ID: Privacy Extensions
30
0000:0CAB:77E3
0000:0C FF:FE AB:77E3
IPv6 Sicurezza
IPv6 integra in modo nativo diverse tecnologie che servono a
mitigare attacchi sulla rete. Le più importanti sono:
IPSEC
Protocollo di sicurezza che consente di ottenere End-to-End:
Cifratura
Integrità
Autenticazione
IKEv1/v2
Protocollo di sicurezza per lo scambio dinamico delle chiavi e delle Security
Association IPSEC
First Hop Security
SeND
CGA
IPv6 RA-Guard
IPv6
Difetto III: Nessun meccanismo di sicurezza
IPSEC e First Hop Security
31
IPv6 Ottimizzazioni
IPv4 non ottimizzato per moderne CPUIPv6 ha l’header allineato a 64 bit
IPv4 introduce ritardi considerevoli a causa del calcolo del CRCIPv6 non calcola il CRC. Il campo è stato rimosso
I router in IPv4 introducono considerevoli ritardi a causa del fenomeno della frammentazione
IPv6 non ammette frammentazione
E’ obbligatorio avere una MTU minima di 1280 byte
E’ nativo il supporto alla tecnologia PMTUD che deve sempre essere usata
Se strettamente necessario, è previsto un header di frammentazione
In IPv4 si usa traffico di broadcast molto inefficiente (si pensi all’ARP)
IPv6 non usa più traffico di Broadcast, che viene sostituito dal molto più efficiente traffico di multicast e non usa più ARP per la risoluzione L3/L2
IPv6
Difetto IV: Scarsa efficienza
32
IPv6 Ottimizzazioni
IPv4 non consente autoconfigurazione (se non limitatamente con indirizzi APIPA)
IPv6 supporta autoconfigurazione tramite l’uso degli indirizzi Link-Local
IPv4 non consente un renumbering (cambio del piano di indirizzamento) agevole delle reti (di solito è un’operazione complicata e costosa)
IPv6 introduce due tipi di configurazione per gli indirizzi. Queste tecnologie agevolano il renumbering (quasi) automatico delle reti
StateLess Address AutoConfiguration (SLAAC)
DHCPv6Prefix Delegation
IPv4 fa un uso molto limitato (e spesso inefficiente e complicato) del traffico multicast
IPv6 usa pesantemente il traffico multicast che diventa ‘scoped’
Le reti IPv4 richiedono l’uso massivo del NAT, che introduce latenza e crea molti problemi
IPv6 non prevede l’uso del NAT se non in contesti molto limitati e per scopi specifici
IPv6
Difetto IV: Scarsa efficienza
33
IPv6 Extension Header
La struttura fissa dell’IPv4 rende il protocollo difficilmente
modificabile
IPv6 utilizza il concetto di Next-Header tramite il quale è
possibile inserire nuovi header ed estendere il protocollo se
necessario
Esempi di Next-Header
Encapsulating Security Payload Header
Authentication Header
Hop-by-Hop
Destination Options
Routing Header
Mobility Header
Fragment Header
IPv6
Difetto V: Non facile modificare o estendere lo standard
34
Fragment Header
IPv6 QoS
In IPv4 si utilizza il campo ToS ed in particolare i tre bit di IP
Precedence per fare QoS
RFC successivi introducono DSCP
Ambiguità e situazione non uniforme
IPv6 Introduce il campo Traffic Class che rende uniforme
l’interpretazione
IPv6 Introduce anche un nuovo campo chiamato Flow Label
Dovrebbe servire principalmente per migliorare la parte di QoS
Ancora non è ben chiaro come utilizzarlo
IPv6
Difetto VI: Difficoltà nelle implementazioni delle tecniche
QoS
35
IPv6 QoS
In IPv4 fare multihoming è complesso e costoso
IPv6 semplifica notevolmente la possibilità di realizzare reti
multihomed
In IPv4 realizzare la mobility è complesso e costoso
IPv6 rende possibile la mobility e la semplifica
IPv6
Difetti VII e VIII: Multihoming e IP Mobile
36
IPv6
In IPv4 lo stack deve supportare altri tre protocolli per garantire il corretto funzionamento delle reti
ARP – Risoluzione L2/L3 (Arp Request/ARP Reply)
ICMP – Messaggistica ed errori (Echo, Unreacheable, TTL Exceeded, Redirect,…)
IGMP – Gestione del Multicast (Query, Join, Leave)
In IPv6 i tre protocolli vengono accorpati in un nuovo protocollochiamato ICMPv6
ICMP Neighbor Discovery o ND – Svolge le funzioni che prima erano proprie dell’ARP (aggiungendone di nuove, per esempio la tecnologia DAD – Duplicate Address Detection)
ICMP Multicast Listener Discovery o MLD – Svolge le funzioni che prima erano proprie dell’IGMPv3
Mantiene solo alcuni dei messaggi ICMP
IPv6
Gli altri protocolli
37
IPv6
In IPv6 non vi è più l’ARP Table, ma una IPv6 neighbor table
Un computer con uno stack IPv6 avrà probabilmente più indirizzi
IPv6 su una singola interfaccia. Quando cerca di stabilire una
connessione quale degli indirizzi deve usare?
Si utilizza un algoritmo noto come Source Address Selection (SAS)
Un host che vuole contattare un server che ha più indirizzi IPv6,
deve scegliere quale indirizzo IPv6 utilizzare
Si utilizza un algoritmo noto come Destination Address Selection
L’RFC che descrive gli algoritmi è il 6724 – Default Address
Selection
IPv6
Nuovi algoritmi e nuove strutture dati
38
IPv6
Il pc appena acceso genera un indirizzo Link-Local
Utilizza il prefisso riservato FE80::/10
Effettua una espansione EUI-64 e la utilizza come Interface ID
Grazie al meccanismo DAD è in grado di rilevare se l’indirizzo è già in uso, nel caso (evento raro) lo cambia
Invia un pacchetto ICMP ND di tipo RS (Router Solicitation) all’indirizzo di multicast well-known con scope Local FF01::2 (All-routers) a cui tutti i router del segmento sono iscritti
Tutti i router rispondono con un messaggio ICMP RA (Router Advertisement) all’indirizzo di multicast well-known con scope Local FF01::1 (All-nodes)notificando:
Uno o più prefissi IPv6, con i rispettivi preferred e valid lifetime
La necessità di richiedere un indirizzo ad un server DHCPv6
Eventuali altre opzioni (priorità del router, dns,…)
Il pc riceve i prefissi IPv6 e genera un indirizzo per ognuno di essi utilizzando il proprio Interface ID
Genera un Solicited Node address e si iscrive al gruppo multicast (il solicitednode address si ottiene dal prefisso FF02::1:FF00/104 più i 24 bit
IPv6
Uso di ND e Solicited Node Address
39
FE80::CC43:AAFF:FE44:DBDB
FE80::ABAB:CEFF:FEDE:BBBB
RS
RA
Prefix is 2001:DB8:71/64
2001:DB8:71::CC43:AAFF:FE44:DBDB
FF02::1:FF00:44:DBDB
Preferred: 86400 Valid: 180000
Solicited Node
IPv6
Quando un pc necessita di comunicare con un altro nodo deve prima popolare la neighbortable utilizzando il messaggio di NeighborSolicitation (NS)
Il messaggio NS viene inviato all’indirizzo di multicast del Solicitednode che si può calcolare dall’indirizzo IPv6
L’host risponde con un messaggio di NeighborAdvertisement che fornisce il MAC AddressIPv6
Uso di ND e Solicited Node Address
40
Ping 2001:DB8:71::CC43:AAFF:FE44:DBDB
2001:DB8:71:: ABAB:CEFF:FEDE:BBBB
2001:DB8:71::CC43:AAFF:FE44:DBDB
NS DA: FF02::1:FF00:44:DBDB
DMAC: 33:00:44:DBDB
NA DA: 2001:DB8:71:: ABAB:CEFF:FEDE:BBBB