BFD
Bidirectional Forwarding Detection
BFD erkennt Link-Ausfälle in Millisekunden — viel schneller als Routing-Protokolle es könnten. Ein dedizierter Keepalive-Mechanismus sendet kleine Kontrollpakete (typisch alle 300ms) und erkennt so Ausfälle, bevor OSPF oder BGP überhaupt reagiert hätten.
Entstehung und Beteiligte
Bidirectional Forwarding Detection wurde in der IETF von Dave Katz und Dave Ward entwickelt und 2010 als RFC 5880 veröffentlicht. Es sollte nicht für jedes Routingprotokoll einen eigenen schnellen Ausfallmechanismus benötigen.
Welches Problem sollte gelöst werden?
Hello-Timer von OSPF, BGP oder statischen Routen erkannten Fehler oft erst nach Sekunden. Sprachverkehr und schnelle Redundanz verlangten eine protokollunabhängige Erkennung im Millisekundenbereich.
Technische Hürden und Lösungen
Sehr kurze Intervalle erzeugen Last und können bei Überlast falsche Ausfälle melden. BFD muss über direkte, geroutete und gebündelte Wege funktionieren. Echo-Modus und Hardwareunterstützung reduzieren Reaktionszeit, unterscheiden sich aber nach Plattform.
Standardisierung und Einordnung
Routingverfahren beantworten die Frage, über welchen nächsten Knoten ein Paket sein Ziel erreicht. Ihre Entwicklung ist eng mit dem Wachstum des Internets und großer Unternehmensnetze verbunden. Die schwierigsten Probleme sind Schleifen, langsame Konvergenz, unvollständige Informationen und die Skalierung großer Tabellen. Kein Algorithmus kennt das gesamte reale Netz in Echtzeit; Router arbeiten mit ausgetauschten Zuständen, Regeln und Metriken.
Technik im praktischen Betrieb
Im Betrieb müssen Steuerungsebene und tatsächliche Weiterleitung getrennt geprüft werden. Eine Route kann im Protokoll gelernt, durch eine Richtlinie verworfen oder wegen eines anderen Präfixes nie verwendet werden. Nach Änderungen sind Nachbarschaft, Datenbank, Routingtabelle, Forwarding-Tabelle und Rückweg zu kontrollieren. Schnelle Konvergenz ist nicht automatisch stabil: zu aggressive Timer können kurze Lastspitzen als Leitungsfehler interpretieren. Zusammenfassungen und Filter reduzieren Größe, können aber Detailinformation verbergen.
Warum das Thema heute noch relevant ist
Die Relevanz dieser Verfahren wächst mit der Abhängigkeit von Netzen. Schon eine kleine fehlerhafte Ankündigung kann heute Rechenzentren, Cloudregionen oder Teile des Internets betreffen. Historisch gewachsene Vertrauensmodelle werden deshalb durch Filter, Authentifizierung, RPKI, Telemetrie und Automatisierung ergänzt. Trotzdem bleibt menschliche Kontrolle notwendig: Ein formal gültiger Weg kann geschäftlich oder sicherheitstechnisch falsch sein, und ein schneller Ersatzpfad kann andere Leitungen überlasten.
Daten und Meilensteine
- 2010: RFC 5880 standardisiert BFD.
- BFD meldet Ausfälle an Routingprotokolle, berechnet selbst keine Routen.
- Asynchrone und Echo-Betriebsarten sind möglich.
- Gewünschte Intervalle müssen von beiden Endpunkten unterstützt werden.
Was ist BFD?
Bidirectional Forwarding Detection (BFD, RFC 5880) ist ein einfaches, schnelles Hello-Protokoll zur Erkennung von Verbindungsausfällen zwischen zwei benachbarten Routern. Das Problem: Routing-Protokolle wie OSPF (Dead-Timer: 40 Sekunden) oder BGP (Hold-Timer: 90 Sekunden) brauchen sehr lange, um einen Ausfall zu erkennen.
BFD löst dies mit einem unabhängigen, leichtgewichtigen Keepalive-Mechanismus. Zwei Router tauschen alle 300ms BFD-Kontrollpakete aus. Bleiben 3 Pakete aus (Detect Multiplier = 3), gilt die Verbindung als ausgefallen — nach 900ms statt 40–90 Sekunden.
Wie BFD funktioniert
BFD läuft als UDP-Session (Port 3784) zwischen zwei direkt verbundenen oder netzweit erreichbaren Routern. Nach dem 3-Wege-Handshake (Init, Up-State) senden beide Seiten regelmäßig Control-Packets.
BFD-Parameter: Desired Min TX Interval (wie oft ich senden möchte), Required Min RX Interval (wie oft ich mindestens empfangen muss), Detect Multiplier (Vervielfacher für Timeout). Der effektive Timer ist: max(meineDesiredTX, seineRequiredRX) × DetectMultiplier.
- Minimale Konfiguration: 300ms Tx/Rx × 3 = 900ms Erkennung
- Aggressiv: 50ms × 3 = 150ms (hardware-abhängig)
- BFD-Echo: Pakete werden loopback-fähig weitergeleitet — kann Forwarding-Path testen
- Multihop-BFD (RFC 5883): BFD über mehrere Hops hinweg (z.B. für BGP-Peers)
Integration mit Routing-Protokollen
BFD arbeitet nicht allein — es ist ein Beschleuniger für andere Protokolle. OSPF, EIGRP, BGP, IS-IS und statische Routen können alle BFD nutzen:
Wenn BFD einen Ausfall meldet, benachrichtigt es das registrierte Routing-Protokoll sofort. OSPF startet dann das Reconvergence-Verfahren (SPF-Berechnung) innerhalb von Sekunden statt Minuten. BGP setzt die Peer-Session sofort zurück statt auf den Hold-Timer zu warten.
In redundanten Netzwerken (dual homed, ECMP) bedeutet das: Failover in unter 1 Sekunde statt 40–90 Sekunden.
BFD auf Hardware-Ebene
Moderne Router und Switches implementieren BFD im Hardware-Forwarding-ASIC, nicht im Control-Plane-Prozessor. Das ermöglicht sehr kleine Intervalle (10ms, 50ms) ohne CPU-Last. Software-BFD ist typischerweise auf 300ms begrenzt.
Typischer Einsatz: Rechenzentren mit redundanten Uplinks, MPLS-Provider-Netze, kritische BGP-Peerings mit Internet-Exchangen. Cisco IOS, Juniper JunOS, Nokia SR OS — alle unterstützen BFD nativ. Open-Source: FRRouting (FRR) mit ptm-bfd oder bfdd.