[Babel-users] Babel Protocol Questions

Juliusz Chroboczek jch at irif.fr
Sun Feb 20 16:06:15 GMT 2022


>> Babel uses a slightly more refined feasibility condition, derived from
>> EIGRP [DUAL <https://datatracker.ietf.org/doc/html/rfc8966#ref-DUAL>].

> Why does babel not use DSDV-feasibility? Is it because I can manage
> multiple routes in case of link failures?

EIGRP-feasibility is more permissive (it allows more routes) and also does
not require any special provisions to deal with retracted routes (the
even/odd hack in DSDV).  The only cost is that it requires sligthly more
state -- you need to maintain the feasibility distance in addition to the
current distance.

So more routes and simpler code, in exchange for slightly more runtime
state.  It looks like a win to me.

> Also the "Requests" part is interesting [0]. I know that in DSDV a direct
> neighbor may advertise link failures with an uneven sequence number
> (+1). Babel uses an explicit request to the source. What does the forward
> of this request look like? Does it mean that babel sends on all possible
> links that request if it can reach the source via that link? So it is
> a bit like a "selected flood"?

  1. the router that lost the route sends the request to all neighbours;
  2. other routers only forward the request according to their best route.

This is provably complete -- if a loop-free route exists, it will be made
feasible by this procedure (assuming no packet loss).  On the other hand,
it is not minimal: it is surely possible to design an algorithm that sends
fewer requests while still being complete.

-- Juliusz



More information about the Babel-users mailing list