La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 IPv6 Internet of Things (IoT) Lauree Magistrali in Ing. delle Telecomunicazioni, dell’Automazione e Informatica Docente: Luigi Alfredo Grieco, PhD.

Presentazioni simili


Presentazione sul tema: "1 IPv6 Internet of Things (IoT) Lauree Magistrali in Ing. delle Telecomunicazioni, dell’Automazione e Informatica Docente: Luigi Alfredo Grieco, PhD."— Transcript della presentazione:

1 1 IPv6 Internet of Things (IoT) Lauree Magistrali in Ing. delle Telecomunicazioni, dell’Automazione e Informatica Docente: Luigi Alfredo Grieco, PhD

2 Sommario Perché Ipv6? Caratteristiche IPv6 Header Indirizzi ICMP Neighbor Discovery Transizione IPv6 Dual-stack Tunnel Traduzione

3 Perché IPv6? 1993

4 Perché IPv6? 2000

5 Perché IPv6? Projected IANA Unallocated Address Pool Exhaustion: 12-Jan-2011 Projected RIR Unallocated Address Pool Exhaustion: 28-Nov-2011 2007

6 Larghezza spazio degli indirizzi

7 Caratteristiche di IPv6 Spazio di indirizzamento più grande (indirizzi a 128 bit) Nuovo formato dell’header progettato per minimizzare l’overhead Infrastruttura di routing e schema di indirizzamento progettati per essere efficienti e gerarchici Configurazione stateful e stateless degli indirizzi Supporto built-in per la sicurezza (è implementato l’IPSec) Supporto per la QoS (nuovi campi nell’header) Meccanismo di Neighbor Discovery Jumbograms Mobile IPv6

8 Confronto header IPv4 e IPv6 Fragment Offset Flags Total LengthType of ServiceIHL PaddingOptions Destination Address Source Address Header ChecksumProtocolTime to Live Identification Version Next Header Hop Limit Flow LabelTraffic Class Destination Address Source Address Payload Length Version IPv4 Header Header IPv6 Header - field’s name kept from IPv4 to IPv6 - fields not kept in IPv6 - Name & position changed in IPv6 - New field in IPv6 Legend

9 Cambiamenti dell'header Semplificato Il campo fragmentation non non fa più parte del base header Le opzioni IP non fanno più parte del base header Eliminato header checksum Eliminato Header Length Il campo Length esclude l'IPv6 header L'allineamento passa da 32 a 64 bit Cambiato Time to Live => Hop Limit Protocol => Next Header Precedence & TOS => Traffic Class Ampiezza indirizzo 32 bit => 128 bit Esteso Aggiunto campo Flow Label

10 Extension header next header = TCP TCP header + data IPv6 header next header = Routing TCP header + dataRouting header next header = TCP IPv6 header next header = Routing fragment of TCP header + data Routing header next header = Fragment Fragment header next header = TCP IPv6 header

11 Extension Header: caratteristiche Precessati generalmente solamente dal nodo destinazione  molto meno overhead rispetto all'IPv4 Eccezione: Hop-by-Hop Options header Eliminato il limite di 40 byte dell'IPv4 in IPv6, limit is total packet size, or Path MTU in some cases Option header attualmente definiti: Fragment, Hop-by-Hop Options, Routing, Authentication, Encryption, Destination Options

12 Tipi di Extension Header Hop-by-hop Options Header: trasporta informazioni che devono essere esaminate da ogni nodo lungo il percorso del pacchetto Routing Header: indica uno o più nodi intermedi che devono essere attraversati dal pacchetto nel percorso verso la destinazione Fragment Header: l’host mittente deve frammentare il pacchetto se ha dimensione maggiore rispetto al Path MTU (determinato tramite Path MTU Discovery) Destination Options Header: trasporta informazioni che devono essere esaminate solo dal nodo destinatario Authentication Header: garantisce autenticazione ed integrità dei dati Encapsulating Security Payload Header: garantisce riservatezza, autenticazione ed integrità dei dati

13 Frammentazione e Path MTU Discovery La frammentazione in IPv6 è una funzione end- to-end I router NON frammentano i pacchetti Se un pacchetto è troppo grande per l'MTU del prossimo link i router inviano un ”ICMP packet too big” Viene implementato di default il meccanismo di Path MTU Discovery, mentre in IPv4 è opzionale Next Header Original Packet Identifier ReservedFragment Offset0 0 M

