Appendice A. Esempio di Operazione
Questa appendice fornisce alcuni esempi per illustrare la diffusione delle informazioni di indirizzamento e dei prefissi con RPL. Gli esempi descrivono le informazioni distribuite con PIO e RIO e l'uso dei messaggi DIO e DAO. Si noti che questa appendice non è normativa e che i dettagli specifici di un piano di indirizzamento e autoconfigurazione RPL possono variare in base alle implementazioni specifiche. RPL fornisce semplicemente un veicolo per diffondere informazioni che possono essere sfruttate e utilizzate da altri meccanismi.
Si noti che questi esempi illustrano l'uso di schemi di autoconfigurazione degli indirizzi supportati dalle informazioni distribuite all'interno di RPL. Tuttavia, se un'implementazione include un altro schema di autoconfigurazione degli indirizzi, i nodi RPL potrebbero essere configurati per non impostare il flag 'A' nelle opzioni PIO, sebbene il PIO possa ancora essere utilizzato per distribuire informazioni su prefisso e indirizzamento.
A.1. Esempio di Operazione in Modalità Memorizzazione con Prefissi Posseduti dai Nodi
La Figura 32 illustra l'architettura di indirizzamento logico di una semplice rete RPL operante in modalità Memorizzazione. In questo esempio, ogni Nodo, A, B, C e D, possiede il proprio prefisso e rende tale prefisso disponibile per l'autoconfigurazione degli indirizzi da parte dei dispositivi on-link. (Questo viene trasmesso impostando il flag 'A' e il flag 'L' nel PIO dei messaggi DIO). Il Nodo A possiede il prefisso A::/64, il Nodo B possiede B::/64, e così via. Il Nodo B autoconfigura un indirizzo on-link rispetto al Nodo A, A::B. I Nodi C e D autoconfigurano in modo simile indirizzi on-link dal prefisso del Nodo B, B::C e B::D, rispettivamente. I nodi hanno la possibilità di impostare il flag 'R' e pubblicare il loro indirizzo all'interno del campo Prefisso del PIO.
+-------------+
| Root |
| |
| Node A |
| |
| A::A |
+------+------+
|
|
|
+------+------+
| A::B |
| |
| Node B |
| |
| B::B |
+------+------+
|
|
|
.--------------+--------------.
/ \
/ \
+------+------+ +------+------+
| B::C | | B::D |
| | | |
| Node C | | Node D |
| | | |
| C::C | | D::D |
+-------------+ +-------------+
Figura 32: Modalità Memorizzazione con Prefissi Posseduti dai Nodi
A.1.1. Messaggi DIO e PIO
Il Nodo A, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Impostato
- Flag 'R': Cancellato
- Lunghezza Prefisso: 64
- Prefisso: A::
Il Nodo B, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Impostato
- Flag 'R': Impostato
- Lunghezza Prefisso: 64
- Prefisso: B::B
Il Nodo C, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Impostato
- Flag 'R': Cancellato
- Lunghezza Prefisso: 64
- Prefisso: C::
Il Nodo D, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Impostato
- Flag 'R': Impostato
- Lunghezza Prefisso: 64
- Prefisso: D::D
A.1.2. Messaggi DAO
Il Nodo B invierà messaggi DAO al Nodo A con le seguenti informazioni:
- Target B::/64
- Target C::/64
- Target D::/64
Il Nodo C invierà messaggi DAO al Nodo B con le seguenti informazioni:
- Target C::/64
Il Nodo D invierà messaggi DAO al Nodo B con le seguenti informazioni:
- Target D::/64
A.1.3. Routing Information Base
Il Nodo A raccoglierà concettualmente le seguenti informazioni nella sua Routing Information Base (RIB):
- A::/64 connesso
- B::/64 via link local di B
- C::/64 via link local di B
- D::/64 via link local di B
Il Nodo B raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di A
- B::/64 connesso
- C::/64 via link local di C
- D::/64 via link local di D
Il Nodo C raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di B
- C::/64 connesso
Il Nodo D raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di B
- D::/64 connesso
A.2. Esempio di Operazione in Modalità Memorizzazione con Prefisso a Livello di Sottorete
La Figura 33 illustra l'architettura di indirizzamento logico di una semplice rete RPL operante in modalità Memorizzazione. In questo esempio, il nodo radice A genera un prefisso che viene utilizzato per l'autoconfigurazione degli indirizzi sull'intera sottorete RPL. (Questo viene trasmesso impostando il flag 'A' e cancellando il flag 'L' nel PIO dei messaggi DIO.) I Nodi A, B, C e D si autoconfigurano tutti sul prefisso A::/64. I nodi hanno la possibilità di impostare il flag 'R' e pubblicare il loro indirizzo all'interno del campo Prefisso del PIO.
+-------------+
| Root |
| |
| Node A |
| A::A |
| |
+------+------+
|
|
|
+------+------+
| |
| Node B |
| A::B |
| |
+------+------+
|
|
.--------------+--------------.
/ \
/ \
+------+------+ +------+------+
| | | |
| Node C | | Node D |
| A::C | | A::D |
| | | |
+-------------+ +-------------+
Figura 33: Modalità Memorizzazione con Prefisso a Livello di Sottorete
A.2.1. Messaggi DIO e PIO
Il Nodo A, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Cancellato
- Flag 'R': Cancellato
- Lunghezza Prefisso: 64
- Prefisso: A::
Il Nodo B, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Cancellato
- Flag 'R': Impostato
- Lunghezza Prefisso: 64
- Prefisso: A::B
Il Nodo C, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Cancellato
- Flag 'R': Cancellato
- Lunghezza Prefisso: 64
- Prefisso: A::
Il Nodo D, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Cancellato
- Flag 'R': Impostato
- Lunghezza Prefisso: 64
- Prefisso: A::D
A.2.2. Messaggi DAO
Il Nodo B invierà messaggi DAO al Nodo A con le seguenti informazioni:
- Target A::B/128
- Target A::C/128
- Target A::D/128
Il Nodo C invierà messaggi DAO al Nodo B con le seguenti informazioni:
- Target A::C/128
Il Nodo D invierà messaggi DAO al Nodo B con le seguenti informazioni:
- Target A::D/128
A.2.3. Routing Information Base
Il Nodo A raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- A::A/128 connesso
- A::B/128 via link local di B
- A::C/128 via link local di B
- A::D/128 via link local di B
Il Nodo B raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di A
- A::B/128 connesso
- A::C/128 via link local di C
- A::D/128 via link local di D
Il Nodo C raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di B
- A::C/128 connesso
Il Nodo D raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di B
- A::D/128 connesso
A.3. Esempio di Operazione in Modalità Non-Memorizzazione con Prefissi Posseduti dai Nodi
La Figura 34 illustra l'architettura di indirizzamento logico di una semplice rete RPL operante in modalità Non-Memorizzazione. In questo esempio, ogni Nodo, A, B, C e D, possiede il proprio prefisso e rende tale prefisso disponibile per l'autoconfigurazione degli indirizzi da parte dei dispositivi on-link. (Questo viene trasmesso impostando il flag 'A' e il flag 'L' nel PIO dei messaggi DIO). Il Nodo A possiede il prefisso A::/64, il Nodo B possiede B::/64, e così via. Il Nodo B autoconfigura un indirizzo on-link rispetto al Nodo A, A::B. I Nodi C e D autoconfigurano in modo simile indirizzi on-link dal prefisso del Nodo B, B::C e B::D, rispettivamente. I nodi hanno la possibilità di impostare il flag 'R' e pubblicare il loro indirizzo all'interno del campo Prefisso del PIO.
+-------------+
| Root |
| |
| Node A |
| |
| A::A |
+------+------+
|
|
|
+------+------+
| A::B |
| |
| Node B |
| |
| B::B |
+------+------+
|
|
|
.--------------+--------------.
/ \
/ \
+------+------+ +------+------+
| B::C | | B::D |
| | | |
| Node C | | Node D |
| | | |
| C::C | | D::D |
+-------------+ +-------------+
Figura 34: Modalità Non-Memorizzazione con Prefissi Posseduti dai Nodi
A.3.1. Messaggi DIO e PIO
Il PIO contenuto nei messaggi DIO nella modalità Non-Memorizzazione con prefissi posseduti dai nodi può essere considerato identico a quelli nel caso della modalità Memorizzazione con prefissi posseduti dai nodi (Appendice A.1.1).
A.3.2. Messaggi DAO
Il Nodo B invierà messaggi DAO al Nodo A con le seguenti informazioni:
- Target B::/64, Transito A::B
Il Nodo C invierà messaggi DAO al Nodo A con le seguenti informazioni:
- Target C::/64, Transito B::C
Il Nodo D invierà messaggi DAO al Nodo A con le seguenti informazioni:
- Target D::/64, Transito B::D
A.3.3. Routing Information Base
Il Nodo A raccoglierà concettualmente le seguenti informazioni nella sua RIB. Si noti che il Nodo A ha abbastanza informazioni per costruire percorsi sorgente effettuando ricerche ricorsive nella RIB:
- A::/64 connesso
- B::/64 via A::B
- C::/64 via B::C
- D::/64 via B::D
Il Nodo B raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di A
- B::/64 connesso
Il Nodo C raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di B
- C::/64 connesso
Il Nodo D raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di B
- D::/64 connesso
A.4. Esempio di Operazione in Modalità Non-Memorizzazione con Prefisso a Livello di Sottorete
La Figura 35 illustra l'architettura di indirizzamento logico di una semplice rete RPL operante in modalità Non-Memorizzazione. In questo esempio, il nodo radice A genera un prefisso che viene utilizzato per l'autoconfigurazione degli indirizzi sull'intera sottorete RPL. (Questo viene trasmesso impostando il flag 'A' e cancellando il flag 'L' nel PIO dei messaggi DIO.) I Nodi A, B, C e D si autoconfigurano tutti sul prefisso A::/64. I nodi devono impostare il flag 'R' e pubblicare il loro indirizzo all'interno del campo Prefisso del PIO, al fine di informare i loro figli su quale indirizzo utilizzare nell'opzione di transito.
+-------------+
| Root |
| |
| Node A |
| A::A |
| |
+------+------+
|
|
|
+------+------+
| |
| Node B |
| A::B |
| |
+------+------+
|
|
.--------------+--------------.
/ \
/ \
+------+------+ +------+------+
| | | |
| Node C | | Node D |
| A::C | | A::D |
| | | |
+-------------+ +-------------+
Figura 35: Modalità Non-Memorizzazione con Prefisso a Livello di Sottorete
A.4.1. Messaggi DIO e PIO
Il Nodo A, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Cancellato
- Flag 'R': Impostato
- Lunghezza Prefisso: 64
- Prefisso: A::A
Il Nodo B, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Cancellato
- Flag 'R': Impostato
- Lunghezza Prefisso: 64
- Prefisso: A::B
Il Nodo C, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Cancellato
- Flag 'R': Impostato
- Lunghezza Prefisso: 64
- Prefisso: A::C
Il Nodo D, ad esempio, invierà messaggi DIO con un PIO come segue:
- Flag 'A': Impostato
- Flag 'L': Cancellato
- Flag 'R': Impostato
- Lunghezza Prefisso: 64
- Prefisso: A::D
A.4.2. Messaggi DAO
Il Nodo B invierà messaggi DAO al Nodo A con le seguenti informazioni:
- Target A::B/128, Transito A::A
Il Nodo C invierà messaggi DAO al Nodo A con le seguenti informazioni:
- Target A::C/128, Transito A::B
Il Nodo D invierà messaggi DAO al Nodo A con le seguenti informazioni:
- Target A::D/128, Transito A::B
A.4.3. Routing Information Base
Il Nodo A raccoglierà concettualmente le seguenti informazioni nella sua RIB. Si noti che il Nodo A ha abbastanza informazioni per costruire percorsi sorgente effettuando ricerche ricorsive nella RIB:
- A::A/128 connesso
- A::B/128 via A::A
- A::C/128 via A::B
- A::D/128 via A::B
Il Nodo B raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di A
- A::B/128 connesso
Il Nodo C raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di B
- A::C/128 connesso
Il Nodo D raccoglierà concettualmente le seguenti informazioni nella sua RIB:
- ::/0 via link local di B
- A::D/128 connesso
A.5. Esempio con Prefissi Esterni
Consideriamo la semplice rete illustrata nella Figura 36. In questo esempio, c'è un gruppo di router che partecipano a una rete RPL: una radice DODAG, Nodi A, Y e Z. La radice DODAG e il Nodo Z hanno anche connettività a diversi domini di rete esterni (cioè, esterni alla rete RPL). Si noti che tali reti esterne potrebbero essere reti RPL o un altro tipo di rete del tutto.
RPL Network +-------------------+
RPL::/64 | |
| External |
[RPL::Root] (Root)----------+ Prefix |
| | EXT_1::/64 |
| | |
| +-------------------+
[RPL::A] (A)
:
:
:
[RPL::Y] (Y)
| +-------------------+
| | |
| | External |
[RPL::Z] (Z)------------+ Prefix |
: | EXT_2::/64 |
: | |
: +-------------------+
Figura 36: Esempio di Rete Semplice
In questo esempio, la radice DODAG rende disponibile un prefisso alla sottorete RPL per l'autoconfigurazione degli indirizzi. Qui, l'intera sottorete RPL utilizza lo stesso prefisso, RPL::/64, per l'autoconfigurazione degli indirizzi, sebbene in altre implementazioni potrebbero essere impiegati schemi più complessi/ibridi.
La radice DODAG ha connettività a un prefisso esterno (rispetto a quella rete RPL) EXT_1::/64. La radice DODAG potrebbe aver appreso della connettività a questo prefisso, ad esempio, tramite configurazione esplicita o IPv6 ND su un'interfaccia non RPL. La radice DODAG è configurata per annunciare informazioni sulla connettività a questo prefisso.
Allo stesso modo, il Nodo Z ha connettività a un prefisso esterno EXT_2::/64. Il Nodo Z ha anche un sub-DODAG sotto di esso.
-
La radice DODAG aggiunge un RIO ai suoi messaggi DIO. Il RIO contiene il prefisso esterno EXT_1::/64. Questa informazione può essere ripetuta nei messaggi DIO emessi dagli altri nodi all'interno del DODAG. Così, la raggiungibilità al prefisso EXT_1::/64 viene diffusa lungo il DODAG.
-
Il Nodo Z può pubblicizzare la raggiungibilità alla rete Target EXT_2::/64 inviando messaggi DAO utilizzando EXT_2::/64 come Target nell'opzione Target e se stesso (Nodo Z) come genitore nell'opzione Transit Information. (In modalità Memorizzazione, tale opzione Transit Information non deve contenere l'indirizzo del Nodo Z). Una radice non di memorizzazione diventa quindi consapevole del collegamento a 1 hop (Nodo Z -- EXT_2::/64) per l'uso nella costruzione di percorsi sorgente. Il Nodo Z può inoltre pubblicizzare la sua raggiungibilità a EXT_2::/64 ai nodi nel suo sub-DODAG inviando messaggi DIO con un PIO, con il flag 'A' cancellato.