[Babel-users] About split horizon in Babel, and scaling the number of neighbours

Juliusz Chroboczek jch at pps.univ-paris-diderot.fr
Thu Jun 26 15:37:14 UTC 2014


> I thought about doing that for IHUs, since they're conceptually unicast,
> but actually sent as multicast: this is inefficient when multicast is
> emulated.  But the optimisation is probably not worth it for a realistic
> number of neighbours.

It's already implemented, actually:

  http://git.wifi.pps.univ-paris-diderot.fr/?p=babeld.git;a=blob;f=message.c;h=99c3008b7d8c2ca55b5fb0987128769c7411ab73#l1443

It's not worth it in general, since sending IHUs over unicast prevents
aggregation.  Currently, 100 IHUs are sent in a single multicast packet;
if sent over unicast, they would require 100 distinct packets.

We're currently very conservative, we only send a unicast IHU if we
already know we're going to send a unicast packet to that particular
neighbour in the near future.  I'm sure a better heuristic can be devised.

> regarding updates, I don't quite understand.  Don't we want to send them
> to *all* neighbours anyway?

Yes, but for small numbers of neighbours it's not clear that sending one
multicast is cheaper than sending n unicast packets.  It depends on the
link layer: on a broadcast Ethernet, a multicast is just as cheap as
a unicast; on a switched Ethernet, it depends on the topology, while on
WiFi or Tinc, multicasts are excessively expensive.

-- Juliusz



More information about the Babel-users mailing list