Résumé

  • Le voisin renvoie par transfert IP un paquet créé localement. Il ne produit ni état BFD ni déclaration indépendante sur sa disponibilité.
  • La validation exacte de TTL ou Hop Limit à 254 et le budget configuré attestent une boucle d’interface à un saut, pas une application ou un chemin aval.
  • La décision du client et ses conséquences pour les utilisateurs restent distinctes de l’alarme ; revenir sur le chemin exige davantage que retrouver l’Echo.

Ce qui manque après le voyant vert

Un équipement peut continuer à renvoyer un paquet tout en ayant perdu son adresse de gestion ou un service situé au-delà. Ce n’est pas nécessairement une erreur du détecteur. C’est une erreur dans la promesse qu’on lui a fait porter. L’Echo BFD non affilié de RFC 9747 est intéressant parce qu’il réduit cette promesse à un échange très précis : A expédie vers B un paquet dont l’adresse IP de destination appartient à A, et B le retransmet à A.

La première section de RFC 9747 précise que le test surveille la connectivité avec un équipement par une interface donnée, sans vérifier la disponibilité d’une adresse IP particulière de cet équipement. Le document, publié en mars 2025 dans la filière de normalisation IETF, met à jour RFC 5880. Il couvre IPv4 et IPv6 sur un seul saut IP. La publication d’un standard n’est ni une mesure de déploiement ni une preuve de réduction des interruptions.

Le bénéfice est concret : un voisin incapable de prendre en charge l’intégralité de BFD n’a besoin que du transfert IP permettant le retour. Mais si le premier saut renvoie déjà le paquet, aucun chemin plus long n’a été parcouru. On ne peut donc pas déduire la disponibilité aval d’une boucle qui s’est refermée avant elle.

Un état qui ne vient pas du voisin

Le format est celui d’un paquet BFD Control, envoyé au port UDP de destination Echo 3785. B ne l’intercepte pas pour exécuter BFD et n’en analyse pas les champs. A applique au retour les procédures pertinentes de traitement asynchrone, de validation et d’authentification. Il peut considérer l’ensemble comme une session locale ; il n’existe pas de coordination d’état BFD entre les extrémités.

Ainsi, Down, Init et Up sont alimentés par l’état que A a lui-même émis, puis reçu en retour. AdminDown n’est pas utilisé. B ne confirme pas par ce canal qu’une maintenance est terminée ou qu’il souhaite recevoir du trafic. My Discriminator est provisionné sur A ; Your Discriminator vaut d’abord zéro, puis reprend le My Discriminator renvoyé. Au démarrage, la démultiplexion utilise l’adresse IP source ou le port UDP source, avant de s’appuyer uniquement sur Your Discriminator. Cette sélection d’une session locale ne certifie pas l’identité de B. RFC 9747, section 2, décrit ces modifications.

Une exigence de saut, pas un passeport

Le paquet sort avec un TTL ou Hop Limit de 255. À réception, la valeur doit être exactement 254 ; toute autre valeur impose le rejet. L’authentification ne permet pas d’omettre ce contrôle. Cette rigueur empêche de transformer commodément une autre topologie en test conforme. Elle ne suffit toutefois pas à identifier le voisin : elle vérifie une condition de saut sous les hypothèses du transfert réseau. Les tunnels ou traitements particuliers doivent être examinés pour eux-mêmes.

RFC 9747 recommande la section d’authentification BFD, notamment parce que les Echo peuvent être usurpés. Son contenu est encore produit par A. Vérifier ce contenu revenu protège le test dans les limites de la méthode choisie ; cela ne fait pas de B un interlocuteur authentifié qui aurait signé son identité, son intention ou la santé du service. Confondre ces questions reviendrait à accorder au voisin une parole qu’il n’a jamais prononcée.

Sans protocole distant, avec des conditions distantes

Le silence de B n’abolit pas la préparation. Le transfert IP doit être actif, ce qui n’est pas nécessairement le cas par défaut sur un hôte. La méthode de configuration du retour sur B reste hors du périmètre de RFC 9747. A doit aussi faire sortir vers B un paquet adressé à lui-même, plutôt que le livrer localement. Sur un lien à accès multiple, la destination de liaison doit désigner le voisin voulu. Observer l’émission sur l’interface sélectionnée vaut mieux que supposer qu’une étiquette de configuration décrit le trajet réel.

Les règles d’encapsulation Echo de RFC 5881 évitent les Redirect : une source dans le sous-réseau de l’interface de sortie, ou une source IPv6 link-local, ne convient pas sauf si l’absence de redirection est connue. Le contrôle strict du chemin inverse unicast peut également empêcher la boucle ; RFC 9747 le signale, et RFC 3704 explique le contrôle concerné. Il faut organiser une compatibilité précisément bornée avec la protection d’entrée, non abandonner la lutte contre l’usurpation dans tout le réseau.

B peut modifier filtrage ou transfert sans émettre d’état administratif BFD. Pour A, un paquet manquant peut alors signifier que les conditions du test ont changé, et non que tout service distant a disparu. Une autre ambiguïté vient de la réception locale : pression sur le traitement ou mauvaise association de session peuvent faire échouer l’Echo alors que des transactions continuent. Les faux résultats doivent être définis par rapport à un service et une fenêtre d’observation, pas par rapport à un vague idéal de « réseau sain ».

Le budget que A choisit

Les champs Desired Min TX Interval et Required Min RX Interval sont renseignés avec des valeurs déterminées pour éviter l’exposition de mémoire non initialisée. Une seconde, soit 1 000 000 de microsecondes, est recommandée ; zéro est recommandé pour Required Min Echo RX Interval. Ces trois champs sont ignorés à réception, et les deux premiers ne servent pas au calcul du Detection Time. Ils ne constituent pas une négociation avec B.

L’intervalle de transmission en Up et Detect Mult sont configurés sur A. Le démarrage et le retour à Down emploient le rythme lent décrit par le RFC, ne dépassant pas un paquet par seconde ; Up permet le rythme provisionné. Si le nombre configuré d’Echo attendus manque en Up, A passe obligatoirement à Down et fixe LocalDiag à 2, Echo Function Failed. Le produit nominal intervalle × nombre d’absences aide à penser le budget. Il ne mesure ni le délai de réaction du client, ni la modification du transfert, ni la reprise d’une transaction utilisateur. Ces délais doivent rester séparés.

La preuve obtenue est donc exploitable sans être universelle : une petite boucle a satisfait ses conditions locales dans le budget local. C’est assez pour éclairer une décision d’interface définie à l’avance, pas pour prononcer la disponibilité générale du voisin.

Sources

Spécification, règles héritées et statut: RFC Editor, RFC 9747, IETF Datatracker, RFC 5880, RFC 5881, RFC 5882, RFC 5082, RFC 3704, RFC 9747 — errata.

Grille d’analyse attribuée: Lu Heng — Note 65, Lu Heng — Note 64, Lu Heng — Note 36.