La détection bidirectionnelle de transfert (BFD) est un protocole léger qui détecte les défaillances sur la liaison ou le chemin entre deux périphériques directement connectés ou logiquement adjacents, généralement en quelques millisecondes. Les protocoles de routage tels que BGP, OSPF, RIP et IS-IS utilisent le BFD comme mécanisme rapide de détection des défaillances, réagissant à la perte d'un voisin bien plus rapidement que ne le permettent leurs propres temporisateurs « hello » ou « dead ».
Points clés à retenir
- BFD détecte les défaillances de liaison et de chemin en quelques millisecondes, et non en quelques secondes.
- Les IGP et le BGP font office de clients BFD ; une même session peut prendre en charge plusieurs protocoles.
- VOS prend en charge le BFD avec les protocoles BGP, OSPF, OSPFv3, RIP, RIPng, IS-IS et les routes statiques.
- Les routes statiques utilisent le protocole BFD comme moniteur de disponibilité, en complément des contrôles basés sur le protocole ICMP.
- Versa recommande d'utiliser le BFD du côté du réseau local (LAN), et non au sein même de la superposition SD-WAN.
Sur cette page : Pourquoi est-ce important ?Comment ça marcheTypesBFD et VersaFAQ
Pourquoi le BFD est-il important ?
Les protocoles de routage n’ont pas été conçus pour détecter rapidement la défaillance d’un voisin. L’intervalle de défaillance par défaut de l’OSPF et le délai de maintien par défaut du BGP s’étendent tous deux sur plusieurs dizaines de secondes, ce qui est suffisamment long pour que le trafic continue d’affluer vers un trou noir après la défaillance d’une liaison. Les événements de défaillance de liaison de couche 2 sont utiles sur une connexion câblée directe, mais s’avèrent inutiles lorsque le chemin traverse un réseau commuté ou un équipement de centre de données ne disposant pas de signal physique de défaillance de liaison.
Le BFD comble cette lacune. Il établit une liaison de contrôle indépendante et indépendante du protocole entre deux nœuds et signale toute défaillance en quelques millisecondes, ce qui permet au protocole situé au-dessus de réagir immédiatement au lieu d’attendre l’expiration de ses propres temporisateurs. Une seule session BFD peut prendre en charge plusieurs clients – OSPF, BGP et une route statique simultanément – offrant ainsi une détection cohérente sans qu’il soit nécessaire de régler individuellement les temporisateurs de chaque protocole.
Qu'est-ce que le BFD ?
Le protocole BFD fonctionne grâce à l'échange de paquets de contrôle simples entre deux nœuds d'extrémité, à un intervalle négocié. Chaque partie indique la fréquence à laquelle elle envoie des paquets et le nombre de paquets consécutifs que son homologue peut manquer – le multiplicateur – avant de déclarer la session interrompue. Si ce nombre de paquets consécutifs est manqué, le protocole BFD en informe immédiatement tous les clients enregistrés, sans attendre l'expiration du délai de connexion (« hello timeout ») ni l'intervalle de mort spécifique au protocole.
Le BFD ne remplace pas un protocole de routage ; il fonctionne en parallèle de celui-ci pour assurer une vérification commune de l'état de fonctionnement. Un routeur peut lancer une session BFD une seule fois entre deux voisins et permettre au BGP, à l'OSPF et à une route statique vers ce voisin de s'abonner à l'état « up » ou « down » de cette même session : une seule session, plusieurs clients, une faible surcharge à mesure que davantage de protocoles partagent une liaison. Les paramètres sont configurés par instance ou par interface, ce qui permet aux voisins de fonctionner à des vitesses différentes.
Types de BFD
Le BFD n'est pas lié à un protocole de routage en particulier : les différences résident dans le type de client qui l'utilise et dans la manière dont la session est établie. Le BFD pour les routes statiques surveille un saut suivant configuré, en complément ou à la place d'une surveillance basée sur l'ICMP, et supprime la route en cas d'échec de la session. Le BFD IGP couvre les protocoles OSPF, OSPFv3, RIP, RIPng et IS-IS : lorsque la session avec un voisin est interrompue, l’adjacence est immédiatement interrompue, sans attendre l’expiration du délai d’inactivité du protocole. Le BFD BGP lie la présence d’une session de peering à l’état du BFD avec ce même voisin.
Il existe une autre distinction entre le BFD à saut unique et le BFD à sauts multiples : les sessions à saut unique s'établissent entre des interfaces directement connectées, tandis que les sessions à sauts multiples tolèrent des sauts routés entre les points d'extrémité. IS-IS propose une option « mode strict », dans laquelle une adjacence ne se forme qu'une fois que le BFD a confirmé le voisin.
BFD & Versa
Les périphériques VOS prennent en charge le protocole BFD comme mécanisme de surveillance de l’état de fonctionnement sur l’ensemble de la pile de routage : les routes statiques peuvent activer le BFD parallèlement à l’ICMP et à d’autres objets de surveillance, et le BFD peut être activé pour les instances BGP, OSPF, OSPFv3, RIP, RIPng et IS-IS, chacune avec ses propres intervalles et multiplicateurs. Les interfaces IS-IS prennent en outre en charge le BFD IPv4 et IPv6 de manière indépendante, avec un mode strict qui bloque l'adjacence jusqu'à ce que le BFD confirme le voisin.
Le guide de conception SD-WAN de l’Versa recommande d’activer le BFD du côté LAN d’un CPE VOS – en direction des équipements de couche 3 appartenant aux clients et des VNF de services du centre de données – afin d’assurer une détection en quelques millisecondes avant la convergence BGP ou OSPF, mais déconseille de l’intégrer à la superposition SD-WAN elle-même, car la conception de cette dernière, qui repose sur une convergence rapide et un fonctionnement sans interface utilisateur, gère déjà les défaillances de chemin.
Questions fréquentes
Que signifie l'acronyme BFD ?
BFD signifie « Bidirectional Forwarding Detection » (détection bidirectionnelle de l'acheminement) : il s'agit d'un protocole qui vérifie, dans les deux sens entre deux nœuds, que la voie d'acheminement les reliant fonctionne toujours – d'où le terme « bidirectionnel ». Chaque côté envoie et attend des paquets de contrôle, ce qui permet à n'importe quel nœud de détecter de manière indépendante une défaillance de la voie et de prendre les mesures qui s'imposent.
En quoi le BFD diffère-t-il des temporisateurs « hello » propres à un protocole de routage ?
Bonjour. Chaque protocole de routage intègre des temporisateurs de défaillance qui mettent généralement entre quelques secondes et plusieurs dizaines de secondes à détecter la perte d'un voisin. Le BFD est un mécanisme de pulsation léger et indépendant que plusieurs protocoles peuvent partager simultanément ; il permet de détecter la défaillance d'un voisin en quelques millisecondes, au lieu d'attendre l'expiration de ces temporisateurs natifs.
Une session BFD peut-elle prendre en charge plusieurs protocoles de routage ?
Oui. Une même session BFD entre deux voisins peut être enregistrée simultanément par plusieurs clients – par exemple OSPF, BGP et une route statique vers le même saut suivant – de sorte que tous prennent connaissance d'une défaillance via cette même session rapide.
Quelle est la différence entre un BFD à saut unique et un BFD à sauts multiples ?
Le BFD à saut unique fonctionne entre des interfaces directement connectées au sein d'un même sous-réseau, généralement avec des délais d'ordre de la fraction de seconde. Le BFD à sauts multiples tolère un ou plusieurs sauts routés entre les deux points d'extrémité, ce qui convient aux voisins accessibles via un routeur intermédiaire plutôt que par une liaison directe.
Faut-il activer le BFD sur une superposition SD-WAN « Versa » ?
VersaLa recommandation consiste à activer le BFD du côté du réseau local (LAN), en direction des routeurs tiers et des équipements du centre de données, plutôt qu’au sein même de la couche superposée SD-WAN, où les mécanismes propres à cette dernière de convergence rapide et de fonctionnement sans interface utilisateur assurent déjà la détection des défaillances sans qu’il soit nécessaire d’y ajouter des temporisateurs BFD.
En savoir plus sur BFD
Si vous souhaitez en savoir plus, voici des sources auxquelles nous faisons confiance.
| RFC 5880 : Détection de transfert bidirectionnel | RFC 5881 : BFD pour IPv4 et IPv6 (un seul saut) |
|---|---|
| La spécification fondamentale de l'IETF : le format des paquets BFD, la machine à états et la négociation de session. | La norme complémentaire qui définit le fonctionnement du protocole BFD sur des liaisons IPv4 et IPv6 à un seul saut. |
Termes associés
Si vous vous intéressez au BFD, voici quelques liens qui pourraient vous intéresser.
| Chemin d'accès | Route statique | Protocole Border Gateway (BGP) |
|---|---|---|
| Le chemin de bout en bout entre les succursales par lequel les protocoles surveillés par le BFD acheminent le trafic. | Un itinéraire configuré manuellement pouvant intégrer un contrôle de disponibilité BFD en plus des vérifications ICMP ou DNS. | Un protocole de vecteurs de chemin entre les CPE, les contrôleurs et les routeurs LAN, capable de s'enregistrer auprès d'une session BFD pour une détection rapide de la déconnexion d'un pair. |