6.7. RPL Control Message Options (Opzioni dei Messaggi di Controllo RPL)
6.7.1. RPL Control Message Option Generic Format (Formato Generico delle Opzioni dei Messaggi di Controllo RPL)
Tutte le opzioni dei messaggi di controllo RPL seguono questo formato:
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
| Tipo Opzione | Lungh. Opzione| Dati Opzione
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
Figura 19: Formato Generico dell'Opzione RPL
- Option Type (Tipo Opzione): 8 bit. Identifica il tipo di opzione.
- Option Length (Lunghezza Opzione): 8 bit. Lunghezza dell'opzione in ottetti, esclusi i campi Tipo Opzione e Lunghezza Opzione stessi.
- Option Data (Dati Opzione): Lunghezza variabile. Dati specifici dell'opzione.
RPL definisce attualmente le seguenti opzioni:
- 0x00 Pad1
- 0x01 PadN
- 0x02 DAG Metric Container
- 0x03 Route Information
- 0x04 DODAG Configuration
- 0x05 RPL Target
- 0x06 Transit Information
- 0x07 Solicited Information
- 0x08 Prefix Information
- 0x09 RPL Target Descriptor
6.7.2. Pad1
L'opzione Pad1 viene utilizzata per inserire un singolo ottetto di padding tra le opzioni.
+-+-+-+-+-+-+-+-+
| Tipo = 0x00 |
+-+-+-+-+-+-+-+-+
Figura 20: Formato dell'Opzione Pad1
Nota: L'opzione Pad1 non ha né il campo Lunghezza Opzione né il campo Dati Opzione.
6.7.3. PadN
L'opzione PadN viene utilizzata per inserire due o più ottetti di padding tra le opzioni.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
| Tipo = 0x01 | Lungh. Opzione| Dati Opzione
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
Figura 21: Formato dell'Opzione PadN
- Per n ottetti di padding, il campo Lunghezza Opzione contiene n-2. I Dati Opzione consistono in n-2 ottetti di zeri.
6.7.4. DAG Metric Container (Contenitore delle Metriche del DAG)
L'opzione DAG Metric Container viene utilizzata per trasportare metriche o vincoli di percorso.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
| Tipo = 0x02 | Lungh. Opzione| Dati Metrici
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
Figura 22: Formato dell'Opzione DAG Metric Container
La parte dati dell'opzione DAG Metric Container consiste in uno o più oggetti metrici del DAG discreti. Il formato degli oggetti metrici del DAG è definito in [RFC6551].
6.7.5. Route Information (Informazioni sulla Rotta)
L'opzione Route Information viene utilizzata nei messaggi DIO per annunciare i prefissi raggiungibili attraverso il dominio di instradamento RPL.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tipo = 0x03 | Lungh. Opzione| Lungh. Pref. |Res|Prf|Res|Res|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Durata della Rotta |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Prefisso (Variabile, 0, 8 o 16 ottetti) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 23: Formato dell'Opzione Route Information
- Option Length (Lunghezza Opzione): Lunghezza variabile.
- Prefix Length (Lunghezza Prefisso): 8 bit. Numero di bit del prefisso.
- Prf (Route Preference): 3 bit. Preferenza della rotta come definito in [RFC4191].
- Route Lifetime (Durata della Rotta): Intero non segnato a 32 bit. Tempo in secondi per cui il prefisso è valido come rotta. 0xFFFFFFFF significa infinito.
- Prefix (Prefisso): Lunghezza variabile. I dati del prefisso.
6.7.6. DODAG Configuration (Configurazione del DODAG)
L'opzione DODAG Configuration viene utilizzata per distribuire informazioni di configurazione specifiche del DODAG tramite DIO.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tipo = 0x04 | Lungh. Opzione|Flags|A| PCS | DIOIntDoubl |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DIOIntMin | DIORedun | MaxRankIncrease |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MinHopRankIncrease | OCP | Riservato |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Durata di Default | Unità di Durata |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 24: Formato dell'Opzione DODAG Configuration
- Flags (Bandiere): 4 bit. Riservato per uso futuro.
- A (Authentication): 1 bit. Indica se l'autenticazione è abilitata.
- PCS (Path Control Size): 3 bit.
- DIOIntDoubl: 8 bit. Valore massimo dell'intervallo DIO.
- DIOIntMin: 8 bit. Valore minimo dell'intervallo DIO.
- DIORedun: 8 bit. Costante di ridondanza DIO.
- MaxRankIncrease: 16 bit. Massimo aumento del rango.
- MinHopRankIncrease: 16 bit. Minimo aumento del rango per salto.
- OCP (Objective Code Point): 16 bit. Identificatore della funzione obiettivo utilizzata.
- Default Lifetime (Durata di Default): 8 bit.
- Lifetime Unit (Unità di Durata): 16 bit.
6.7.7. RPL Target (Destinazione RPL)
L'opzione RPL Target viene utilizzata nei messaggi DAO per annunciare i prefissi di destinazione.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tipo = 0x05 | Lungh. Opzione| Flags | Lungh. Pref. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Prefisso di Destinazione (Variabile) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 25: Formato dell'Opzione RPL Target
- Flags (Bandiere): 8 bit. Riservato.
- Prefix Length (Lunghezza Prefisso): 8 bit.
- Target Prefix (Prefisso di Destinazione): Lunghezza variabile.
6.7.8. Transit Information (Informazioni di Transito)
L'opzione Transit Information viene utilizzata nei messaggi DAO per trasmettere gli attributi del percorso.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tipo = 0x06 | Lungh. Opzione|E| Flags | Contr. Perc. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq. Percorso | Durata Perc. | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
. Indirizzo Genitore (Opzionale) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 26: Formato dell'Opzione Transit Information
- E (External): 1 bit.
- Flags: 7 bit.
- Path Control: 8 bit.
- Path Sequence: 8 bit.
- Path Lifetime: 8 bit.
- Parent Address: 128 bit (opzionale).
6.7.9. Solicited Information (Informazioni Sollecitate)
L'opzione Solicited Information viene utilizzata nei messaggi DIS per sollecitare un DIO da un DODAG specifico.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tipo = 0x07 | Lungh. Opzione| RPLInstanceID |V|I|D| Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. DODAGID (16 ottetti) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Numero di Versione |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 27: Formato dell'Opzione Solicited Information
- V (Version): 1 bit.
- I (Instance): 1 bit.
- D (DODAGID): 1 bit.
6.7.10. Prefix Information (Informazioni sul Prefisso)
L'opzione Prefix Information è identica a quella definita in IPv6 Neighbor Discovery [RFC4861], ma alcuni campi sono ridefiniti per l'uso in RPL.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tipo = 0x08 | Lungh. Opzione| Lungh. Pref. |L|A|R| Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Durata Valida |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Durata Preferita |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Riservato2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. Prefisso .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 28: Formato dell'Opzione Prefix Information
6.7.11. RPL Target Descriptor (Descrittore della Destinazione RPL)
L'opzione RPL Target Descriptor viene utilizzata per qualificare un'opzione RPL Target.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tipo = 0x09 | Lungh. Opzione| Descrittore |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Descrittore (cont.) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 29: Formato dell'Opzione RPL Target Descriptor
- Descriptor (Descrittore): Intero non segnato a 32 bit. Dati opachi.