[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