14 Notazione Indirizzi IPv6 Notazioni equivalenti per indicare un indirizzo IPv6: FE80:0000:0000:0000:0202:B3FF:FE1E:8329 FE80:0:0:0:202:B3FF:FE1E:8329 FE80::202:B3FF:FE1E:8329 Indirizzi IPv6 letterali negli URL: http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7348]/ https://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443/ Link local: fe80::1122:33ff:fe11:2233%eth0

15 Tipi di Indirizzo IPv6 Unicast Identifica univocamente una interfaccia Un pacchetto inviato a tale indirizzo è consegnato solo alla relativa interfaccia Multicast Identifica un gruppo di interfacce Un pacchetto inviato a tale indirizzo è consegnato a tutti i membri del gruppo Anycast Identifica più interfacce, di solito su nodi diversi Un pacchetto inviato a tale indirizzo è consegnato solo ad una di queste interfacce Eliminato il Broadcast

16 Indirizzi IPv6: caratteristiche Gli indirizzi sono assegnati alle interfacce: Cambiamento rispetto a IPv4: Le interfacce hanno più indirizzi Gli indirizzi hanno uno scope: Link Local Site Local Global Gli indirizzi hanno un tempo di validità Valid and Preferred lifetime

17 Indirizzi unicast Struttura generale dell’indirizzo IPv6: Global unicast addresses Link-local addresses (fe80::/10) Site-local addresses (deprecati) (fec0::/10) Unique local IPv6 unicast addresses (privati) (fc00::/7) Special addresses, loopback (::1), unspecified (::)

18 Tipi di indirizzi IPv6 Address type Binary prefixHex Prefix Ipv4-compatible (depr) 0000...0 (96 zero bits) ‏ Ipv4-mapped::ffff:a.b.c.d global unicast001 link-local unicast1111 1110 10FF80::/10 site-local unicast1111 1110 11FFC0::/10 multicast1111 1111FF00::/8 Tutti gli altri sono riservati (circa. 7/8 del totale)‏ Gli indirizzi anycast utilizzano prefissi unicast

19 Indirizzi IPv6 FP (10bits) ‏ Interface ID (64bits) ‏ 1111111010MAC derived RESERVED (54bits) ‏ MUST be 0 Link Local Site Local FP (10bits) ‏ Interface ID (64bits) ‏ 1111111011MAC derived or Locally Administered Subnet (38bits) ‏ Locally Administered Subnet (16bits) ‏ Locally Administered Global FP (3bits) ‏ Interface ID (64bits) ‏ 001MAC derived or Locally Administered or Random Registry / provider assigned (45bits) ‏ Provider Administered Subnet (16bits) ‏ Locally Administered

20 Multicast flag field low-order bit indicates permanent/transient group (three other flags reserved)‏ scope field: 1 - node local8 - organization-local 2 - link-localB - community-local 5 - site-localE - global (all other values reserved)‏ map IPv6 multicast addresses directly into low order 32 bits of the IEEE 802 MAC FP (8bits) ‏ Flags (4bits) ‏ Scope (4bits) ‏ Group ID (32bits) ‏ 11111111000TLcl/Sit/GblLocally administered RESERVED (80bits) ‏ MUST be 0

21 Source Address Selection Rule 1: Prefer same address Rule 2: Prefer appropriate scope Smallest matching scope Rule 3: Avoid deprecated addresses Rule 4: Prefer home addresses Rule 5: Prefer outgoing interface Rule 6: Prefer matching label from policy table Native IPv6 source > native IPv6 destination 6to4 source > 6to4 destination IPv4-compatible source > IPv4-compatible destination IPv4-mapped source> IPv4-mapped destination Rule 7: Prefer temporary addresses Rule 8: Use longest matching prefix

22 Destination Address Selection Rule 1: Avoid unusable destinations Rule 2: Prefer matching scope Rule 3: Avoid dst with matching deprecated src address Rule 4: Prefer home addresses Rule 5: Prefer matching label from policy table Native IPv6 source > native IPv6 destination 6to4 source > 6to4 destination IPv4-compatible source > IPv4-compatible destination IPv4-mapped source> IPv4-mapped destination Rule 6: Prefer higher precedence Rule 7: Prefer smaller scope Rule 8: Use longest matching prefix Rule 9: Order returned by DNS

23 Protocollo ICMP E’ più potente dell’ICMPv4 e contiene nuove funzionalità Incorpora le funzioni di: IGMP per la gestione dei gruppi multicast IPv4 ARP e RARP per la risoluzione degli indirizzi di livello 2 e 3 Ha nuove caratteristiche come: la procedura di Neighbor Discovery il supporto per il Mobile IPv6 Si possono distinguere due classi di messaggi: messaggi ICMP di informativi Echo Request Echo Reply... messaggi ICMP di errore Destination Unreacheable Packet Too Big Time Exceeded Parameter Problem

