BFD – Bidirectional Forwarding Detection

Whats BFD ?

– BFD is a detection protocol used to used to detect failures in the forwarding path between two adjacent routers. Its also independant of any media type, encapsulation and routing protocols. It provides failure detection in means of milliseconds.

– Cisco supports the asynchronous BFD, meaning that both BFD peers must be BFD enabled.

– BFD can be enabled globally on all interface or can be enabled on per interface basis.

Requirements:

1. CEF
2. Routing protocols that support BFD 

How BFD Works ?

1. When the routing protocol discovers a neighbor it sends a request to the BFD process to initiate a BFD neighbor session

2. BFD control packets are used to establish the BFD neghborship session and negotiate the BFD timers

3. Once the BFD neighborship session is established, BFD control packets acts as keepalive to maintain the BFD neighborship session

4. When the BFD neighborship session  is torn down the BFD process rapidly notifies the routing protocol, then the routing protocol tears down is neighborship, if an alternative path exists the routing process immediately converges.

5. Routing protocol registers with BFD when 1) the routing protocol is in the established/full state, 2) the routing protocol BFD feature is enabled and BFD process are enabled.

Advantages:

– An alternative mechanism to BFD is reducing the routing protocols timers to its minimum, but still BFD can detect failures in means of milliseconds,  also its less CPU intensive than reducing the timers of the routing protocols and protocol/media/encapsulation independent. 

Configuration:

[toggle title_open=”1. Enable BFD Globally” title_closed=”1. Enable BFD Globally” hide=”no” border=”no” style=”default” excerpt_length=”0″ read_more_text=”Read More” read_less_text=”Read Less” include_excerpt_html=”no”]R5(config)#router isis 1
R5(config-router)#bfd all-interfaces[/toggle]

[toggle title_open=”2. Enable BFD Per Interface” title_closed=”2. Enable BFD Per Interface” hide=”no” border=”no” style=”default” excerpt_length=”0″ read_more_text=”Read More” read_less_text=”Read Less” include_excerpt_html=”no”]R1(config)#int fa 0/0

R1(config-if)#isis bfd
R1(config-if)#bfd interval 100 min_rx 100 multiplier 3 [/toggle]

HTH
Abdullah Medhat Salah 

recursive-lookup.com

Don’t miss our Articles & Podcasts!

We don’t spam! Read our privacy policy for more info.

Abdullah Medhat, CCIE#64416, is a co-founder at Recursive-Lookup, with over 10 years of experience in Service Provider networks. Always hungry for knowledge and learning  new technologies.

2 comments on “BFD – Bidirectional Forwarding Detection

  1. thank u brother

    so now there is tow kind of keep a live message one via the BFD and one via the routing protocol and as we see the BFD keep alive is telling the protocol to down the neighbor ship in case of BFD keep alive didn’t receive so as we see that the already keep alive controller is the BFD keep alive message and not the routing protocol keep alive because its override so now we have tow question 1: as we see what the aim of routing protocol keep alive ? 2: why routing protocol didn’t depend only on BFD and not send its keep a live messages (for saving the band width )

    • Hey Sheno
      Your asked two questions with one answer, BFD is a separate protocol and not supported on all devices or all interfaces, also what happens if the routing protocol itself depends on the BDF and has no keepalives, so when you gonna configure a routing protocol it won’t work unless you configure the BFD which makes no sense at all.

Leave a Reply