# IEEE 802.15.4

Lo standard IEEE 802.15.4 è stato concepito per regolamentare il livello fisico e il livello MAC (Media Access Control) di reti in area personale (ovvero a corto raggio, tipicamente inferiore a 30 m) che lavorano con basse velocità di trasferimento dati (LR-WPAN, Low-Rate Wireless Personal Area Networks). Questo standard è gestito dal gruppo IEEE 802.15. Le specifiche ZigBee, WirelessHART, e MiWi sono basate su questo standard: esse sviluppano i livelli superiori del modello ISO/OSI, non coperti dallo standard, per offrire una soluzione completa di rete di trasmissione dati. Inoltre, lo standard 802.15.4 può essere utilizzato con gli usuali protocolli Internet e la specifica 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks) per costruire reti Internet senza fili di tipo embedded.
È importante segnalare che è stato pubblicato nel 2012 un importante emendamento allo standard, denominato IEEE 802.15.4e, che introduce, tra le altre cose, un meccanismo di accesso multiplo di tipo Time Slotted Channel Hopping (TSCH), in grado di garantire una maggiore robustezza alle interferenze elettromagnetiche esterne e ridotte probabilità di collisione. Questo tipo di meccanismo è particolarmente utile in applicazioni industriali dell'Internet delle Cose.

## Topologia di rete

Lo standard IEEE 802.15.4 prevede due distinte tipologie di dispositivi, denominati rispettivamente Full Function Device (FFD) e Reduced Function Device (RFD). Gli RFD sono stati concepiti come nodi a ridotta complessità e pertanto essi possono comunicare soltanto con gli FFD. Gli FFD invece, oltre a poter operare come coordinatori nella WPAN (PAN Coordinator), possono interagire con qualsiasi altro nodo in visibilità radio, a prescindere dalla modalità di funzionamento di quest'ultimo. Sono inoltre previste due possibili topologie di rete: a stella e peer-to-peer. La prima è stata concepita a supporto di contesti operativi semplici in cui il centro-stella (ovvero il PAN Coordinator) è in visibilità radio con tutti gli altri nodi della rete.
La procedura per la formazione di una topologia a stella è molto semplice: il primo FFD che viene attivato stabilisce una WPAN nella sua area di influenza e ne diviene coordinatore; successivamente, gli altri nodi possono associarsi alla WPAN così costituita mediante opportuni messaggi di segnalazione scambiati con il PAN Coordinator. La topologia peer-to-peer è stata invece pensata per scenari più complessi (come ad esempio le reti wireless di sensori) in cui la comunicazione multi-hop rappresenta un requisito imprescindibile. È importante sottolineare che lo standard abiliti la formazione di topologie peer-to-peer, ma che la gestione dell'instradamento dei pacchetti in tali reti sia comunque demandata ai protocolli di routing, usualmente implementati ai livelli più alti dello stack protocollare. Nella formazione di topologie peer-to-peer, continua ad esistere il PAN Coordinator ma è consentito anche agli altri FFD di operare come coordinatori secondari, fornendo funzionalità di accesso alla rete e di sincronizzazione agli altri dispositivi interconnessi.

## Modalità di funzionamento

Una rete LR-WPAN, secondo lo standard IEEE 802.15.4, può opzionalmente operare in modalità beacon-enabled. In questo caso, l'asse temporale viene suddiviso in una sequenza di super-frame, ciascuno dei quali è delimitato da appositi pacchetti di segnalazione (definiti beacon). I beacon sono trasmessi dai nodi coordinator e sono responsabili della sincronizzazione di tutti i dispositivi della rete. In tale modalità di funzionamento, il super-frame viene ripartito in time-slot elementari e contiene obbligatoriamente un Contention Access Period (CAP), nel quale l'accesso multiplo al canale è gestito tramite una variante a basso consumo energetico dell'algoritmo CSMA/CA.
Sempre in tale modalità operativa, il super-frame può opzionalmente prevedere un Contention Free Period (CFP), in cui talune stazioni possono ottenere l'accesso al mezzo privo di collisioni in appositi time-slot garantiti (Guaranteed Time Slot, GTS), ed un Inactive Period, nel quale le interfacce radio possono essere messe in uno stato a basso consumo energetico per risparmiare le batterie dei dispositivi. Quando i beacon non sono abilitati, i nodi accedono al canale semplicemente utilizzando l'algoritmo CSMA/CA ed inoltre non è prevista alcuna ripartizione in time-slot e super-frame dell'asse temporale.
Per quanto riguarda, invece, le modalità secondo cui i nodi della WPAN si scambiano reciprocamente i messaggi, si devono considerare tre distinte possibili interazioni:
* comunicazione dispositivo → coordinator: Un generico nodo della WPAN può in ogni momento inviare i propri dati al coordinatore utilizzando l'algoritmo di accesso multiplo CSMA/CA.
* comunicazione coordinator → dispositivo: quando un dispositivo vuole ricevere i dati dal proprio coordinator, esso invia una richiesta al coordinatore e rimane in attesa dei dati. Nella modalità beacon enabled il coordinator esplicitamente dichiara nel messaggio di beacon quali sono i nodi figli per cui dispone di dati pendenti.
* comunicazione dispositivo → dispositivo: è utilizzata in topologie peer-to-peer e richiede che i nodi siano tra loro sincronizzati.