24 Neighbor Discovery ICMP message types: router solicitation router advertisement neighbor solicitation neighbor advertisement redirect Funzioni effettuate: router discovery prefix discovery autoconfiguration of address & other parameters duplicate address detection (DAD)‏ neighbor unreachability detection (NUD)‏ link-layer address resolution first-hop redirect

25 Neighbor Discovery Struttura di un messaggio per la Neighbor Discovery Equivalenza fra le caratteristiche dell’IPv6 e quelle definite per l’IPv4 Router Advertisement message (required)Router Advertisement message (optional) Router Solicitation message (required)Router Solicitation message (optional) Duplicate Address DetectionGratuitous ARP Neighbor cacheARP cache Neighbor Advertisement messageARP Reply message Neighbor Solicitation messageARP Request message IPv6IPv4

26 Neighbor Discovery: Router discovery Definizione del pacchetto Router Advertisement ICMPv6 Type = 134 IPv6 sorgente = indirizzo link-local del router IPv6 destinazione = indirizzo multicast all-node (FF02::1) Dati = router preference, lifetime, opzioni Prefix Information e Source link-layer Address, … Router Advertisement Router Advertisement

27 Neighbor Discovery: Address Resolution Ora A e B possono scambiarsi pacchetti su questo link ICMPv6 Type = 135 IPv6 sorgente = indirizzo di A IPv6 destinazione = indirizzo solicited-node di B Dati = indirizzo link-layer di A Query = qual’è il tuo indirizzo link-layer? Neighbour Solicitation ICMPv6 Type = 136 IPv6 sorgente = indirizzo di B IPv6 destinazione = indirizzo di A Dati = indirizzo link-layer di B Neighbour Advertisement

28 Solicited-Node Multicast Address Struttura dell’indirizzo multicast solicited-node [RFC 2373]: –FF02:0:0:0:0:1:FFXX:XXXX –la sequenza XX:XXXX rappresenta gli ultimi 24 bit dell’indirizzo MAC della scheda cui tale indirizzo è associato. N.B. “solicited-node multicast address - a link-local scope multicast address that is computed as a function of the solicited target's address. …. The function is chosen so that IP addresses which differ only in the high-order bits, e.g., due to multiple high-order prefixes associated with different providers, will map to the same solicited-node address thereby reducing the number of multicast addresses a node must join” [RFC 2461].

29 Ethernet Multicast IPv6 fa un largo uso del supporto livello ethernet del multicasting, che non era molto utilizzato dall'IPv4. Un pacchetto multicast Ethernet è un pacchetto che è destinato potenzialmente a più host, l'insieme dei quali è detto ”multicast group” ed è identificato da un indirizzo a 48-bit, esattamente come avviene per gli host normali. Un indirizzo multicast si distingue dagli altri per avere il bit meno significativo del suo primo byte (ovvero il primo bit trasmesso) settato ad uno, pertanto: 00-C0-4F-68-12-CB è un unicast address 33-33-FF-68-12-CB è un multicast address Si noti che FF-FF-FF-FF-FF-FF, l'indirizzo Ethernet di broadcast, è un indirizzo multicast speciale. Concettualmente, allora, un'interfaccia Ethernet deve mettersi in ascolto non solo per i pacchetti destinati al suo indirizzo unicast, ma anche per quellli indirizzati ai gruppi multicast di cui fa parte

30 Address Lifetime Si sta verificando l’unicità dell’indirizzo ricavato secondo il formato EUI-64, tramite la procedura di DAD [RFC 4429] Sono indicati nell’opzione Prefix Information dei Router Advertisement L’indirizzo non è più valido L’indirizzo è valido, unico, si può usare senza limitazioni L’indirizzo è valido, unico, ma è sconsigliato l’uso per nuove comunicazioni

31 Autoconfigurazione degli host Gli host generalmente costruiscono gli indirizzi dai messaggi di RA: subnet prefix(es) dai messaggi periodici multicast generati dai router ”vicini” L'ID dell'interfaccia è generato localmente MAC addresses : pseudo-random temporary Altri parametri IP-layer vengono comunicati dai messaggi di RA (router addresses, recommended hop limit, ecc.)‏ Informazioni di livello più elevato (indirizzi DNS e NTP, per esempio) vengono comunicati da altri protocolli di livello superiore tramite meccanismi di service location basati su multicast o anycast (anche se ci sono lavori in corso a riguardo, vedi RDNSS, Recursive DNS Server per esempio) È possibile utilizzare DHCPv6

