Hi,
Juliusz has problems sending this message to our list, hence I forward it for him.
Regards, Marek
---------- Forwarded Message ----------
Subject: [Babel-users] Wireless Battle Mesh -- a Babel perspective Date: Thursday 16 April 2009 From: Juliusz Chroboczek Juliusz.Chroboczek@pps.jussieu.fr To: babel-users@lists.alioth.debian.org CC: tmplab@lists.tmplab.org, bh@udev.org, b.a.t.m.a.n@open-mesh.net
Hi,
WBM was good fun, as you can gather from Massoud's e-mail. There were people from Paris, Vienna, Berlin and Brussels. It was a chance to meet active implementers of three routing protocols (Babel, OLSR and Batman).
We spent four days flashing routers, measuring packet loss between a cave and a railway track, and estimating routing protocol overhead. We had a few chats about routing protocols, did a couple of impromptu presenta- tions, watched the pretty pictures generated by three distinct network graphing packages, drank too much beer, drank too much coffee, and ate hallal sausages. We also looked at the passing trains.
I've had some extended chats with one of the Berlin people, and learnt quite a lot about Batman. I'm convinced now that Batman is loop-free, I'm also convinced that it has glacially slow convergence, and that the two properties are linked -- any tweak to make Batman converge faster will cause loops. (I'm willing to exchange the proof of loop-freedom for a pint of good German beer.)
Some interesting developments on the OLSR side -- they appear to be developing a link-state routing protocol that is almost, but not quite, entirely unlike OLSR. A lot of interesting anecdotes about OLSR, too.
Together with one of the Belgian guys, we implemented a variant of Babel that takes link diversity into account (using a gross simplification of the MIC metric). In the particular configuration that we implemented (six Foneras running on three different channels and pairwise connected by wired Ethernet), the results are dramatic -- the algorithm is able to choose the maximum diversity route, which leads to a 5-fold improvement in transfer rate (Benjamin, do you have the exact figures?). The code we used for testing is somewhat hackish, I need to think about it some more before I can include such an algorithm within the Babel trunk.
I found two bugs in Babel, both related to retractions. First, retractions were not properly sent after a redistributed route was removed; second, resending of retractions was broken, and a retraction would only get sent twice (rather than the expected 1 minute with exponential backoff). Both bugs have been fixed in the Darcs tree, what will become Babel 0.95 as soon as it's tested.
I've also seen one packet that looped. Just the one packet, granted, but that is not supposed to happen. According to Murphy's law, I wasn't capturing the traffic at the time, and I've never been able to reproduce it again. I've spent much of today eyeballing the code, and I'm fairly positive loops don't happen in Babel. I'm still worried, though.
A rather productive week-end, altogether, were it not for the fact that I've been sick with the flu for two days now. I strongly suspect my flu came from Vienna.
Regards,
Juliusz
-------------------------------------------------------
b.a.t.m.a.n@lists.open-mesh.org