Subject: [homenet] Babel works well on wired links too

From: Juliusz Chroboczek <[email-masked]>
Date: Tue, 24 Mar 2015 23:47:55 +0100

Next item on my list of incorrect claims having been made this morning --
lend me your ears.

Somebody mentioned at the mic that some mesh routing protocols do not work
well on ordinary wired links.  While this statement is vague enough to be
correct, the implication that this applies to Babel is wrong.

At the core of Babel, there is a distance vector routing protocol.  Around
this protocol, there are a number of mechanisms (loop avoidance, stability
control) that ensure that it works well on unstable, heterogeneous and
non-transitive networks.

On a stable, transitive, wired network, these mechanisms don't cost much.
In addition, the implementation disables some of them when it detects an
Ethernet (as you expect, that gets you in trouble if you're bridging with
wireless, so don't do that).  (For protocol geeks, the implementation
disables link quality estimation and enables split horizon when it detects
an Ethernet.  It doesn't disable bidirectional reachability detection,
since that doesn't cost much and I'm superstitious.)

IS-IS, OSPF and EIGRP are amazingly efficient protocols on stable wired
networks, and Babel doesn't even attempt to come close to the elegance of
reliable flooding in the particular case of a network where nothing
happens.  However, Babel is a loop-avoiding protocol with explicit
neighbour detection, triggered updates, and redundant routing tables,
somewhat similar to EIGRP (but with periodic updates, unlike EIGRP) -- it
would take some serious resources to build a wired network where it
behaves badly.

-- Juliusz