À propos du routage BFD
BFD est un protocole de détection conçu pour fournir des temps de détection de défaillance du chemin d'acheminement rapides pour tous les types de médias, encapsulations, topologies et protocoles de routage. BFD fonctionne en mode point à point de monodiffusion en plus de tout protocole de données transféré entre deux systèmes. Les paquets sont transportés dans la charge utile du protocole d’encapsulation approprié pour le support et le réseau.
BFD fournit une méthode de détection des défaillances cohérente pour les administrateurs réseau en plus de la détection des défaillances du chemin de transfert rapide. Comme l’administrateur réseau peut utiliser BFD pour détecter les défaillances du chemin de transfert à un débit uniforme, plutôt que pour les débits variables, pour les différents mécanismes Hello du protocole de routage, le profilage et la planification du réseau sont plus faciles et le temps de reconversion est uniforme et prévisionnel.
Mode asynchrone BFD et fonction d’écho
La BFD peut fonctionner en mode asynchrone avec ou sans la fonction d’écho activée.
- Mode asynchrone
-
En mode asynchrone, les systèmes envoient périodiquement des paquets de contrôle de la BFD l’un à l'autre, et si un certain nombre de paquets de la ligne ne sont pas reçus par l’autre système, la session est déclarée inactive. Le mode asynchrone pur (sans la fonction d’écho) est utile, car il nécessite deux fois moins de paquets pour atteindre un temps de détection particulier.
- Fonction d’écho de la BFD
-
La fonction d’écho de la BFD envoie des paquets d’écho du moteur de transfert au voisin BFD à saut unique directement connecté. Les paquets écho sont envoyés par le moteur de transfert et redirigés le long du même chemin pour effectuer la détection. La session BFD à l’autre extrémité ne participe pas au transfert réel des paquets écho. Comme la fonction d’écho et le moteur de transfert sont responsables du processus de détection, le nombre de paquets de contrôle de la BFD qui sont envoyés entre les voisins de la BFD est réduit. Puisque le moteur de transfert teste le chemin de transfert sur le système voisin distant sans interagir avec le système distant, la variation du délai entre les paquets est augmentée. Cela se traduit par des délais de détection des défaillances plus rapides.
Lorsque la fonction d’écho est activée, la BFD peut utiliser la minuterie lente pour retarder la session asynchrone et réduire le nombre de paquets de contrôle de BFD envoyés entre les voisins de BFD, ce qui réduit le surdébit de traitement tout en permettant une détection plus rapide des défaillances.

Remarque
La fonction d’écho n’est pas prise en charge pour les voisins BFD à multisaut IPv4 ou à saut unique IPv6.
Vous pouvez activer la BFD au niveau de l’interface et du protocole de routage. Vous devez configurer la BFD sur les deux systèmes (homologues BFD). Après avoir activé la BFD sur les interfaces et au niveau du routeur pour les protocoles de routage appropriés, une session BFD est créée, les minuteries de la BFD sont négociées et les homologues de la BFD commencent à s’envoyer des paquets de contrôle de la BFD au niveau négocié.
Établissement de la session BFD
L’exemple suivant montre l’ASA et un routeur voisin exécutant le protocole de passerelle frontière (BGP). Au moment où les deux appareils démarrent, aucune session BFD n’est établie entre eux.

Une fois que le protocole BGP a identifié son voisin BGP, il démarre le processus BFD avec l’adresse IP du voisin. La BFD ne détecte pas ses homologues de manière dynamique. Elle s’appuie sur les protocoles de routage configurés pour lui indiquer quelles adresses IP utiliser et quelles relations d’homologues former.
La BFD sur le routeur et la BFD sur l’ASA forment un paquet de contrôle de BFD et commencent à s’envoyer des paquets à un intervalle d’une seconde jusqu’à ce que la session BFD soit établie. Les paquets de contrôle initiaux de l’un ou l’autre des systèmes sont très similaires. Par exemple, les bits Vers, Diag, H, D, P et F sont tous définis sur zéro et l’état est défini sur Down (En panne). Le champ My Discriminator (Mon discriminateur) est défini sur une valeur unique sur le périphérique de transmission. Le champ Your Discriminator (Votre discriminateur) est défini sur zéro, car la session BFD n’a pas encore été établie. Les minuteries TX et RX sont définies aux valeurs trouvées dans la configuration de l’appareil.
Une fois que le périphérique BFD distant a reçu un paquet de contrôle de BFD pendant la phase d’ouverture de session, il copie la valeur du champ My Discriminator (Mon discriminateur) dans son propre champ Your Discriminator (Votre discriminateur) et la transition de l’état Down (En panne) à l’état Init (Initialisation), puis finalement à l’état Up (Opérationnel) se produit. Une fois que les deux systèmes ont vu leurs propres discriminateurs dans les paquets de contrôle de l’autre, la session est officiellement établie.
L’illustration suivante montre la connexion BFD établie.

