2. Design (Entwurf)
2. Design (Entwurf)
BFD ist darauf ausgelegt, Ausfälle in der Kommunikation mit einem Forwarding Plane Next Hop zu erkennen. Es ist dafür vorgesehen, in einer Komponente der Forwarding Engine eines Systems implementiert zu werden, in Fällen, in denen die Forwarding Engine und die Control Engine getrennt sind. Dies bindet das Protokoll nicht nur enger an die Forwarding Plane, sondern entkoppelt das Protokoll auch vom Schicksal der Routing-Protokoll-Engine, was es in Verbindung mit verschiedenen "Graceful Restart"-Mechanismen für diese Protokolle nützlich macht. BFD kann auch in der Control Engine implementiert werden, obwohl dies die Erkennung einiger Arten von Ausfällen ausschließen kann.
BFD arbeitet auf jedem Datenprotokoll (Netzwerkschicht, Verbindungsschicht, Tunnel usw.), das zwischen zwei Systemen weitergeleitet wird. Es wird immer in einem Unicast-, Point-to-Point-Modus betrieben. BFD-Pakete werden als Nutzdaten des jeweiligen Verkapselungsprotokolls übertragen, das für das Medium und Netzwerk geeignet ist. BFD kann auf mehreren Ebenen in einem System laufen. Der Kontext des Betriebs einer bestimmten BFD-Sitzung ist an seine Verkapselung gebunden.
BFD kann Fehlererkennungsmöglichkeiten auf jeder Art von Pfad zwischen Systemen bereitstellen, einschließlich direkter physischer Verbindungen, virtueller Schaltungen, Tunnel, MPLS Label Switched Paths (LSPs), Multihop-Routed-Pfaden und unidirektionaler Verbindungen (solange es natürlich einen Rückpfad gibt). Mehrere BFD-Sitzungen können zwischen demselben Systempaar eingerichtet werden, wenn mehrere Pfade zwischen ihnen in mindestens einer Richtung vorhanden sind, auch wenn in der anderen Richtung weniger Pfade verfügbar sind (z.B. mehrere parallele unidirektionale Verbindungen oder MPLS LSPs).
Der BFD-Zustandsautomat implementiert einen Three-Way-Handshake, sowohl beim Aufbau einer BFD-Sitzung als auch beim Abbau aus beliebigem Grund, um sicherzustellen, dass beide Systeme sich der Zustandsänderung bewusst sind.
BFD kann als einfacher Dienst abstrahiert werden. Die von BFD bereitgestellten Service-Primitive bestehen darin, eine Sitzung zu erstellen, zu zerstören und zu modifizieren, gegeben die Zieladresse und andere Parameter. BFD liefert im Gegenzug ein Signal an seine Clients, das anzeigt, wann die BFD-Sitzung aufgebaut oder abgebaut wird.