- Bidirectional Forwarding Detection
Bidirectional Forwarding Detection (BFD) is a network protocol used to detect faults between two forwarding engines. It provides low-overhead detection of faults even on physical media that don't support failure detection of any kind, such as
ethernet, virtual circuits, tunnels and MPLS LSPs.
BFD establishes a session between two endpoints over a particular link. If more than one link exists between two systems, multiple BFD sessions may be established to monitor each one of them. The session is established with a three-way handshake, and is torn down the same way. Authentication may be enabled on the session. A choice of simple password, MD5 or SHA1 authentication is available.
BFD does not have a discovery mechanism; sessions must be explicitly configured between endpoints. BFD may be used on many different underlying transport mechanisms and layers, and operates independently of all of these. Therefore, it needs to be encapsulated by whatever transport it uses. For example, monitoring MPLS LSPs involves piggybacking session establishment on
LSP-Pingpackets. Protocols that support some form of adjacency setup, such as OSPF or IS-IS, may also be used to bootstrap a BFD session. These protocols may then use BFD to receive faster notification of failing links than would normally be possible using the protocol's own keepalivemechanism.
A session may operate in one of two modes: "asynchronous mode" and "demand mode". In asynchronous mode, both endpoints periodically send "Hello" packets to each other. If a number of those packets are not received, the session is considered down.
In demand mode, no "Hello" packets are exchanged after the session is established; it is assumed that the endpoints have another way to verify connectivity to each other, perhaps on the underlying physical layer. However, either host may still send "Hello" packets if needed.
Regardless of which mode is in use, either endpoint may also initiate an "Echo" function. When this function is active, a stream of Echo packets is sent, and the other endpoint then sends these back to the sender via its forwarding plane. This is used to test the forwarding path on the remote system.
The BFD protocol is standardized in an IETF
working group. As of January 2006, Internet Drafts have been produced defining the BFD protocol, detecting MPLS LSP failure, using BFD to monitor connectivity across multiple network hops, and using BFD for IPv4and IPv6. This last draft also defines using BFD in conjunction with OSPF and IS-IS.
These drafts are expected to be submitted to the IESG, and subsequently released as RFCs.
* [http://www.ietf.org/html.charters/bfd-charter.html IETF BFD Working Group]
* [http://www.ripe.net/ripe/meetings/ripe-48/presentations/ripe48-eof-bfd.pdf BFD presentation by Juniper Networks]
* [http://tools.ietf.org/html/draft-ietf-bfd-base-02 Network Working Group Internet Draft]
Wikimedia Foundation. 2010.