3. Design Space (Spazio di progettazione)
Oltre a un'ampia varietà di algoritmi di routing concepibili per i 6LoWPAN, è possibile eseguire il routing nel livello IP (utilizzando un approccio route-over) o sotto IP, come definito dal documento di formato 6LoWPAN [RFC4944] (utilizzando l'approccio mesh-under). Vedere la figura 1.
L'approccio route-over si basa sul routing IP e quindi supporta il routing su possibilmente vari tipi di collegamenti interconnessi. Nota: Il gruppo di lavoro ROLL sta ora lavorando su approcci route-over per reti a bassa potenza e con perdite (Low-power and Lossy Networks, LLN), non specificamente per i 6LoWPAN. Questo documento si concentra sui requisiti specifici dei 6LoWPAN; può essere utilizzato in combinazione con i requisiti più orientati alle applicazioni definiti dal gruppo di lavoro ROLL.
L'approccio mesh-under esegue la comunicazione multi-hop sotto il collegamento IP. La conseguenza più significativa del meccanismo mesh-under è che le caratteristiche di IEEE 802.15.4 influenzano direttamente i meccanismi di routing 6LoWPAN, incluso l'uso di indirizzi di livello di collegamento a 64 bit (o 16 bit brevi) invece di indirizzi IP. Un 6LoWPAN sarebbe quindi visto come un singolo collegamento IP.
La maggior parte delle affermazioni in questo documento considera sia i casi route-over che mesh-under.
La figura 1 mostra la posizione del routing 6LoWPAN nell'intero stack di rete.
+---------------------------+ +-----------------------------+
| Application Layer | | Application Layer |
+---------------------------+ +-----------------------------+
| Transport Layer (TCP/UDP) | | Transport Layer (TCP/UDP) |
+---------------------------+ +-----------------------------+
| Network Layer (IPv6) | | Network +---------+ |
+---------------------------+ | Layer | Routing | |
| 6LoWPAN | | (IPv6) +---------+ |
| Adaptation | +-----------------------------+
| Layer +----------+ | | 6LoWPAN Adaptation Layer |
+--------------| Routing* |-+ +-----------------------------+
| 802.15.4 MAC +----------+ | | 802.15.4 MAC |
+---------------------------+ +-----------------------------+
| 802.15.4 PHY | | 802.15.4 PHY |
+---------------------------+ +-----------------------------+
* Qui, "Routing" non è equivalente al routing IP,
ma include le funzionalità di calcolo del percorso e
inoltro sotto il livello IP.
Il termine "Routing" è usato nella figura per illustrare
quale livello gestisce il calcolo del percorso e l'inoltro
dei pacchetti in mesh-under rispetto a route-over.
Figura 1: Routing Mesh-Under (Sinistra) e Routing Route-Over (Destra)
Per evitare la frammentazione dei pacchetti e il sovraccarico per il riassemblaggio, i pacchetti di routing dovrebbero (should) adattarsi a un singolo frame fisico IEEE 802.15.4, e i dati dell'applicazione non dovrebbero (should not) essere espansi a un punto tale da non adattarsi più.
3.1 Reference Network Model (Modello di rete di riferimento)
Per la comunicazione multi-hop nei 6LoWPAN, quando viene utilizzato un meccanismo route-over, tutti i router (cioè i router di confine 6LoWPAN (6LoWPAN Border Router, 6LBR) e i router 6LoWPAN (6LoWPAN Router, 6LR)) eseguono il routing IP all'interno della rete stub (vedere la figura 2). In questo caso, l'ambito link-local copre l'insieme di nodi all'interno della portata radio simmetrica di un nodo.
Quando un LoWPAN segue la configurazione mesh-under, il 6LBR è l'unico router IPv6 nel LoWPAN (vedere la figura 3). Ciò significa che l'ambito link-local IPv6 include tutti i nodi nel LoWPAN. Per questo, deve (MUST) essere fornito un meccanismo mesh-under per supportare la trasmissione multi-hop.
h h
/ | 6LBR: 6LoWPAN Border Router
6LBR -- 6LR --- 6LR --- h 6LR: 6LoWPAN Router
/ \ h: Host
h 6LR --- h
|
/ \
6LR - 6LR -- h
Figura 2: Esempio di un LoWPAN Route-Over
h h
/ | 6LBR: 6LoWPAN Border Router
6LBR --- m --- m --- h m: mesh-under forwarder
/ \ h: Host
h m --- h
|
/ \
m - m -- h
Figura 3: Esempio di un LoWPAN Mesh-Under
Si noti che sia nelle reti mesh-under che route-over, non c'è alcuna aspettativa di assegnazione di indirizzi basata topologicamente nel 6LoWPAN. Invece, gli indirizzi sono tipicamente assegnati in base agli indirizzi EUI-64 assegnati al momento della produzione ai nodi, o in base a un processo (dal punto di vista topologico) più o meno casuale che assegna indirizzi MAC a 16 bit ai singoli nodi. All'interno di un 6LoWPAN, non c'è quindi alcuna opportunità per l'aggregazione o il riepilogo degli indirizzi IPv6 oltre la condivisione di (uno o più) prefissi comuni.
Non tutti i dispositivi che sono all'interno della portata radio l'uno dell'altro devono far parte dello stesso LoWPAN. Quando vengono formati più LoWPAN con indirizzi IPv6 globalmente univoci nei 6LoWPAN, e il dispositivo (a) del LoWPAN [A] vuole comunicare con il dispositivo (b) del LoWPAN [B], verranno impiegati i normali meccanismi IPv6. Per route-over, l'indirizzo IPv6 di (b) è impostato come destinazione dei pacchetti, e i dispositivi eseguono il routing IP verso il 6LBR per questi pacchetti in uscita. Per mesh-under, c'è un salto IP dal dispositivo (a) al 6LBR di [A], indipendentemente da quanti salti radio sono distanti l'uno dall'altro. Questo, ovviamente, presuppone l'esistenza di un protocollo di routing mesh-under per raggiungere il 6LBR. Si noti che una route predefinita verso il 6LBR potrebbe essere inserita nel sistema di routing 6LoWPAN sia per route-over che per mesh-under.