Négociation de la minuterie BFD
Les appareils BFD doivent négocier les minuteries BFD pour contrôler et synchroniser le débit d’envoi des paquets de contrôle BFD. Un périphérique doit s’assurer des éléments suivants avant de pouvoir négocier une minuterie BFD :
-
Que son appareil homologue a vu le paquet contenant les minuteries proposées par le périphérique local
-
Qu’il n’envoie jamais de paquets de contrôle BFD plus rapidement que l’homologue n’est configuré pour les recevoir
-
Que l’homologue n’envoie jamais de paquets de contrôle BFD plus rapidement que le système local n’est configuré pour les recevoir
Les paramètres du champ Your Discriminator (Votre discriminateur) et du bit H suffisent pour indiquer au périphérique local que le périphérique distant a vu ses paquets lors de l’échange initial de la minuterie. Après avoir reçu un paquet de contrôle BFD, chaque système prend l’intervalle RX minimum requis et le compare à son propre intervalle TX minimum souhaité, puis prend la plus grande (la plus lente) des deux valeurs et l’utilise comme débit de transmission pour ses paquets BFD. Le plus lent des deux systèmes détermine le débit de transmission.
Lorsque ces minuteries ont été négociées, elles peuvent être renégociées à tout moment pendant la session sans entraîner de réinitialisation de session. Le périphérique qui modifie ses minuteries règle le bit P sur tous les paquets de contrôle BFD suivants jusqu’à ce qu’il reçoive un paquet de contrôle BFD avec le bit F défini pour le système distant. Cet échange de bits permet d’éviter la perte de paquets pendant le transit.
![]() Remarque |
Le réglage du bit F par le système distant ne signifie pas qu’il accepte les nouvelles minuteries proposées. Il indique que le système distant a vu les paquets dans lesquels les minuteries ont été modifiées. |
Détection de défaillance BFD
Une fois la session BFD et les minuteries négociées, les homologues BFD s’envoient des paquets de contrôle BFD à l’intervalle négocié. Ces paquets de contrôle agissent comme une pulsation très similaire au protocole IGP Hello, sauf que le débit est plus accéléré.
Tant que chaque homologue de la BFD reçoit un paquet de contrôle de la BFD dans le cadre de l’intervalle de détection configuré (intervalle RX minimal requis), la session de la BFD reste active et tout protocole de routage associé à la BFD conserve ses contiguïtés. Si un homologue BFD ne reçoit pas de paquet de contrôle dans cet intervalle, il informe tous les clients participant à cette session BFD de la défaillance. Le protocole de routage détermine la réponse appropriée à ces renseignements. La réponse typique est de mettre fin à la session d’appairage du protocole de routage et de reconverger, et ainsi de contourner un homologue défaillant.
Chaque fois qu’un homologue BFD reçoit avec succès un paquet de contrôle BFD dans une session BFD, la minuterie de détection pour cette session est réinitialisée à zéro. La détection des défaillances dépend donc des paquets reçus et NON de la dernière transmission d’un paquet par le récepteur.
Scénarios de déploiement BFD
Les éléments suivants décrivent le fonctionnement de la BFD dans ces scénarios spécifiques.
- Basculement
-
Dans un scénario de basculement, des sessions BFD sont établies et maintenues entre l’unité active et l’unité voisine. Les unités en veille ne maintiennent aucune session BFD avec leurs voisins. Lors d’un basculement, la nouvelle unité active doit initier l’établissement d’une session avec le voisin, car les renseignements sur la session ne sont pas synchronisés entre les unités actives et de secours.
Pour un scénario de redémarrage progressif/NSF, le client (BGP IPv4/IPv6) est chargé d’informer son voisin de l’événement. Lorsque le voisin reçoit les renseignements, il conserve la table RIB jusqu’à ce que le basculement soit terminé. Pendant le basculement, les sessions BFD et BGP sont inactives sur l’appareil. Une fois le basculement terminé, une nouvelle session BFD entre les voisins est établie lorsque la session BGP est lancée.
- EtherChannel étendu et grappe L2
-
Dans un scénario de grappe EtherChannel étendu, la session BFD est établie et maintenue entre l’unité principale et son voisin. Les unités subordonnées ne maintiennent aucune session BFD avec leurs voisins. Si un paquet BFD est acheminé vers l’unité subordonnée en raison de l’équilibrage de charges sur le commutateur, l’unité subordonnée doit transférer ce paquet à l’unité principale par la liaison de grappe. Lorsqu’un basculement de grappe se produit, la nouvelle unité principale doit initier l’établissement d’une session avec le voisin, car les renseignements sur la session ne sont pas synchronisés entre les unités principale et subordonnée.
- Mode d’interface individuelle et grappe L3
-
Dans un scénario de grappe en mode d’interface individuelle, les unités individuelles maintiennent leurs sessions BFD avec leurs voisins.
Commentaires