home

Supported platforms

Vyatta documentation

Learn how to install, configure, and operate the Vyatta Network Operating System (Vyatta NOS) and Orchestrator, which help drive our virtual networking and physical platforms portfolio.

Understanding BFD

Bidirectional Forwarding Detection (BFD) is a simple control protocol that is used to detect faults between two forwarding systems that are connected by a link. BFD is comparable to the detection components of well-known routing protocols.

A requirement of networking solutions is the rapid detection of communication failures between adjacent systems to establish alternative paths quickly. The time-to-detect failure in existing protocols is no better than one second, which is far too long for some applications, and represents data loss at gigabit rates.

Consider two systems, R1 and R2, that already share a routing protocol such as BGP on a data plane interface named dp0s7. If we set up a BFD session between R1 and R2, R1 and R2 begin to transmit packets periodically over each path between the two systems. The control packets adhere to a previously agreed-upon frequency. If R1 stops receiving BFD packets for a specified time, some component in that particular bidirectional path to R2 is assumed to have failed. Under some conditions, R1 and R2 may negotiate not to send periodic BFD packets to reduce overhead. Thus, allows for fast systems on a shared medium with a slow system to rapidly detect failures between the fast while allowing the slow system to participate to the best of its ability.
Figure 1. An overview of BFD

BFD works with both peers that are connected directly and peers that are multiple hops away. No automatic discovery of BFD neighbors occurs; the sessions must be explicitly configured for each new system. For more information about BFD, refer to RFC 5880, Bidirectional Forwarding Detection (BFD), at https://tools.ietf.org/html/rfc5880.

Note: BFD is a failure-detection mechanism only; the routing protocol is responsible for taking a failover action.