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

Baptiste Jonglez baptiste.jonglez at ens-lyon.fr
Thu Jun 26 13:58:19 UTC 2014


On Thu, Jun 26, 2014 at 01:18:01PM +0200, Juliusz Chroboczek wrote:
> Ah, I see.  You're performing routing both in the VPN (tinc) and in Babel,
> and the two routing algorithms are interacting in unpleasant ways.
> Ideally, you wouldn't do that -- you'd use the VPN for point-to-point
> links only, and let Babel take care of the routing.

Actually, there is a way to tell Tinc *not* to route anything, thus using
it only for building connections between routers.  This is why we may get
a non-transitive Ethernet segment, exactly like 802.11 in ad-hoc mode.

But Babel speakers may still see a high number of neighbours.  In
addition, multicast is emulated using unicast, which amplifies the control
traffic.  I'm still experimenting with this, it might be a good idea to
limit the number of VPN connections.

Actually, this is kind of funny: the better Tinc will be at building
connections, the more trouble Babel will have handling so many neighbours.

> If for some reason you insist on routing inside tinc and want Babel to
> take care of the resulting mess, you could modify Babel to send multiple
> unicasts instead of a single multicast (for updates only -- hellos still
> need to be multicast).  I'd be willing to accept a patch that does that
> (configured by setting the maximum number of unicasts before we switch to
> multicast) assuming it's clean enough and avoids code duplication.

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.

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

> Perhaps related, Ray Hunter said the following on the Homenet list:
> 
>   Multicast has issues on some link topologies (e.g. where it has to be
>   emulated), and in situations where devices attempt to sleep for as long
>   as possible. So even though link-local multicast may be part of the IPv6
>   base spec, it may be desirable to avoid use of multicast traffic where
>   possible. e.g. a routing protocol could perform initial neighbor
>   discovery using multicast, but then switch to unicast when maintaining
>   individual neighbor associations on the longer term, or for exchanging
>   information with specific neighbors.

Interesting.  It might also be useful for 802.11, where multicast packets
use the lowest bitrate possible, which occupies the link for a longer
time.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/babel-users/attachments/20140626/76cbbe2b/attachment.sig>


More information about the Babel-users mailing list