Home Search Center Intelligent Model Selection IP Encyclopedia

What Is SBFD?

Bidirectional Forwarding Detection (BFD) provides a universal and standard fast fault detection mechanism that is independent of media and protocols. This mechanism is used to quickly detect communication faults between systems. BFD technology is relatively mature. However, if many BFD sessions are configured to detect links, their negotiation time gets longer, reducing system performance. In this case, you can configure Seamless Bidirectional Forwarding Detection (SBFD) — a simplified BFD mechanism — which speeds up BFD session negotiation and improves the flexibility of path detection for nodes across the network by simplifying the BFD state machine.

Why Do We Need SBFD?

BFD provides a universal and standard fast fault detection mechanism that is independent of media and protocols. This mechanism is used to quickly detect communication faults between systems.

In the BFD detection mechanism, two systems establish a BFD session, and negotiate the session based on the parameters carried in BFD packets. BFD session negotiation uses the three-way handshake mechanism. After successful negotiation, BFD packets are periodically sent along the path between the two systems based on the negotiated packet sending and receiving time. Having many BFD sessions configured to detect links prolongs BFD session negotiation, reducing system performance.

SBFD simplifies the BFD session negotiation mechanism. An SBFD session consists of an initiator and a reflector. The initiator (responsible for detection) sends an SBFD packet to the reflector to trigger session negotiation, and the reflector only reflects back the packet sent by the initiator. This speeds up BFD session negotiation and improves the flexibility of path detection for nodes across the network.

How Does SBFD Work?

The session state of the SBFD initiator can only be Up or Down, and it can only send packets carrying the Up or Down state. The reflector does not proactively send SBFD packets; it only verifies the parameters of SBFD packets to reflect the packets back. The state of the reflected packets can only be Up or AdminDown. If the reflector is not in the working state, it sets the packet state to AdminDown.

  • Initial state: The initiator first sends an SBFD packet in which the initial state is Down to the reflector.
  • State transition: The initiator sets the local SBFD session state to Up if it receives a reflected packet carrying the Up state. The initiator sets the local SBFD session state to Down either if it receives a reflected packet carrying the AdminDown state or does not receive any reflected packet before the timer expires.
  • State retention: If the initiator is in the Up state and receives a reflected packet carrying the Up state, the local SBFD session remains in the Up state. If the initiator is in the Down state and receives a reflected packet carrying the AdminDown state or does not receive any packet before the timer expires, the local SBFD session remains in the Down state.
The following figure illustrates the SBFD session state negotiation process. The initiator and reflector perform session negotiation by sending SBFD packets.
  • The initiator (responsible for detection) sends an SBFD packet to the reflector. The initial state of the SBFD packet is Down.

  • The reflector is not running an SBFD state machine or detection mechanism, and therefore it does not proactively send SBFD packets. Instead, it only reflects back the received SBFD packets. After receiving an SBFD packet from the initiator, the reflector checks whether the SBFD discriminator carried in the packet is the same as the locally configured global SBFD discriminator. If they do not match, the packet is discarded. If they match and the reflector is in the working state, the reflector reflects back the packet. If they match but the reflector is not in the working state, the reflector sets the state in the packet to AdminDown.

SBFD session negotiation


SBFD session negotiation
The initiator's SBFD state machine has and switches between only two states (Up and Down). The following figure illustrates how the SBFD state machine works.
SBFD state machine of the initiator
SBFD state machine of the initiator
  • Initial state: The initiator first sends an SBFD packet in which the initial state is Down to the reflector.
  • State transition: The initiator sets the local SBFD session state to Up if it receives a reflected packet carrying the Up state. The initiator sets the local SBFD session state to Down either if it receives a reflected packet carrying the AdminDown state or does not receive any reflected packet before the timer expires.
  • State retention: If the initiator is in the Up state and receives a reflected packet carrying the Up state, the local SBFD session remains in the Up state. If the initiator is in the Down state and receives a reflected packet carrying the AdminDown state or does not receive any packet before the timer expires, the local SBFD session remains in the Down state.

What Is the Difference Between SBFD and BFD

SBFD and BFD packets are distinguished by UDP port numbers, while having the same UPD data formats. The protocol version number is 1 for both SBFD and BFD packets, but some fields are different.

The following table lists the major differences between SBFD and BFD.

Table 1-1 Major differences between SBFD and BFD

Category

BFD

SBFD

UDP port number

3784/4784

7784

Discriminator

The local discriminator at one end must be the same as the remote discriminator at the other end of a BFD session.

The discriminator configured on the reflector can be paired with N BFD sessions on the initiator.

State machine

Both ends of a BFD session have four session states; both ends need to establish state machines and exchange BFD packets to negotiate the session state.

SBFD packets are transmitted between the initiator and reflector. Only two session states are available, and only the initiator needs to establish a state machine, while the reflector does not.

Application scenarios

BFD is mainly used in the following scenarios:

SBFD applies to the following scenarios:

  • SBFD for SR-MPLS BE
  • SBFD for SR-MPLS TE LSP
  • SBFD for SR-MPLS TE tunnel
  • SBFD For SR-MPLS TE Policy
  • SBFD for SRv6 TE Policy

How Can I Apply SBFD?

SBFD is typically used in Segment Routing, including SBFD for SR-MPLS BE, SBFD for SR-MPLS TE LSP, SBFD for SR-MPLS TE Policy, and SBFD for SRv6 TE Policy.

The following figure shows a simple network. To improve network reliability, SBFD is deployed on PE1 and PE2. SBFD establishes a session based on neighbor information notified by the upper-layer application. When it detects a fault, SBFD can trigger a fast traffic switchover to reduce the impact on services.

The SBFD fault detection process is as follows:

  1. The monitored link fails.

  2. SBFD quickly detects the link failure and changes the SBFD session state to Down.

  3. SBFD notifies the upper-layer application protocol that the neighbor was unreachable.

  4. The upper-layer application protocol terminates the neighbor relationship, recalculates routes, and switches traffic to the secondary link.

Figure 1-4 SBFD fault detection

About This Topic
  • Author: Cui Wei
  • Updated on: 2023-12-07
  • Views: 7135
  • Average rating:
Share link to