From a9886bf2f8a35369a2c42070c5f83504dfab2bc5 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Fri, 27 Jun 2025 10:56:03 +0200 Subject: vault backup: 2025-06-27 10:56:02 --- BFD = Bidirectional Forwarding Detection.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 BFD = Bidirectional Forwarding Detection.md (limited to 'BFD = Bidirectional Forwarding Detection.md') diff --git a/BFD = Bidirectional Forwarding Detection.md b/BFD = Bidirectional Forwarding Detection.md new file mode 100644 index 0000000..de1ffe7 --- /dev/null +++ b/BFD = Bidirectional Forwarding Detection.md @@ -0,0 +1,27 @@ +--- +tags: + - network +rfc: https://datatracker.ietf.org/doc/html/rfc5880 +--- +Used to detect faults in any component that is connecting two endpoint; e.g the forwarding engine, link or port. + +It is low-overhead and fast. + +A session is established between two nodes through a three-way handshake. + +It is transport agnostic, thus it can be used over raw ethernet or tunnels, etc. + +Two modes: asynchronous and on-demand. + +**Async**: each peer periodically sends packet; if x time no packets received link is declared down. +**On-demand**: an out-of-band system is expected to do this detection, but BFD can choose to verify whenever it feels like it and sends some array of packets and expecting some in return. + +It is important to note that in async mode each peer sends packets in one direction and doesn't expect a reply to those. In on-demand mode one peer sends packets and **does** expect packets in return. + +> A function exists called "Echo function" that does make it so packets are looped back to the sender. If any of those don't return the link is declared down. + +- Pure Async without echo: less packets than with echo. +- With echo: possibly faster detection, less jitter, more packets +- On-demand: if there are alot of links, thus alot of BFD sessions and the overhead is too big + +> On-demand cannot work if the round-trip time is larger than the desired detection time \ No newline at end of file -- cgit v1.2.3