summaryrefslogtreecommitdiff
path: root/Bidirectional Forwarding Detection (BFD).md
diff options
context:
space:
mode:
Diffstat (limited to 'Bidirectional Forwarding Detection (BFD).md')
-rw-r--r--Bidirectional Forwarding Detection (BFD).md27
1 files changed, 27 insertions, 0 deletions
diff --git a/Bidirectional Forwarding Detection (BFD).md b/Bidirectional Forwarding Detection (BFD).md
new file mode 100644
index 0000000..de1ffe7
--- /dev/null
+++ b/Bidirectional Forwarding Detection (BFD).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