6.7. RPL Control Message Options (Options de Message de Contrôle RPL)
6.7.1. RPL Control Message Option Generic Format (Format Générique des Options de Message de Contrôle RPL)
Toutes les options de message de contrôle RPL suivent ce format :
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
| Type d'Option | Longueur d'Option | Données d'Option
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
Figure 19 : Format Générique d'Option RPL
- Option Type (Type d'Option) : 8 bits. Identifie le type d'option.
- Option Length (Longueur d'Option) : 8 bits. Longueur de l'option en octets, n'incluant pas les champs Type d'Option et Longueur d'Option eux-mêmes.
- Option Data (Données d'Option) : Longueur variable. Données spécifiques à l'option.
RPL définit actuellement les options suivantes :
- 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'option Pad1 est utilisée pour insérer un seul octet de bourrage entre les options.
+-+-+-+-+-+-+-+-+
| Type = 0x00 |
+-+-+-+-+-+-+-+-+
Figure 20 : Format de l'Option Pad1
Remarque : L'option Pad1 n'a ni champ Longueur d'Option ni champ Données d'Option.
6.7.3. PadN
L'option PadN est utilisée pour insérer deux octets ou plus de bourrage entre les options.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
| Type = 0x01 | Longueur d'Option | Données d'Option
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
Figure 21 : Format de l'Option PadN
- Pour n octets de bourrage, le champ Longueur d'Option contient n-2. Les Données d'Option consistent en n-2 octets de zéros.
6.7.4. DAG Metric Container (Conteneur de Métriques de DAG)
L'option DAG Metric Container est utilisée pour transporter des métriques ou des contraintes de chemin.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
| Type = 0x02 | Longueur d'Option | Données Métriques
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - -
Figure 22 : Format de l'Option DAG Metric Container
La partie données de l'option DAG Metric Container consiste en un ou plusieurs objets métriques de DAG discrets. Le format des objets métriques de DAG est défini dans [RFC6551].
6.7.5. Route Information (Information de Route)
L'option Route Information est utilisée dans les messages DIO pour annoncer des préfixes accessibles via le domaine de routage 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x03 | Longueur Opt. | Longueur Préf.|Res|Prf|Res|Res|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Durée de Vie de Route |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Préfixe (Variable, 0, 8, ou 16 octets) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 23 : Format de l'Option Route Information
- Option Length (Longueur d'Option) : Variable.
- Prefix Length (Longueur de Préfixe) : 8 bits. Nombre de bits du préfixe.
- Prf (Route Preference) : 3 bits. Préférence de route telle que définie dans [RFC4191].
- Route Lifetime (Durée de Vie de Route) : Entier non signé de 32 bits. Durée en secondes pendant laquelle le préfixe est valide comme route. 0xFFFFFFFF signifie l'infini.
- Prefix (Préfixe) : Longueur variable. Les données du préfixe.
6.7.6. DODAG Configuration (Configuration de DODAG)
L'option DODAG Configuration est utilisée pour distribuer des informations de configuration spécifiques au DODAG via 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x04 | Longueur Opt. |Flags|A| PCS | DIOIntDoubl |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DIOIntMin | DIORedun | MaxRankIncrease |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MinHopRankIncrease | OCP | Réservé |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Durée de Vie par Défaut | Unité de Durée de Vie |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 24 : Format de l'Option DODAG Configuration
- Flags (Drapeaux) : 4 bits. Réservé pour usage futur.
- A (Authentication) : 1 bit. Indique si l'authentification est activée.
- PCS (Path Control Size) : 3 bits.
- DIOIntDoubl : 8 bits. Valeur maximale de l'intervalle DIO.
- DIOIntMin : 8 bits. Valeur minimale de l'intervalle DIO.
- DIORedun : 8 bits. Constante de redondance DIO.
- MaxRankIncrease : 16 bits. Augmentation maximale du rang.
- MinHopRankIncrease : 16 bits. Augmentation minimale du rang par saut.
- OCP (Objective Code Point) : 16 bits. Identifiant de la fonction objective utilisée.
- Default Lifetime (Durée de Vie par Défaut) : 8 bits.
- Lifetime Unit (Unité de Durée de Vie) : 16 bits.
6.7.7. RPL Target (Cible RPL)
L'option RPL Target est utilisée dans les messages DAO pour annoncer des préfixes cibles.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x05 | Longueur Opt. | Flags | Longueur Préf.|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. Préfixe Cible (Variable) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 25 : Format de l'Option RPL Target
- Flags (Drapeaux) : 8 bits. Réservé.
- Prefix Length (Longueur de Préfixe) : 8 bits.
- Target Prefix (Préfixe Cible) : Longueur variable.
6.7.8. Transit Information (Information de Transit)
L'option Transit Information est utilisée dans les messages DAO pour transmettre des attributs de chemin.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x06 | Longueur Opt. |E| Flags | Contrôle Chm. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Séquence Chm. | Durée de Vie | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
. Adresse Parent (Optionnel) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 26 : Format de l'Option Transit Information
- E (External) : 1 bit.
- Flags : 7 bits.
- Path Control : 8 bits.
- Path Sequence : 8 bits.
- Path Lifetime : 8 bits.
- Parent Address : 128 bits (optionnel).
6.7.9. Solicited Information (Information Sollicitée)
L'option Solicited Information est utilisée dans les messages DIS pour solliciter un DIO d'un DODAG spécifique.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x07 | Longueur Opt. | RPLInstanceID |V|I|D| Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. DODAGID (16 octets) .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Numéro de Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 27 : Format de l'Option Solicited Information
- V (Version) : 1 bit.
- I (Instance) : 1 bit.
- D (DODAGID) : 1 bit.
6.7.10. Prefix Information (Information de Préfixe)
L'option Prefix Information est identique à celle définie dans IPv6 Neighbor Discovery [RFC4861], mais certains champs sont redéfinis pour être utilisés dans 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x08 | Longueur Opt. | Longueur Préf.|L|A|R| Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Durée de Vie Valide |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Durée de Vie Préférée |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Réservé2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. Préfixe .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 28 : Format de l'Option Prefix Information
6.7.11. RPL Target Descriptor (Descripteur de Cible RPL)
L'option RPL Target Descriptor est utilisée pour qualifier une option 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x09 | Longueur Opt. | Descripteur |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Descripteur (suite) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 29 : Format de l'Option RPL Target Descriptor
- Descriptor (Descripteur) : Entier non signé de 32 bits. Données opaques.