Hi,
Many of us spent last week-end at the third edition of the Wireless BattleMesh in Bracciano, north of Rome, experimenting with wireless mesh routing technologies. Here's a quick summary of the events, from the perspective of the Babel routing protocol.
1. The main event *****************
The main goal of the meeting was to evaluate the real-world behaviour of a bunch of wireless mesh routing protocols. Five protocols were evaluated: OLSR, Babel, and three variants of BATMAN.
The protocol were tested in three static topologies: a broken network, a network with massive packet loss, and a network with high but reasonable packet loss. Elektra has written up a summary of the results (thanks!) of which I've put a copy on
http://www.pps.jussieu.fr/~jch/software/babel/wbmv3-elektra.pdf
In short:
(1) when the network is broken, Babel is the first to collapse; (2) Babel behaves well when the network is usable; (3) Babel generates too many small packets on broken networks.
I believe that (1) is normal: Babel reacts faster than the other protocols to mobility, and therefore tends to be less stable than the others in broken networks.
Point (3) is due to the route request mechanism: a Babel node in a broken network is trying too hard to discover new routes. I'm not sure whether that can be fixed without losing Babel's fast reaction to mobility.
2. Helicopters with webcams and sharks with lasers **************************************************
In addition to the main event, described above, there were a few interesting side events. The Roman crowd (ninux.org) have been working on running Linux on a model helicopter equipped with Wifi and a webcam; the goal would have been to stream video from the over a Babel mesh. Which got me excited like a child before Christmas.
Unfortunately, they didn't have time to complete the experiment (due to issues with ffmpeg, as far as I understand), which is a huge pity. Let's hope we hear from the webcam-equipped helicopter soon.
There were no sharks equipped with lasers, whether running Linux or otherwise.
3. Diversity-aware routing **************************
Zoobab and myself have been trying to work on diversity-aware routing protocols. There is now a branch of babeld (known as babelz) which performs diversity-aware routing, and appears to work. However, due to wine, beer, grappa and other factors outside of our control, we haven't managed to obtain any useful measurements from babelz.
Babelz should be made public as soon as I find some time to finish debugging it. In the meantime, let me know if you want a copy.
4. Babel for OpenBSD ********************
Dermiste has finished the Babel port to OpenBSD, and we've been able to do some debugging -- it appears to work now. This implies that Babel should be easy to port to other Kame stacks (notably FreeBSD and Darwin).
The code hasn't been merged into the trunk yet.
5. Time-lapse video *******************
Somebody (who?) has been experimenting with time-lapse video. The results are quite amusing -- search Youtube for "BattleMeshV3".
My only regret the time-lapse video has been made on DRM'd hardware running proprietary software. (Folks, we need hackable digital cameras -- CHDK is not enough.)
6. Other stuff **************
I've had a lot of extremely interesting discussions with a lot of extremely interesting people. In no particular order, I've learnt a lot about automatic tunnelling of IPv4 in v6, The Pirate Party, solar cells, BMX, Liquid Democracy, MOSFETs, Ugo Foscolo, rural exodus in the Greek islands, wireless networking in Catalogna and groundsheets.
My liver has almost recovered.
7. Thanks *********
Yes, thanks.
Juliusz
On Jun 11, 2010, at 2:32 PM, Juliusz Chroboczek wrote:
Hi,
Many of us spent last week-end at the third edition of the Wireless BattleMesh in Bracciano, north of Rome, experimenting with wireless mesh routing technologies. Here's a quick summary of the events, from the perspective of the Babel routing protocol.
- The main event
The main goal of the meeting was to evaluate the real-world behaviour of a bunch of wireless mesh routing protocols. Five protocols were evaluated: OLSR, Babel, and three variants of BATMAN.
The protocol were tested in three static topologies: a broken network, a network with massive packet loss, and a network with high but reasonable packet loss. Elektra has written up a summary of the results (thanks!) of which I've put a copy on
http://www.pps.jussieu.fr/~jch/software/babel/wbmv3-elektra.pdf
In short:
(1) when the network is broken, Babel is the first to collapse; (2) Babel behaves well when the network is usable;
Could you be a bit more specific with "usable"?? What does that mean regarding packetloss? The interesting problem with Wi-Fi networks is that we have usually way too much packet loss. (remember: that was also the main critique against the MPR approach)
(3) Babel generates too many small packets on broken networks.
Which creates more collisions in the air I assume ;-)
I believe that (1) is normal: Babel reacts faster than the other protocols to mobility, and therefore tends to be less stable than the others in broken networks.
Point (3) is due to the route request mechanism: a Babel node in a broken network is trying too hard to discover new routes. I'm not sure whether that can be fixed without losing Babel's fast reaction to mobility.
- Helicopters with webcams and sharks with lasers
yeah ;-) Wish I had been there..
In addition to the main event, described above, there were a few interesting side events. The Roman crowd (ninux.org) have been working on running Linux on a model helicopter equipped with Wifi and a webcam; the goal would have been to stream video from the over a Babel mesh. Which got me excited like a child before Christmas.
Unfortunately, they didn't have time to complete the experiment (due to issues with ffmpeg, as far as I understand), which is a huge pity. Let's hope we hear from the webcam-equipped helicopter soon.
There were no sharks equipped with lasers, whether running Linux or otherwise.
- Diversity-aware routing
Zoobab and myself have been trying to work on diversity-aware routing protocols. There is now a branch of babeld (known as babelz) which performs diversity-aware routing, and appears to work. However, due to wine, beer, grappa and other factors outside of our control, we haven't managed to obtain any useful measurements from babelz.
;-)
Babelz should be made public as soon as I find some time to finish debugging it. In the meantime, let me know if you want a copy.
- Babel for OpenBSD
Dermiste has finished the Babel port to OpenBSD, and we've been able to do some debugging -- it appears to work now. This implies that Babel should be easy to port to other Kame stacks (notably FreeBSD and Darwin).
The code hasn't been merged into the trunk yet.
- Time-lapse video
Somebody (who?) has been experimenting with time-lapse video. The results are quite amusing -- search Youtube for "BattleMeshV3".
My only regret the time-lapse video has been made on DRM'd hardware running proprietary software. (Folks, we need hackable digital cameras -- CHDK is not enough.)
- Other stuff
I've had a lot of extremely interesting discussions with a lot of extremely interesting people. In no particular order, I've learnt a lot about automatic tunnelling of IPv4 in v6, The Pirate Party, solar cells, BMX, Liquid Democracy, MOSFETs, Ugo Foscolo, rural exodus in the Greek islands, wireless networking in Catalogna and groundsheets.
My liver has almost recovered.
;-)
Thanks for the write up...
- Thanks
Yes, thanks.
Juliusz
[Followups restricted to just olsr-users and babel-users.]
(1) when the network is broken, Babel is the first to collapse; (2) Babel behaves well when the network is usable;
Could you be a bit more specific with "usable"?? What does that mean regarding packetloss?
If you look at Elektra's writeup, in the first test none of the protocols achieved more than 18% success -- and that's *after* link-layer ARQ. In the second test the figure was 27%.
In the third test, everyone achieved around 75% (after ARQ), which I think is still pretty marginal, but starts becoming usable.
Perhaps Henning or Elektra can tell us what was the ETX (or, equivalently, pre-ARQ packet loss) of the productive links in those tests.
(3) Babel generates too many small packets on broken networks.
Which creates more collisions in the air I assume ;-)
Well, it's still just 30 packets/s (as measured, all nodes added up), which is well within what 802.11 is designed to handle. (See Elektra's slide number 8.)
yeah ;-) Wish I had been there..
So do I.
Juliusz
b.a.t.m.a.n@lists.open-mesh.org