[Babel-users] Babel-users Digest, Vol 6, Issue 3
lilian bonnafoux
lilianbonnaf at wanadoo.fr
Thu Mar 13 11:57:24 UTC 2008
babel-users-request at lists.alioth.debian.org a écrit :
> Send Babel-users mailing list submissions to
> babel-users at lists.alioth.debian.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.alioth.debian.org/mailman/listinfo/babel-users
> or, via email, send a message with subject or body 'help' to
> babel-users-request at lists.alioth.debian.org
>
> You can reach the person managing the list at
> babel-users-owner at lists.alioth.debian.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Babel-users digest..."
>
> ------------------------------------------------------------------------
>
> Today's Topics:
>
> 1. Fixes to route selection (Juliusz Chroboczek)
> 2. ANNOUNCE: Babel 0.10 (Juliusz Chroboczek)
>
>
> ------------------------------------------------------------------------
>
> Sujet:
> [Babel-users] Fixes to route selection
> Expéditeur:
> Juliusz Chroboczek <Juliusz.Chroboczek at pps.jussieu.fr>
> Date:
> Tue, 11 Mar 2008 19:01:39 +0100
> Destinataire:
> babel-users at lists.alioth.debian.org
>
> Destinataire:
> babel-users at lists.alioth.debian.org
>
> Precedence:
> list
> Version de MIME:
> 1.0
> ID du Message:
> <7iiqztrvgc.fsf at lanthane.pps.jussieu.fr>
> Content-Type:
> text/plain
> Message:
> 1
>
>
> Dear all,
>
> Lilian has found a case in which Babel 0.9 would delay reconvergence
> by 30 seconds. I've now fixed this case, and reworked the route
> selection algorithm somewhat; convergence speed is much improved.
>
> Since I'd like to release 0.10 pretty soon, I'm very much interested
> in any data about the behaviour of the current Darcs tree that you may
> have.
>
> Since I'm in a chatty mood, I'll give a few details about the issue.
> (By the way, Lilian, my analysis of the problem on IRC was completely
> wrong.)
>
> A (proactive) routing protocol has three tasks:
>
> - neighbour sensing: measuring link quality between neighbours;
> - route discovery: discovering the set of available routes;
> - route selection: choosing a particular route to every destination.
>
> In many routing protocols, the three tasks are mixed up. For example,
> both RIP and B.A.T.M.A.N. mix up neighbour sensing and route discovery,
> which is why in RIP you cannot tune the hello interval separately from
> the updte interval.
>
> Babel was designed as a modular protocol: the three stages of the
> protocol are, to the extent possible, independent. Of particular
> interest is the independence of route selection and route discovery:
> the protocol remains correct if nodes do not always choose the route
> with smallest metric, but choose ``worse'' routes under some
> circumstances (as is usually the case with distance-vector protocols,
> but not with link-state protocols). This makes it possible to
> implement route selection policies that choose routes according to
> criteria richer than just link quality.
>
> Now, when I started working on Babel, I had just experimented with
> OLSR, and found that it has serious problems with route stability:
> under some circumstances, it flaps between two parallel routes to
> a given destination. Route flapping is ungood: it can cause packet
> reordering, and it usually causes jitter (for example due to an extra
> ARP exchange) and sometimes packet loss.
>
> Because of that, Babel's route selection policy tries to promote route
> stability. The main stability mechanism is a simple form of
> hysteresis: we don't switch routes unless the new route is
> significantly better than the old route. (The exact amount of
> hysteresis used depends on whether we also switch router-id, and is
> something that needs more experimentation.)
>
> The second route stability mechanism is much simpler: a route is
> regarded with great suspicion unless it has been around for 30
> seconds. Unfortunately, this mechanism turned out to be buggy, and to
> interact badly with some other features of the protocol (notably the
> feasibility condition), which caused perfectly good routes to be
> disregarded for 30 seconds in Lilian's network topology.
>
> After some thought, I've simply removed the 30 second condition; the
> only route stability mechanism remaining is hysteresis, which appears
> to do The Right Thing in practice.
>
> In case you want to check the code, all of this happens in route.c, in
> the functions find_best_route (which finds the candidate route for
> a given destination) and consider_route (which decides whether to
> switch to a new, potentially ``better'' route).
>
> While I was at it, I reworked some of the constants in the protocol,
> notably by making it send multi-hop requests and triggered updates
> more aggressively; this makes the protocol somewhat more chatty, but
> very slightly so. All together, you should see much faster convergence
> with 0.10 than with 0.9.
>
> Juliusz
>
>
>
>
> ------------------------------------------------------------------------
>
> Sujet:
> [Babel-users] ANNOUNCE: Babel 0.10
> Expéditeur:
> Juliusz Chroboczek <jch at pps.jussieu.fr>
> Date:
> Wed, 12 Mar 2008 00:52:31 +0100
> Destinataire:
> babel-users at lists.alioth.debian.org
>
> Destinataire:
> babel-users at lists.alioth.debian.org
>
> Precedence:
> list
> Version de MIME:
> 1.0
> ID du Message:
> <87ve3sbyyo.fsf at pirx.pps.jussieu.fr>
> Content-Type:
> multipart/signed; boundary="=-=-="; micalg=pgp-sha1;
> protocol="application/pgp-signature"
> Message:
> 2
>
>
> Dear all,
>
> I am pleased to announce Babel 0.10, which you will find on
>
> http://www.pps.jussieu.fr/~jch/software/files/babel-0.10.tar.gz
> http://www.pps.jussieu.fr/~jch/software/files/babel-0.10.tar.gz.asc
>
> This version will automatically redistribute local addresses; it is no
> longer necessary to specify them using ``-X''. This is an incompatible
> change, but you can revert to the previous behaviour by specifying
>
> redistribute local deny
>
> in your /etc/babel.conf.
>
> This version will also automatically adapt to interfaces appearing and
> disappearing at runtime, which avoids the need to restart Babel when
> a VPN goes up or down.
>
> Some fairly significant improvements have been done to the speed with
> which Babel selects a new route when a neighbour goes down (as opposed
> to the case where the local node moves). Many thanks to Lilian for
> helping me debug that.
>
> Finally, Babel can now daemonise itself, which should simplify your
> init scripts.
>
> I strongly recommend upgrading from Babel 0.9 or earlier.
>
> Juliusz
>
> 11 March 2008: babel 0.10
>
> * Implemented the ability to automatically export local addresses (see
> the ``local'' keyword in redistribute specifications). This should
> avoid the need to explicitly specify -X on the command line
> (Julien Cristau and Juliusz Chroboczek).
> * INCOMPATIBLE CHANGE: local routes (local interface addresses) are
> now exported by default. Specify ``redistribute local deny'' to
> avoid that.
> * Babel will now automatically choose a router id if none is
> specified on the command line.
> * Automatically adapt to interfaces appearing or disappearing at runtime,
> as is usually the case when running over tunnels or VPNs.
> * Changed the link quality computation algorithm to not discard very
> lossy links.
> * Multi-hop requests will now be forwarded to an unfeasible successor
> under some circumstances.
> * Send multi-hop requests more aggressively.
> * Send requests for a new seqno upon receiving an unfeasible update
> if it's better than what we have.
> * No longer consider the age of routes in route selection.
> * Added ability to run as a daemon.
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Babel-users mailing list
> Babel-users at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/babel-users
>
Hello,
I submitted a ticket to update babel in openwrt
https://dev.openwrt.org/ticket/3230
Sincerely,
Lilian
More information about the Babel-users
mailing list