[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