Résumé

  • Dans le modèle de la RFC 4861, plusieurs sondes unicast restées sans réponse finissaient par supprimer l’entrée du cache voisin.
  • La RFC 7048 introduit UNREACHABLE : une autre route peut être préférée, tandis que l’adresse de couche liaison reste disponible pour des sondes multicast espacées progressivement.

Quand l’échec cessait d’être une preuve suffisante

La détection d’inaccessibilité ne sonde pas en permanence tous les voisins connus. Une confirmation positive peut venir d’un progrès observé par la couche supérieure ou d’une Neighbor Advertisement répondant à une sollicitation. Sinon, une entrée utilisée suit normalement REACHABLE, STALE, DELAY, puis PROBE. Dans PROBE, les sollicitations unicast visent l’adresse de couche liaison déjà mémorisée.

La logique de la RFC 4861 était concise : après le nombre configuré de retransmissions sans réponse, l’entrée Neighbor Cache était supprimée. La RFC 7048 décrit le cas courant de trois transmissions espacées d’une seconde. Ce délai pouvait accélérer utilement le choix d’un autre routeur ou l’abandon d’une entrée créée par Redirect.

Mais la suppression ne crée pas de chemin de remplacement. En l’absence d’autre voisin, le trafic suivant doit recommencer la résolution d’adresse et peut provoquer de nouvelles sollicitations multicast au moment même où une panne de couche 2 perturbe déjà le lien.

Conserver l’indication, retirer la préférence

La RFC 7048 remplace cette suppression conceptuelle par une transition vers UNREACHABLE. Le délai de retransmission augmente et une sollicitation multicast est envoyée. L’entrée ordinaire conserve l’adresse de couche liaison ; des paquets IPv6 peuvent encore y être envoyés. Elle ne devient toutefois pas « connue comme joignable » : la sélection du prochain saut peut donc privilégier une autre route.

Les entrées issues d’un Redirect sont plus fragiles. Elles peuvent être supprimées et ne devraient pas servir au transfert lorsqu’elles sont UNREACHABLE. La collecte reste également possible pour toutes les entrées ; conserver une indication n’équivaut pas à réserver indéfiniment de la mémoire.

Interroger plus largement, moins souvent

Après les premières sondes, la RFC 7048 impose le passage au multicast dans les 60 secondes suivant la retransmission initiale, afin qu’un voisin dont l’adresse de couche liaison a changé puisse répondre. Les retransmissions prolongées doivent appliquer un backoff exponentiel, avec un plafond raisonnable tel qu’environ 60 secondes. Si aucun paquet n’utilise l’entrée, les sondes doivent s’arrêter jusqu’à une nouvelle utilisation ou une collecte.

Les valeurs d’exemple ne constituent pas un calendrier universel. La RFC 6583 fournit le contexte opérationnel : la résolution de très nombreuses adresses inexistantes peut saturer files d’attente et caches de Neighbor Discovery. Elle n’énonce pas la transition UNREACHABLE.

L’évolution historique porte donc sur deux décisions autrefois couplées : cesser de préférer un voisin et détruire la dernière correspondance connue. UNREACHABLE préserve une continuité réversible sans promettre la réussite des paquets.

Sources