1. Problem Statement (Dichiarazione del problema)
I 6LoWPAN sono formati da dispositivi compatibili con lo standard IEEE 802.15.4 [IEEE802.15.4]. La maggior parte dei dispositivi LoWPAN si distingue per la loro bassa larghezza di banda, breve portata, scarsa capacità di memoria, capacità di elaborazione limitata e altri attributi di hardware economico. Le caratteristiche dei nodi che partecipano ai LoWPAN sono assunte essere quelle descritte nella dichiarazione del problema 6LoWPAN [RFC4919] e nel documento IPv6 over IEEE 802.15.4 [RFC4944], che ha specificato come trasportare pacchetti IPv6 su IEEE 802.15.4 e reti simili. Mentre IEEE 802.15.4 distingue due tipi di dispositivi chiamati dispositivi a funzione completa (Full-Function Devices, FFD) e dispositivi a funzione ridotta (Reduced-Function Devices, RFD), questa distinzione si basa su alcune caratteristiche del livello di controllo di accesso al mezzo (Medium Access Control, MAC) che non sono sempre in uso. Pertanto, questa distinzione non viene fatta in questo documento. Tuttavia, alcuni nodi 6LoWPAN possono limitarsi al ruolo di host (host) solamente, mentre altri nodi 6LoWPAN possono partecipare al routing. Questa distinzione host/router (router) può essere correlata con le capacità di elaborazione e memorizzazione del dispositivo e la potenza disponibile in modo simile all'idea di RFD e FFD.
Le reti IEEE 802.15.4 supportano topologie a stella e mesh. Tuttavia, né lo standard IEEE 802.15.4 né la specifica del formato 6LoWPAN ([RFC4944]) definiscono come ottenere e mantenere le topologie mesh. Pertanto, la formazione di 6LoWPAN e il routing multi-hop possono essere supportati sia al di sotto del livello IP (il livello di adattamento (Adaptation Layer) o il controllo del collegamento logico (Logical Link Control, LLC)) sia a livello IP. (Si noti che nell'IETF, il termine "routing" si riferisce solitamente, ma non sempre [RFC5556], esclusivamente alla formazione di percorsi e all'inoltro a livello IP. In questo documento, distinguiamo il livello al quale questi servizi sono eseguiti con i termini "route-over" e "mesh-under". Vedere le sezioni 2 e 3.) Un certo numero di protocolli di routing IP sono stati sviluppati in vari gruppi di lavoro dell'IETF. Tuttavia, questi protocolli di routing esistenti potrebbero non soddisfare i requisiti del routing multi-hop nei 6LoWPAN, per i seguenti motivi:
o I nodi 6LoWPAN hanno tipi e ruoli speciali, come nodi che traggono la loro alimentazione da batterie primarie, nodi con alimentazione abbondante, gateway (gateway) ad alte prestazioni alimentati dalla rete elettrica, aggregatori di dati (data aggregator), ecc. I protocolli di routing 6LoWPAN dovrebbero (should) supportare più tipi e ruoli di dispositivi.
o Requisiti più stringenti si applicano ai LoWPAN, rispetto alle reti ad alte prestazioni o non alimentate a batteria. I nodi 6LoWPAN sono caratterizzati da dimensioni di memoria ridotte e bassa potenza di elaborazione, e funzionano con una potenza molto limitata fornita da batterie primarie non ricaricabili (alcuni KB di RAM, alcune decine di KB di memoria ROM/flash e alcuni MHz di CPU sono tipici). La durata di un nodo è solitamente definita dalla durata della sua batteria.
o La gestione dei nodi in modalità sleep (sleeping node) è molto critica nei LoWPAN, più che nelle reti ad hoc tradizionali. I nodi LoWPAN potrebbero rimanere in modalità sleep per la maggior parte del tempo. Approfittare dei tempi appropriati per le trasmissioni è importante per un efficiente inoltro dei pacchetti.
o Il routing nei 6LoWPAN potrebbe tradursi in un problema più semplice rispetto al routing nelle reti ad alte prestazioni. I LoWPAN potrebbero essere reti di transito (transit network) o reti stub (stub network). Nell'ipotesi che i LoWPAN non siano mai reti di transito (come implicato da [RFC4944]), i protocolli di routing possono (may) essere drasticamente semplificati. Questo documento si concentrerà sui requisiti per le reti stub. Requisiti aggiuntivi possono applicarsi alle reti di transito.
o Il routing nei LoWPAN potrebbe tradursi in un problema più difficile rispetto al routing nelle reti ad alte prestazioni. Il routing nei LoWPAN richiede l'ottimizzazione della potenza, un funzionamento stabile in ambienti con perdite, ecc. Questi requisiti non sono facilmente soddisfacibili tutti contemporaneamente [ROLL-PROTOCOLS].
Queste proprietà creano nuove sfide per la progettazione del routing all'interno dei LoWPAN.
La dichiarazione del problema 6LoWPAN [RFC4919] menziona brevemente quattro requisiti per i protocolli di routing:
(a) basso overhead sui pacchetti di dati (low overhead on data packets)
(b) basso overhead di routing (low routing overhead)
(c) requisiti minimi di memoria e calcolo (minimal memory and computation requirements)
(d) supporto per nodi in modalità sleep (considerazione del risparmio della batteria) (support for sleeping nodes)
Questi quattro requisiti di alto livello descrivono i requisiti di base per il routing 6LoWPAN. Basandosi sulle caratteristiche fondamentali dei 6LoWPAN, requisiti di routing più dettagliati, che possono portare a ulteriori analisi e progettazione di protocolli, sono presentati in questo documento.
Considerando i problemi di cui sopra, devono (must) essere definiti requisiti di routing 6LoWPAN dettagliati. Le caratteristiche specifiche dell'applicazione influenzano la progettazione dei requisiti di routing 6LoWPAN e delle soluzioni corrispondenti. Tuttavia, diverse applicazioni possono essere profilate da caratteristiche tecniche simili, anche se i requisiti dettagliati correlati potrebbero differire (ad esempio, alcune decine di nodi in un sistema di illuminazione domestica necessitano di una scalabilità appropriata per le applicazioni del sistema, mentre milioni di nodi per un sistema di infrastruttura autostradale necessitano anche di una scalabilità appropriata).
Questo documento sui requisiti di routing dichiara i requisiti di routing delle applicazioni 6LoWPAN in generale, fornendo esempi per diversi casi di routing. Non implica che una singola soluzione di routing sarà favorevole per tutte le applicazioni 6LoWPAN, e non c'è alcun requisito che protocolli di routing diversi vengano eseguiti simultaneamente.