Aller au contenu principal

10. Exemples

10.1. Exemples de Messages

   ÉTAPE

6LN 6LR

| |

1. | ---------- Sollicitation de Routeur --------> |

| [SLLAO] |

| |

2. | <-------- Annonce de Routeur --------- |

| [PIO + 6CO + ABRO + SLLAO] |


Figure 2: Échange de base Sollicitation de Routeur/Annonce de Routeur
entre un Nœud et un 6LR ou 6LBR


6LN 6LR

| |

1. | ------- NS avec Enregistrement d'Adresse ------> |

| [ARO + SLLAO] |

| |

2. | <----- NA avec Enregistrement d'Adresse -------- |

| [ARO avec Statut] |


Figure 3: Enregistrement d'Adresse de Découverte de Voisins
      6LN                           6LR                          6LBR

| | |

1. | --- NS avec Enreg. Adr. --> | |

| [ARO + SLLAO] | |

| | |

2. | | ----------- DAR ----------> |

| | |

3. | | <---------- DAC ----------- |

| | |

4. | <-- NA avec Enreg. Adr. --- | |

| [ARO avec Statut] |


Figure 4: Enregistrement d'Adresse de Découverte de Voisins avec DAD à Sauts Multiples

10.2. Exemple d'Amorçage d'Hôte

L'exemple suivant décrit les scénarios d'amorçage d'adresse en utilisant les mécanismes ND améliorés spécifiés dans ce document. Il est supposé que le 6LN effectue d'abord une séquence d'opérations afin d'obtenir un accès sécurisé au niveau de la couche de liaison du LoWPAN et d'obtenir une clé pour la sécurité de la couche de liaison. Les méthodes pour établir la sécurité de la couche de liaison sont hors de la portée de ce document. Dans cet exemple, un 6LN IEEE 802.15.4 forme une adresse IPv6 courte de 16 bits sans utiliser DHCPv6 (c'est-à-dire que le drapeau M n'est pas défini dans les RA).

  1. Après avoir obtenu la sécurité de la couche de liaison, un 6LN s'attribue une adresse IPv6 locale de liaison. Une adresse IPv6 locale de liaison est configurée sur la base de l'adresse de couche de liaison EUI-64 du 6LN formée conformément à [RFC4944].

  2. Ensuite, le 6LN détermine un ou plusieurs routeurs par défaut dans le réseau en envoyant une RS à l'adresse de multidiffusion de tous les routeurs avec la SLLAO définie sur son adresse locale de liaison EUI-64. Si le 6LN a pu obtenir l'adresse de couche de liaison d'un routeur via ses opérations de couche de liaison, alors le 6LN peut former une adresse IPv6 de destination locale de liaison pour le routeur et lui envoyer une RS en monodiffusion.

    Le 6LR répond avec un RA en monodiffusion à l'adresse source IP en utilisant la SLLAO de la RS (il peut avoir créé une NCE Tentative). Voir Figure 2.

  3. Afin de communiquer à plus d'un saut IP, le 6LN configure une adresse IPv6 globale. Afin d'économiser de la surcharge, ce 6LN souhaite configurer son adresse IPv6 sur la base d'une adresse courte de 16 bits conformément à [RFC4944]. Comme le réseau est non géré (drapeau M non défini dans le RA), le 6LN choisit aléatoirement une adresse de couche de liaison de 16 bits et en forme une adresse IPv6 Tentative.

  4. Ensuite, le 6LN enregistre cette adresse auprès d'un ou plusieurs de ses routeurs par défaut en envoyant un message NS en monodiffusion avec une ARO contenant son adresse IPv6 globale Tentative à enregistrer, la Durée de Vie d'Enregistrement, et son EUI-64. Une SLLAO est également incluse avec l'adresse de couche de liaison correspondant à l'adresse en cours d'enregistrement. Si un message NA réussi (Statut 0) est reçu, l'adresse peut alors être utilisée, et le 6LN suppose qu'elle a été vérifiée avec succès pour les doublons. Si un message NA d'adresse dupliquée (Statut 1) est reçu, le 6LN supprime alors l'adresse IPv6 temporaire et l'adresse de couche de liaison de 16 bits et retourne à l'étape 3. Si un message Cache des Voisins Plein (Statut 2) est reçu, le 6LN tente de s'enregistrer auprès d'un autre routeur par défaut ou, s'il n'y en a pas, retourne à l'étape 2. Voir Figure 3. Notez qu'un message NA retournant une erreur serait renvoyé à l'adresse IPv6 locale de liaison basée sur EUI-64 du 6LN au lieu de l'adresse (dupliquée) de 16 bits.

  5. Le 6LN effectue maintenant la maintenance en envoyant un nouvel enregistrement d'adresse NS avant l'expiration de la durée de vie.

Si la DAD à sauts multiples et la distribution de préfixe et de contexte à sauts multiples sont utilisées, l'effet des 6LR et des hôtes suivant le processus d'amorçage ci-dessus est un « front d'onde » de 6LR et d'hôtes en cours de configuration, se propageant vers l'extérieur à partir des 6LBR : D'abord, les hôtes et les 6LR qui peuvent atteindre directement un 6LBR recevraient un ou plusieurs RA, puis configureraient et enregistreraient leurs adresses IPv6. Une fois cela fait, ils activeraient le protocole de routage et commenceraient à envoyer des RA. Cela entraînerait un nouvel ensemble de 6LR et d'hôtes recevant des réponses à leurs RS, formant et enregistrant leurs adresses, etc. Cela se répète jusqu'à ce que tous les 6LR et hôtes aient été configurés.

10.2.1. Messages d'Amorçage d'Hôte