32 Renumbering IPv6 facilita la rinumerazione di una rete: i nuovi indirizzi possono essere introdotti e i vecchi cancellati. Si assume un periodo di sovrapposizione fra vecchi e nuovi indirizzi. I vecchi indirizzi vengono utilizzati finché risultano ancora validi per le connessioni in corso che un cambio di indirizzo interromperebbe. Gli host ricevono il ilfetime di ciascun prefisso dai RA le vecchie connessioni TCP continuano fino alla fine della sovrapposizione. le nuove connessioni usano il prefisso con lifetime più lungo Router Renumbering (RR) protocol, per il renumbering nei router

33 Transizione IPv4/IPv6 Per permettere la transizione sono possibili varie tecniche, che cadono nelle tre categorie seguenti: Dual-stack, per permettere la coesistenza di IPv4 e IPv6 sulla stessa rete. Tunneling, per evitare problemi di dipendenza nel caso si effettui l'upgrade di singoli host, router o regioni Tecniche di traduzione, per permettere device a IPv6-only di comuicare con device IPv4-only

34 Dual stack IPv6 Enabled IPv4-Only Meccanismo preferito Permette le normali operazioni con nodi Address Selection generalmente preferisce IPv6 Dual Stack IPv6 Dominant Transition Mechanism (DSTM) Se (quasi) tutto è dual- stack, la transizione è regolata dal DNS

35 Dual stack DNS stan.v4.com 207.14.182.10 ollie.v6.com 3ffe.2301.1700.1.abcd.1234.dada.1 IPv4-only Host: IPv6-only Host: 199.15.23.87 3ffe:3700:1100:1:210:a4ff:fea0:bc97 Dual-Stacked Host: Query: stan.v4.com? A Resource Record: 207.14.182.10

36 Dual Stack DNS stan.v4.com 207.14.182.10 ollie.v6.com 3ffe.2301.1700.1.abcd.1234.dada.1 IPv4-only Host: IPv6-only Host: 199.15.23.87 3ffe:3700:1100:1:210:a4ff:fea0:bc97 Dual-Stacked Host: Query: ollie.v6.com? AAAA Resource Record: 3ffe.2301.1700.1.abcd.1234.dada.1

37 Tunneling IPv6 Host to Router / Router to Host IPv4 IPv6 IPv4 Host to Host IPv6 IPv4 Router to Router IPv6

38 Tunnel Configured Tunnels Applicazioni: Connettività permanente site-to-site Linee, Service Provider, grandi backbone Tecnologie: GRE, IP-IP, IPSec… MPLS Controllati, deterministici Automatic Tunnels Application: Connettività temporanea Connettività attaverso segmenti ”Ipv6-unaware” Router to Router Host to Router Host to Host Tecnologie: 6to4 ISATAP Teredo? DSTM Eventualmente non deterministici Possibli problemi di sicurezza

39 Determinazione End Point Nei tunnel configurati gli indirizzi IP degli endpoint sono determinati dall'amministratore I tunnel automatici richiedono un meccanismo di determinazione degli indirizzi IP Esistono due approcci: Assegnati da un server autoritativo Tunnel brokers, Teredo, DSTM Incapsuati nell'indirizzo IPv6 6to4, ISATAP

40 Tunnel Broker IPv6 Network Tunnel Broker IPv4 Network Tunnel Server Client DNS 1 2 3 5 4 IPv6 Tunnel 6 7 1.AAA Authorization 2. Configuration request 3. TB chooses: TS IPv6 addresses Tunnel lifetime 4. TB registers tunnel IPv6 addresses 5. Config info sent to TS 6. Config info sent to client: Tunnel parameters DNS name 7. Tunnel enabled

41 6to4: overview Internet IPv4 Internet IPv6-nativa 6to4 Router 6to4 Relay Router Internet IPv6-nativa

42 6to4: indirizzi Il router 6to4 annuncia la rete 2002:c1cc:3b3a::/64. Sono disponibili 16 bit di SLA per l’indirizzamento locale. E’ necessario configurare solo i router. Gli host si autoconfigurano. Il router 6to4 ha indirizzo IPv4 pubblico, ad esempio: 2002C1CC:3B3A0000 193.204.59.58

