• Non ci sono risultati.

Capitolo 2 6LoWPAN

2.2 IPv6

2.2.2 Meccanismo d’indirizzamento

Il protocollo IPv4 utilizza 32 bit per la rappresentazione dell’indirizzo di un host. Con la crescente domanda di indirizzi, dovuta ad internet e alla diffusione di sistemi applicativi interconnessi, si è resa necessaria l’introduzione della versione 6 del protocollo IP proprio per ovviare all’esaurimento degli indirizzi disponibili. Recenti stime indicano il 2012 come anno in cui si perverrà alla saturazione dello spazio di indirizzamento IPv4 (11).

L’aspetto più evidente delle modifiche apportate dal protocollo IPv6 pertanto, riguarda il modo di rappresentare gli indirizzi che passa da 32 a 128 bit. Avendo a disposizione 128 bit, possiamo rappresentare 2128 indirizzi, ovvero circa 1038 o, più precisamente, più di 340 miliardi di miliardi di miliardi di miliardi di indirizzi univoci17.

16

Detti anche hop, salti

17

6LoWPAN: un livello adattivo per la convergenza di WSN e IPv6

Teoria, analisi, sviluppo e confronto di soluzioni low-power

Giorgio Porcu

Possiamo classificare l’insieme degli indirizzi IPv6 in tre macrocategorie: unicast,

multicast e anycast.

Un indirizzo unicast identifica una singola interfaccia di rete; in altri termini, un pacchetto destinato ad un indirizzo unicast, raggiungere un’interfaccia di rete in modo univoco.

Un indirizzo anycast identifica un insieme di interfacce differenti di rete. L’indirizzo ha le stesse caratteristiche dell’indirizzo unicast ma può essere attribuito a diverse interfacce di altrettanti nodi. Serve per la comunicazione “uno al più vicino” ovvero un pacchetto destinato ad un indirizzo anycast verrà consegnato ad una delle interfacce identificate da quell’indirizzo, tipicamente quella che risponde prima o più vicina in base al protocollo di instradamento adottato.

Un indirizzo multicast identifica anch’esso un insieme di interfacce distinte ma un pacchetto destinato ad un indirizzo multicast verrà consegnato a tutte le interfacce a cui questo indirizzo è attribuito.

Viene quindi utilizzato per la comunicazione di tipo “uno a molti”. In IPv6 non è previsto il supporto alla comunicazione broadcast, ovvero “uno a tutti”. Dato che gli indirizzi sono assegnati alle interfacce piuttosto che ai nodi e considerato che un indirizzo unicast si riferisce ad una singola interfaccia che appartiene ad un singolo nodo, gli indirizzi unicast possono essere usati anche come identificatori del nodo. Di conseguenza, un nodo può disporre di più indirizzi di rete: tanti quante sono le interfacce di rete che espone.

La rappresentazione simbolica standard di un indirizzo IPv6 è nella forma: x:x:x:x:x:x:x:x

dove ogni x è codificata da un valore rappresentato da una a quattro cifre esadecimali, distinte in 8 gruppi per mezzo dei due punti (:) come simbolo di separazione. Un tipico indirizzo appare ad esempio nella forma:

FEDC:BA98:0876:45FA:0000:CDAF:3DAF:BB01

Esistono delle semplificazioni possibili: la rappresentazione può contenere i simboli dei due punti ripetuti (::), ad indicare uno o più gruppi consecutivi di 16 bit a zero. Questa sequenza può essere usata soltanto una volta in un indirizzo. L’esempio precedente può essere ridotto pertanto alla seguente sequenza:

FEDC:BA98:0876:45FA::CDAF:3DAF:BB01, ma è ugualmente lecita la notazione FEDC:BA98:0876:45FA:0:CDAF:3DAF:BB01

Anche gli zero iniziali si possono omettere. L’indirizzo localhost ad esempio, 0:0:0:0:0:0:0:1, può essere espresso in forma compatta come ::1.

Ai fini della trattazione che segue, è importante soffermarsi sugli indirizzi unicast e sulle loro tipologie.

CAPITOLO 2: 6LOWPAN

L’indirizzo unicast IPv6 può essere visto come un elemento singolo di 128 oppure come un insieme distinto da due componenti: prefisso di indirizzo e identificatore d’interfaccia.

FIGURA 2.4 SCHEMA LOGICO DI UN INDIRIZZO IPV6

Tipicamente il prefisso viene utilizzato per indicare la sottorete di appartenenza di una determinata interfaccia; a questo scopo si adotta la seguente convenzione: ipv6_address/prefix_lengh,

notazione che consente di esplicitare quale porzione dell’indirizzo è relativa alla suddetta sottorete.

L’identificatore di interfaccia, IID, Interface Identifier ID, serve ad identificare precisamente l’interfaccia di rete nel collegamento, ovvero la rete fisica in cui si trova. L’IID deve essere univoco all’interno del segmento di rete. L’IID può essere impostato manualmente da una ditta produttrice o da un utente che voglia abilitare una determinata interfaccia. L’IID può tuttavia essere univoco a livello globale e in tal caso occupa 64 bit e risponde alle direttive standard del formato IEEE EUI-64 (12).

L’EUI-64 è un numero di 64 bit che si compone di due parti, un preambolo di 24 bit, il cosiddetto company-id che identifica univocamente il produttore della scheda e un suffisso di 40 bit che contiene il numero di serie progressivo con cui ogni costruttore può marchiare, altrettanto univocamente, ogni suo singolo prodotto. Sulla base di questo criterio di attribuzione, un indirizzo EUI-64 conforme allo standard costituisce un identificativo univoco a livello globale.

Gli indirizzi unicast si possono classificare in base all’ambito nel quale è garantita la loro validità. Si parla quindi, di indirizzi unicast di tipo: link-local, site-local, o più genericamente global.

Ai fini del lavoro di tesi è importante soffermarsi sugli indirizzi di tipo link-local.

Gli indirizzi link-local hanno validità e visibilità limitata esclusivamente all’ambito della sottorete di attestazione degli host; non possono essere quindi “annunciati” all’esterno di tale sottorete né possono essere utilizzati per raggiungere destinazioni appartenenti ad altre sottoreti.

Prefisso di

sottorete Identificatore

6LoWPAN: un livello adattivo per la convergenza di WSN e IPv6

Teoria, analisi, sviluppo e confronto di soluzioni low-power

Giorgio Porcu

La composizione di questi indirizzi è evidenziata in figura 2.5:

FIGURA 2.5 INDIRIZZO LINK-LOCAL IPV6

Come si può vedere dalla figura, i primi due byte del prefisso, FE80, identificano univocamente questa particolare tipologia di indirizzi.

I 32 bit meno significativi dell’indirizzo, possono essere tutti zeri o possono contenere altre informazioni a seconda della particolare sottorete in cui tali indirizzi devono mantenere la visibilità.

L’IID segue le regole descritte in precedenza.

Per una trattazione esaustiva sugli indirizzi, si rimanda alla definizione standard degli indirizzi IPv6 (10).

Documenti correlati