ipv6 - breve panoramica tra mito e realtà

40
IPv6 Una breve panoramica

Upload: consulthinkspa

Post on 16-Jul-2015

212 views

Category:

Education


1 download

TRANSCRIPT

IPv6Una breve panoramica

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

IPv6

IPv6

RIPE 5 Star Program

12

Il Governo Americano

IPv6

Come si sta muovendo?

13

IPv6 14

IPv6

IPv6

Quanto traffico IPv6 passa

15

IPv6

IPv6

Crescita dell’IPv6

16

IPv6

Percentuale di traffico IPv6 in arrivo sull’infrastruttura Google

IPv6

Dati Google

17

IPv6

IPv6

Dati Google per Country

18Altri Dati: http://6lab.cisco.com/stats/index.php?option=all

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

Raccomandazioni RIPE

IPv6

Aziende

21

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