Cette section fournit des exemples de messages spécifiques liés au processus d'amorçage décrit ci-dessus. Lors de la discussion des messages, la notation suivante est utilisée :

  • LL64 : Adresse locale de liaison basée sur l'EUI-64, qui est également l'adresse longue 802.15.4.
  • GP16 : Adresse globale basée sur l'adresse courte 802.15.4. Cette adresse peut ne pas être unique.
  • GP64 : Adresses globales dérivées de l'adresse EUI-64 comme spécifié dans [RFC4944].
  • MAC64 : Adresse EUI-64 utilisée comme adresse de couche de liaison.
  • MAC16 : Adresse courte IEEE 802.15.4 de 16 bits.

Notez que certaines implémentations peuvent utiliser des adresses de style LL64 et GP16 au lieu de LL64 et GP64. Dans ce qui suit, nous montrerons un exemple de flux de messages sur la façon dont un nœud utilise LL64 pour enregistrer une adresse GP16 pour la vérification DAD à sauts multiples.

    6LN-----RS-------->6LR
Src= LL64 (6LN)
Dst= multidiffusion-portée-lien-tous-routeurs
SLLAO= MAC64 (6LN)

6LR------RA--------->6LN
Src= LL64 (6LR)
Dst= LL64 (6LN)

Note: L'adresse source du RA doit être une adresse
locale de liaison (Section 4.2 de RFC 4861).

6LN-------NS Enreg------>6LR
Src= GP16 (6LN)
Dst= LL64 (6LR)
ARO
SLLAO= MAC16 (6LN)

6LR---------DAR----->6LBR
Src= GP64 ou GP16 (6LR)
Dst= GP64 ou GP16 (6LBR)
Adresse Enregistrée= GP16 (6LN) et EUI-64 (6LN)

6LBR-------DAC--------->6LR
Src= GP64 ou GP16 (6LBR)
Dst= GP64 ou GP16 (6LR)
Copie des informations du DAR

Si le Statut est un succès :

6LR ---------NA-Enreg------->6LN
Src= LL64 (6LR)
Dst= GP16 (6LN)
ARO avec Statut = 0

Si le Statut n'est pas un succès :

6LR ---------NA-Enreg-------->6LN
Src= LL64 (6LR)
Dst= LL64 (6LN) --> Dérivé de l'EUI-64 de l'ARO
ARO avec Statut > 0


Figure 5: Exemples Détaillés d'Adresses de Message

10.3. Exemple d'Interaction de Routeur

Dans la topologie route-over, lorsqu'un protocole de routage est exécuté entre les 6LR, l'amorçage et la gestion du Cache des Voisins sont gérés un peu différemment. La description dans ce paragraphe ne fournit qu'une ligne directrice pour une implémentation.

Lors de l'initialisation d'un 6LR, il peut choisir de s'amorcer en tant qu'hôte avec l'aide d'un 6LR parent si la DAD à sauts multiples substituable est effectuée avec le 6LBR. La gestion du Cache des Voisins d'un routeur et la résolution d'adresse entre les routeurs voisins sont décrites respectivement dans les Sections 6.5.3 et 6.5.5. Dans cet exemple, nous supposons que le lien 6LoWPAN voisin est sécurisé.

10.3.1. Amorçage d'un Routeur

Dans ce scénario, le 6LR en cours d'amorçage, 'R1', est à plusieurs sauts du 6LBR et entouré d'autres voisins 6LR. Initialement, R1 se comporte comme un hôte. Il envoie une RS multidiffusion et reçoit un RA d'un ou plusieurs 6LR voisins. R1 choisit un 6LR comme son routeur par défaut temporaire et effectue la résolution d'adresse via ce routeur par défaut. Notez que si la DAD à sauts multiples n'est pas requise (par exemple, dans un réseau géré ou en utilisant des adresses basées sur EUI-64), alors il n'a pas besoin de choisir un routeur par défaut temporaire ; cependant, il peut toujours vouloir envoyer le message RS initial s'il veut autoconfigurer son adresse avec le préfixe global diffusé par le 6LBR.

Sur la base des informations reçues dans les RA, R1 met à jour son cache avec des entrées pour tous les 6LR voisins. Une fois l'enregistrement d'adresse terminé, le routeur en cours d'amorçage supprime l'entrée temporaire du routeur par défaut, et le protocole de routage est démarré.

Notez également que R1 peut rafraîchir son enregistrement DAD à sauts multiples directement avec le 6LBR (en utilisant le 6LR voisin de saut suivant déterminé par le protocole de routage pour atteindre le 6LBR).

10.3.2. Mise à Jour du Cache des Voisins

Dans cet exemple, il y a trois 6LR : R1, R2 et R3. Initialement, lorsque R2 démarre, il ne voit que R1, et par conséquent R2 crée une NCE pour R1. Supposons maintenant que R2 reçoive une mise à jour de routage valide du routeur R3. R2 n'a aucune NCE pour R3. Si l'implémentation de R2 prend en charge la détection des adresses de couche de liaison à partir des paquets d'informations de routage, alors elle met directement à jour son Cache des Voisins en utilisant ces informations de couche de liaison. Si ce n'est pas possible, alors R2 devrait effectuer une NS multidiffusion avec la source définie avec son adresse locale de liaison ou globale, selon la portée de l'adresse IP source reçue dans le paquet de mise à jour de routage. L'adresse cible du message NS est l'adresse IPv6 source du paquet de mise à jour de routage reçu. Le format du message NS est tel que décrit à la Section 4.3 de [RFC4861].

Plus généralement, tout 6LR qui reçoit une mise à jour de route valide d'un routeur voisin pour lequel il n'a aucune NCE est tenu de mettre à jour son Cache des Voisins comme décrit ci-dessus.

Les adresses IP du routeur (6LR et 6LBR) apprises via ND ne sont pas redistribuées au protocole de routage.