43 src 2002:c1cc:3b3a:1::3 dst 2002:102:c102:3::25 Ares riceve: Il pacchetto viene instradato nella rete IPv4 fino a Acheron. Acheron capisce che è un pacchetto 6to4, lo decapsula e lo instrada. Il ricevente risponde usando come destinazione l’indirizzo 6to4 del mittente. Quando la risposta arriverà a Acheron, quest’ultimo lo instraderà nel verso contrario. Ares incapsula il pacchetto IPv6 in un pacchetto IPv4: src 193.204.49.36 dst 1.2.49.2 Router 6to4 “Ares” IPv4 = 193.204.49.36 IPv6=2002:c1cc:3b3a::1 Router 6to4 “Acheron” IPv4 = 1.2.49.2 IPv6 = 2002:102:c102::1 Comunicazione fra isole 6to4

44 6to4: comunicazione 6to4 IPv6 nativa Internet IPv4 Internet IPv6-nativa Router 6to4 “Homer” IPv4 = 193.204.49.36 IPv6 = 2002:c1cc:3b3a::1 Relay router 6to4 “Boe” IPv4 = 192.88.99.1 IPv6 = 2002:c058:6301::1 Altro indirizzo IPv6 nativo La destinazione non è un indirizzo 6to4. Il default router di Homer è un “relay router 6to4”, ovvero un router con un indirizzo 6to4 e connesso alla rete IPv6 nativa. Il pacchetto segue il procedimento già illustrato. Quando il pacchetto arriva a Boe, quest’ultimo lo instrada nella rete Ipv6 nativa. In fase di risposta, il pacchetto tornerà a un relay router (lo stesso Boe o un altro) e verrà instradato fino ad Homer. 192.88.99.1 è un indirizzo IPv4 anycast ed è assegnato a più relay router. Il pacchetto sarà instradato pertanto al relay router più vicino!!! src 2002:c1cc:3b3a:1::3 dst 2001:4860:0:1001::68 Homer riceve:

45 6to4 in pratica eth0eth1 tun6to4 # ip tunnel add tun6to4 mode sit ttl 128 remote any local 193.204.59.58 # ip link set dev tun6to4 up # ip addr add 2002:c1cc:3b3a::1/16 dev tun6to4 # ip route add default via ::192.88.99.1 dev tun6to4 metric 1 enable configure terminal interface tunnel 0 ipv6 address 2002:c1cc:3b3a::1/16 tunnel source FastEthernet 0/0 tunnel mode ipv6ip 6to4 exit ipv6 route ::/0 2002:c058:6301::1

46 SIIT Stateless IP/ICMP Translation IPv6 Network IPv4 Network 204.127.202.4 SIIT Source = ::ffff:0:216.148.227.68 Dest = ::ffff:204.127.202.4 Source = ::ffff:204.127.202.4 Dest = ::ffff:0:216.148.227.68 Source = 216.148.227.68 Dest = 204.127.202.4 Source = 204.127.202.4 Dest = 216.148.227.68 SIIT also changes: Traffic Class   TOS Payload length Protocol Number   NH Number TTL   Hop Limit

47 NAT-PT IPv6-only IPv4-only NAT-PT gateway Il NAT-PT traduce tramite SIIT i pacchetti IPv6 in IPv4 e viceversa. Il router NAT-PT annuncia prefix::/96 nella rete IPv6, ogni volta che un pacchetto viene mandato a quel prefisso, esso viene tradotto. SIIT richiede che gli host dispongano di indirizzi IPv4 globali Il NAT-PT dispone di un pool di indirizzi (o di uno solo, NAPT-PT) e il suo funzionamento è analogo a quello di un NAT in IPv4. In più è necessario tradurre i pacchetti IPv4, i messaggi ICMP, le query DNS,... Richiede la presenza di un DNS Application-level gateway (DNS- ALG) Ultima risorsa, problemi di scalabilità, single point of failure, elimina molti vantaggi Ipv6

48 Note Alcune immagini sono tratte da siti internet e presentazioni reperibili presso i seguenti indirizzi: http://arstechnica.com/articles/paedia/IPv6.ars http://en.wikipedia.org/wiki/IPv6 http://www.nanog.org/mtg-0210/ppt/hain.ppt http://www.6journal.org/archive/00000158/01/JDoyleIPv6.ppt


Scaricare ppt "1 IPv6 Internet of Things (IoT) Lauree Magistrali in Ing. delle Telecomunicazioni, dell’Automazione e Informatica Docente: Luigi Alfredo Grieco, PhD."

Presentazioni simili


Annunci Google