3.1.3. Instances, DODAGs, and DODAG Versions (Istanze, DODAG e versioni DODAG)
Un'istanza RPL contiene una o più radici DODAG. Un'istanza RPL può fornire percorsi verso determinati prefissi di destinazione, raggiungibili tramite le radici DODAG o percorsi alternativi all'interno del DODAG. Queste radici possono funzionare in modo indipendente o possono coordinarsi su una rete che non è necessariamente vincolata come una LLN.
Un'istanza RPL può comprendere:
-
un singolo DODAG con una singola radice
- Ad esempio, un DODAG ottimizzato per ridurre al minimo la latenza radicato in un singolo controller di illuminazione centralizzato in un'applicazione di automazione domestica.
-
più DODAG non coordinati con radici indipendenti (DODAGID diversi)
- Ad esempio, più punti di raccolta dati in un'applicazione di raccolta dati urbana che non hanno una connettività adeguata per coordinarsi tra loro o che utilizzano la formazione di più DODAG come mezzo per partizionare dinamicamente e autonomamente la rete.
-
un singolo DODAG con una radice virtuale che coordina i sink LLN (con lo stesso DODAGID) su una rete backbone.
- Ad esempio, più router di confine che operano con un collegamento di transito affidabile, ad esempio, a supporto di un'applicazione IPv6 Low-Power Wireless Personal Area Network (6LoWPAN), in grado di agire come interfacce logicamente equivalenti al sink dello stesso DODAG.
-
una combinazione di quanto sopra adatta a uno scenario applicativo.
Ogni pacchetto RPL è associato a un particolare RPLInstanceID (vedere la sezione 11.2) e, quindi, a un'istanza RPL (sezione 5). Il provisioning o la scoperta automatizzata di una mappatura tra un RPLInstanceID e un tipo o servizio di traffico applicativo non rientra nell'ambito di questa specifica (da definire nelle future specifiche associate).
La figura 1 illustra un esempio di un'istanza RPL comprendente tre DODAG con radici DODAG R1, R2 e R3. Ognuna di queste radici DODAG annuncia lo stesso RPLInstanceID. Le linee illustrano la connettività tra genitori e figli.
La figura 2 illustra come un incremento di DODAGVersionNumber porti a una nuova versione DODAG. Questa rappresentazione illustra un incremento di DODAGVersionNumber che si traduce in una topologia DODAG diversa. Si noti che una nuova versione DODAG non implica sempre una topologia DODAG diversa. Per accogliere determinate modifiche alla topologia è necessaria una nuova versione DODAG, come descritto più avanti in questa specifica.
Negli esempi seguenti, si noti che le strutture ad albero sono rappresentate per semplicità, sebbene la struttura DODAG consenta a ciascun nodo di avere più genitori quando la connettività lo supporta.
+----------------------------------------------------------------+
| |
| +--------------+ |
| | | |
| | (R1) | (R2) (R3) |
| | / \ | /| \ / | \ |
| | / \ | / | \ / | \ |
| | (A) (B) | (C) | (D) ... (F) (G) (H) |
| | /|\ |\ | / | / |\ |\ | | |
| | : : : : : | : (E) : : : `: : |
| | | / \ |
| +--------------+ : : |
| DODAG |
| |
+----------------------------------------------------------------+
RPL Instance
Figure 1: RPL Instance
+----------------+ +----------------+
| | | |
| (R1) | | (R1) |
| / \ | | / |
| / \ | | / |
| (A) (B) | \ | (A) |
| /|\ / |\ | ------\ | /|\ |
| : : (C) : : | \ | : : (C) |
| | / | \ |
| | ------/ | \ |
| | / | (B) |
| | | |\ |
| | | : : |
| | | |
+----------------+ +----------------+
Version N Version N+1
Figure 2: DODAG Version