ZigBee Pro: più prestazioni e sicurezza

Lo standard ZigBee, introdotto nel 2004, è stato in seguito sviluppato e migliorato. L’ultima revisione, che presentiamo in questo articolo, è conosciuta come ZigBee Pro.

Fin dalla pubblicazione della prima versione delle specifiche nel 2004, lo standard ZigBee ha avuto rapida diffusione in molti ambiti di applicazione, ad esempio nel settore home e building automation. La crescente e forse inattesa complessità delle reti basate su protocolli ZigBee ha tuttavia richiesto ben presto una revisione dello standard, ratificata nel 2007 e comunemente nota come ZigBee Pro. Tra le caratteristiche introdotte dalla nuova raccomandazione (che prende il nome di profile 2), come mostrato nel confronto riportato in tabella 1, vi sono l’adozione di uno schema di indirizzamento di tipo stocastico, una nuova politica di routing dei messaggi di tipo “many-to-one”, la gestione di connessioni asimmetriche, migliore sicurezza, nuove funzionalità per il commissioning della rete e la commutazione dei canali di trasmissione, supporto per frammentazione e reassembly dei dati. Di seguito sono discusse tali novità. È solo il caso di osservare che, sebbene la nuova specifica sia emessa come estensione della precedente, alcune funzionalità non previste, soprattutto per quanto concerne il router, sono indicate come obbligatorie, non consentendo la completa retro-compatibilità del protocollo. In altri termini, nodi ZigBee e ZigBee Pro possono coesistere nella stessa rete ma la rete non può includere due router specificati per le due diverse raccomandazioni.

INDIRIZZAMENTO STOCASTICO

Lo standard ZigBee adotta un approccio ad albero nell’indicizzazione dei nodi connessi alla rete e nella relativa procedura di assegnazione degli indirizzi. In tale schema ogni nodo di tipo Coordinator si configura come radice di una rete ad albero e l’indirizzo dei nodi in essa presenti viene assegnato sulla base della posizione nell’albero stesso. Tale approccio, se da un lato ha l’indubbio vantaggio di semplificare la struttura delle tabelle di routing, in quanto definisce implicitamente nell’indirizzo la posizione del nodo nella rete, dall’altro finisce per essere problematico nel caso di reti di elevata complessità, richiedendo a volte di riassegnare interamente gli indirizzi all’atto dell’associazione di un ulteriore nodo. La nuova specifica ZigBee Pro adotta invece uno schema di indirizzamento di tipo stocastico; l’indirizzo acquisito viene comunicato sulla rete dal nodo mediante apposito comando. In questo modo l’intero spazio di indirizzamento a 16 bit del protocollo è disponibile per i nodi e l’indirizzo di un nodo non cambia in conseguenza di una variazione della sua posizione nella rete. Qualora due nodi ricevano lo stesso indirizzo, il conflitto viene risolto dal livello di rete del protocollo sulla base dell’identificativo univoco MAC dei dispositivi coinvolti. Più o meno allo stesso modo, lo standard ZigBee adotta un identificativo di rete esteso per risolvere gli eventuali conflitti tra reti logicamente distinte ma sovrapposte fisicamente. L’EPID (Extended PAN ID) è un campo a 64 bit assegnato dal Coordinator della rete al momento in cui questa viene costituita; viene condiviso tra tutti i nodi ed utilizzato per la risoluzione dei conflitti sui PAN ID o nelle comunicazioni di cambio del canale di trasmissione (si veda di seguito). È salvato nella memoria non volatile di un nodo e quindi costante fino a quando questo non sia disconnesso dalla rete.

ROUTING DEI MESSAGGI NELLA RETE MESH

Altra novità interessante introdotta dallo standard ZigBee è la nuova politica di gestione del routing dei messaggi all’interno della rete mesh. Nella soluzione classica, i nodi utilizzano un meccanismo di ricerca mediante messaggi unicast o multicast per stabilire il cammino di connessione ottimale all’interno della rete con un dispositivo di aggregazione come, ad esempio, il gateway. Tuttavia ciò complica significativamente la tabella di routing dei nodi più vicini al dispositivo stesso, i quali devono memorizzare un elevato numero di ingressi. Nel caso di nodi più semplici, però, ciò può risultare impossibile a causa della capacità di memoria locale limitata, imponendo la ricerca di connessioni alternative. Ciò finisce inevitabilmente per generare ulteriore traffico, sovraccaricando la rete e consumando banda di trasmissione altrimenti utilizzabile per lo scambio dei dati. Lo standard ZigBee Pro adotta invece una soluzione “many-to-one” in cui tutti i nodi condividono uno stesso percorso di ricerca di connessione al dispositivo di aggregazione e quindi una comune, più semplice, tabella di routing. Il nodo centralizzato adotta dunque uno schema di indirizzamento di tipo sorgente per i messaggi da inviare al nodo periferico, memorizzando per ognuno di questi (si presuppone che un nodo centralizzato disponga di adeguata capacità di memoria) il cammino di connessione sulla base della richiesta ricevuta. Tale cammino viene incluso nel messaggio stesso di risposta, evitando così che i nodi intermedi debbano implementare ingressi nella propria tabella di routing per l’instradamento del messaggio di ritorno.

Tabella 1: differenze tra ZigBee profile 1 e ZigBee Pro.

