Aller au contenu principal

1. Introduction

Le protocole Neighbor Discovery (ND) [RFC4861] spécifie les mécanismes que les nœuds IPv6 (hôtes et routeurs) sur le même lien utilisent pour communiquer et apprendre les uns des autres. L'autoconfiguration d'adresse sans état (SLAAC) [RFC4862] s'appuie sur ces mécanismes ND pour permettre aux nœuds de configurer leurs propres adresses IPv6. Lors de l'analyse des problèmes que les nœuds peuvent rencontrer avec ND, il est utile de visualiser les messages ND qu'ils échangent tout au long de leur cycle de vie, en tenant compte de SLAAC.

Pour un hôte, la procédure globale est la suivante :

  1. LLA DAD (Détection d'adresse en double pour l'adresse locale de lien) : L'hôte forme une adresse locale de lien (LLA) et effectue une détection d'adresse en double (DAD) à l'aide de sollicitations de voisin (NS) multidiffusion.

  2. Découverte de routeur : L'hôte envoie des sollicitations de routeur (RS) multidiffusion pour découvrir un routeur sur le lien. Le routeur répond avec des annonces de routeur (RA), fournissant des préfixes de sous-réseau et d'autres informations. L'hôte installe une entrée de cache de voisin (NCE) pour ce routeur lors de la réception des RA. En revanche, le routeur ne peut pas installer de NCE pour l'hôte à ce moment de l'échange car l'adresse IP globale de l'hôte est encore inconnue. Lorsque le routeur doit plus tard transférer un paquet vers l'adresse globale de l'hôte, il effectuera une résolution d'adresse et installera une NCE pour l'hôte.

  3. GUA DAD (Détection d'adresse en double pour l'adresse unicast globale) : L'hôte forme une adresse unicast globale (GUA) [RFC3587] ou une adresse locale unique (ULA) [RFC4193] et utilise des NS multidiffusion pour DAD. Pour simplifier la description, ce document ne distinguera plus GUA et ULA.

  4. Détermination du prochain saut et résolution d'adresse : Lorsque l'hôte doit envoyer un paquet, il déterminera d'abord si le prochain saut est un routeur ou un hôte sur le lien (qui est la destination). Si le prochain saut est un routeur, l'hôte possède déjà la NCE pour ce routeur. Si le prochain saut est un hôte sur le lien, il utilisera des NS multidiffusion pour effectuer une résolution d'adresse pour l'hôte de destination. En conséquence, l'hôte source installe une NCE pour l'hôte de destination.

  5. Détection d'inaccessibilité de nœud (NUD) : L'hôte utilise des NS unicast pour déterminer si un autre nœud avec une NCE est toujours accessible.

  6. Annonce de changement d'adresse de couche liaison : Si l'adresse de couche liaison d'un hôte change, il peut utiliser des annonces de voisin (NA) multidiffusion pour annoncer sa nouvelle adresse de couche liaison aux autres nœuds.

Pour un routeur, la procédure est similaire sauf qu'il n'y a pas de découverte de routeur. Au lieu de cela, les routeurs effectuent une procédure de redirection que les hôtes n'ont pas. Un routeur envoie une redirection pour informer un nœud d'un meilleur prochain saut pour le trafic du nœud.

ND utilise la multidiffusion dans de nombreux messages et fait confiance aux messages de tous les nœuds ; de plus, les routeurs peuvent installer des NCE pour les hôtes à la demande lorsqu'ils doivent transférer des paquets vers ces hôtes. Cela peut entraîner des problèmes. Concrètement, divers problèmes ND et solutions d'atténuation ont été publiés dans plus de 20 RFC.

Ce document résume ces RFC en une référence unique (au moment de la rédaction) pour un accès plus facile. Ce document identifie également trois causes des problèmes et définit trois méthodes d'isolement d'hôte pour traiter les causes et prévenir les problèmes ND potentiels.

1.1. Terminology (Terminologie)

Ce document utilise les termes définis dans [RFC4861]. Des termes supplémentaires sont définis dans cette section.

MAC (Contrôle d'accès au support) : Pour éviter toute confusion avec les adresses locales de lien, les adresses de couche liaison sont appelées "adresses MAC" dans ce document.

Isolement d'hôte : Séparation des hôtes dans différents sous-réseaux ou liens.

Isolement L3 : Attribution d'un préfixe unique par hôte (UPPH) [RFC8273] [RFC9663] de sorte que chaque hôte soit dans un sous-réseau différent. Étant donné qu'un préfixe unique peut être attribué par hôte sur un support partagé, les hôtes dans différents sous-réseaux peuvent être sur le même lien.

Isolement L2 : Prendre des mesures pour empêcher un hôte d'atteindre directement d'autres hôtes en couche 2 (L2) de sorte que chaque hôte soit sur un lien différent. En raison de l'existence du sous-réseau multi-liens [RFC4903], les hôtes sur différents liens peuvent être dans le même sous-réseau. Par conséquent, l'isolement L2 n'implique pas l'isolement L3, et l'isolement L3 n'implique pas non plus l'isolement L2.

Isolement L3+L2 : Application simultanée de l'isolement L3 et de l'isolement L2 de sorte que chaque hôte soit dans un sous-réseau différent et sur un lien différent.

Isolement L2 partiel : Utilisation d'un dispositif proxy ND L3 [RFC4389] pour représenter les hôtes derrière lui aux autres hôtes du même sous-réseau. Dans le sous-réseau, l'échange multidiffusion ND est segmenté en plusieurs portées plus petites, chacune représentée par un dispositif proxy ND.