Why a new protocol such as BFD is required to detect subsecond failures within routing domains and HSRP setup? Why couldn't the implementation in IOS of existing protocols such as HSRP, EIGRP, BGP and OSPF be modified to allow new subsecond hold or dead timer values to detect neighbor down?
I found some explanations by searching online, but if you have anything else to add please do.
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
In no event shall Author be liable for any damages wha2tsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Because BFD is not tied to any particular routing protocol, it can be used as a generic and consistent failure detection mechanism for EIGRP, IS-IS, and OSPF.
"Generic", yes, "consistent", maybe, maybe not. BFD isn't forced on the IGPs (or FHRPs). BFD is something IGPs and/or FHRPs can take advantage of. BTW, keep in mind that later IGP and/or FHRP protocols often support their own fast failure detection w/o BFD.
Because some parts of BFD can be distributed to the data plane, it can be less CPU-intensive than the reduced EIGRP, IS-IS, and OSPF timers, which exist wholly at the control plane.
Well, in theory, no reason why IGP and/or FHRP fast detection implementations also couldn't be implemented in hardware like BFD. (Although "sharing" a timer, between multiple "users" would likely be much more difficult without BFD.)
Conceptually, BFD is to fast failure detection like TCP is to data transport. I.e. it addresses a problem that other multiple services have.