Tabella 1: differenze tra ZigBee profile 1 e ZigBee Pro

GESTIONE DELLE CONNESSIONI ASIMMETRICHE

In una rete ZigBee, il cammino di connessione tra due nodi viene stabilito sulla base della qualità della comunicazione tra il nodo trasmittente e quello ricevente; il meccanismo di routing è tuttavia simmetrico, ovvero identico in entrambi i versi. Non lo è però altrettanto il link, caratterizzato spesso da parametri profondamente differenti nella trasmissione tra due nodi in un verso e in quello contrario. Lo standard ZigBee Pro ha introdotto per questo una funzionalità di gestione di tali connessioni asimmetriche per la corretta selezione del cammino migliore in entrambi i versi della comunicazione. Ad esempio, supponiamo che il nodo A possa essere connesso al nodo D mediante i nodi C e D e che la qualità del link tra questi e il nodo D sia identica. Supponiamo invece che la connessione A-B sia caratterizzata da efficienza del 99% nella direzione A-to-B ma solo del 10% in quella B-to-A (è quindi un link asimmetrico) mentre l’efficienza della connessione A-C sia rispettivamente del 90% e dell’80% nei due versi. Senza alcuna capacità di gestione di link asimmetrici, avendo scelto il cammino di connessione A-to-B-to-D per i messaggi da A a D, questo stesso verrebbe utilizzato anche per le risposte da D ad A. Con le nuove funzionalità ZigBee Pro, invece, la comunicazione da D ad A passa attraverso il nodo C mentre quella da A a D attraverso B, con il risultato di una migliore efficienza a livello di rete complessiva.

COMMUTAZIONE DAL CANALE DI COMUNICAZIONE

Lo standard ZigBee può operare nella banda ISM e quindi può soffrire di interferenza con dispositivi di altro tipo, come Bluetooth o moduli wireless. Lo standard ZigBee Pro introduce per questo un meccanismo semplificato di commutazione del canale di trasmissione. La specifica ZigBee base stessa prevedeva, in effetti, già la disponibilità di utilizzare fino a 16 canali intorno alla frequenza nominale di 2,4 GHz; la richiesta di cambio doveva tuttavia essere inoltrata lungo tutta le rete dal nodo interessato, con evidenti difficoltà nel caso di architetture complesse. Nella versione ZigBee Pro, invece, un nodo specifico denominato “network channel manager” viene identificato come responsabile della raccolta di statistiche in merito alla bontà del canale in uso e demandato a inoltrare sulla rete la relativa richiesta di commutazione nel caso di scarsa qualità, assicurando così una migliore stabilità dell’intera connessione di rete.

MIGLIORE SICUREZZA

Lo standard ZigBee Pro introduce, poi, ulteriori cinque comandi di sicurezza, oltre ai nove già previsti dalla specifica base, per supportare la comunicazione verso dispositivi non dotati della corretta chiave o l’autenticazione di entità tra due nodi. Il primo caso è, in particolare, utile nelle applicazioni che prevedano l’ibernazione di nodi periferici, non in grado di ricevere correttamente l’aggiornamento di chiavi durante le fasi dormienti. La funzionalità di centro di sicurezza, inoltre, può essere implementata da un nodo generico della rete e non necessariamente dal coordinatore di questa.

FRAMMENTAZIONE E REASSEMBLY

Lo standard ZigBee non supporta messaggi per i quali l’APSDU (APS Service Data Unit) sia maggiore della dimensione massima del payload di un generico frame NWK. Genericamente, soprattutto nelle applicazioni di controllo e messaggistica tra sensori, questo non rappresenta un problema. Nelle applicazioni più complesse potrebbe invece costituire una seria limitazione. Nella versione Pro ciò è rimosso, introducendo la possibilità di frammentazione dei messaggi e la capacità di ricostruzione completa di questi al nodo ricevente.

COMMISSIONING DELLA RETE

Uno dei vantaggi principali della tecnologia ZigBee che ne ha determinato la rapida diffusione è stato certamente la facilità di installazione e configurazione della rete, con la possibilità di implementare sistemi pre-configurati, autoconfiguranti o custom. Il commissioning della rete (ovvero la configurazione dei nodi) può essere fatta individualmente mediante specifica interfaccia di I/O (pulsanti o tastiera) disponibile sul nodo o tool custom installato su dispositivo host. In questo secondo caso, lo standard ZigBee Pro introduce la possibilità di gestione delle procedure di commissioning in modalità sicura mediante encryption della comunicazione, oltre a standardizzare un cluster di comandi per scopi di configurazione dei nodi.

CONCLUSIONI

La nuova specifica ZigBee Pro nasce dall’esperienza raccolta in oltre sette anni di utilizzo, che hanno visto una rapida diffusione dei sistemi ZigBee in molti ambiti di applicazione. Il nuovo standard, caratterizzato da maggiore scalabilità, facilità d’uso, flessibilità e sicurezza, appare ideale per reti di elevata complessità (oltre 30-50 nodi), caratterizzata da traffico elevato verso un nodo di aggregazione dati e che richiedano più elevati livelli di sicurezza, ma compatibilmente con una politica di riduzione dei consumi che consenta, ad esempio, l’ibernazione dei nodi periferici.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend