Actually BFD stands for Bidirectional Failure Detection, but its not catchy so I chose to call it blazing-fast failure detection. Let us understand what it does and what is so cool about it.
If you had 2 routers connected to a switched network and the router needed to maintain neighbour relationship between themselves. What will they do? Simple, they send Hello to each other. How often they send Hello to each other depends on various aspects, for instance, OSPF will send hello every 10 seconds or 30 seconds depending on the type of Layer 2 network. EIGRP will send hello every 5 seconds and BGP will send it every 60 seconds by default.
What does this mean? It means that if the switched network failed it would take the Hello interval for the Routing protocol to even get a clue about the failure of the network resulting in the failure of the neighbourship. In fact these protocols are designed to miss a number of hello before concluding that the neighbourship is down. So OSPF will not take 10 seconds but 40 seconds before it concludes the failure, EIGRP will take 15 seconds and BGP will take 180 seconds by default.
BFD can provide failure detection on any kind of path between systems, including direct physical links, virtual circuits, tunnels, MPLS Label Switched Paths (LSPs), multihop routed paths, and unidirectional links.
BFD is a protocol which uses UDP to find if the other Layer 3 device is still reachable using a similar Hello mechanism, but the difference is that it can detect failure in miliseconds. And it does this very efficiently, its hello packet size is really small, it is 24 bytes in size. Compare this with OSPF (at least 48 bytes), EIGRP (at least 24 bytes) and BGP (at least 10 bytes). Mind you they are at least, whereas BFD uses at most 24 bytes.
BFD detects the failure faster and reports it immediately to any Routing Protocol.
Compared to other protocol the size of the packet may not seem so small but if you consider UDP then you will see that BFD is faster as it doesn’t have to rely on TCP or RTP, which is slower than UDP.
BFD is independent of the routing protocol that runs on top. For example if you are running BGP along with OSPF between your routers you can choose to run just one instance of BFD and ask both BGP and OSPF to make use of the same. In case of any layer 2 failure BFD will inform both the protocols about their respective neighbour failures within milliseconds.
In the next part we will see how to configure BFD in our devices. And how to reap the benefits of using it.