Wireless Mesh Networks / MANET


TuxMesh.jpgWhat is the plus of a wireless connection? That it doesn't use wires! (easy).
What is the plus of a wireless netwok? That it doesn't use a lot of wires! (quite stupid).
What is the plus of a wireless device? That it may connects to several other devices without the need of new cables (again)
Why should this interest me? Because those factors may lead to a new concept of networks.....read on!
In this page I resume some informations and experiments I've done in the wireless mesh network field with the great help of the Ninux.org community.


What is a wireless mesh network?

If you own a wireless access point, you're probably using it for browsing the internet lying down on your sofa. This sounds good but, from one poin of view this way you're wasting your device. Why? Because if you have a wireless access point (AP) and the guy living in the upper floor has another AP, and the family living in front of your house have another AP and so on, you can use your AP to connect to the upper guy. He may use his own AP to connect to the family on the other side of the street. They may use their AP to connect to other people as well. This way, probably in the near future, you're not using anymore your AP to connect to the Internet paying also an internet provider, this way you become Internet and your connection costs just the energy needed to power up your wireless access point.
Sounds good? YES!
How it is called? Wireless mesh networking or MANET.
Can I do it now? YES!
Can I really use it now? Well... it is a technology still in development... there are some "dark sides"...
Wireless mesh networking actually is still not so reliable, the bandwidth is still really limited not just for the bandwidth of the wireless protocols but also because you're sharing the bandwidth with all the other users. With this network model your AP is not carrying on your data only, but it is receiving and retransmitting also the traffic of all the other users that have to pass through your AP to reach their destination. So you're probably understanding also the bigger issue of this kind of network approach: the scalability. All the research in this field is actually focused on resolving all those kind of problems. There are thousands of wireless mesh networks already in place, a lot of them are experimental networks, other are commercial networks built in countries where running wires is too expensive or not useful.

But many people, like me, have the expectation of seeing wireless mesh network capable devices for the consumer market in the next future, so the network may become really free.



What we have now?

Actually, if you want to run a wireless mesh network you have two main choice: you buy a professional equipment (yes, there are some) or you go for the DIY, like me. Basically you need an access point or a PC with a wireless card that is able to run Linux, there is also some stuff that may work on Windows but, as you'll discover reading this blog, for me Linux is orders of magnitude better. Actually there are several micro-distributions of Linux that may run on a small access point, I'll list the main one which are also the ones with which I had some fun:
- OpenWRT
- DD-WRT
- Freifunk
Those distributiona are the basic layer upon you may run your preferred application. Of course to have a wireless mesh capable AP you have to run an ad-hoc mesh protocol, the main opensource one for this kind of devices are:
- OLSR (Optimized Link-State Routing)
- BATMAN (Better Approach To Mobile Ad-hoc Networking)
- AODV (Ad-Hoc On-demand Distance Vector) 

With this tools you can build up a mesh network quite easily, for example, with OpenWrt and BATMAN (which is the same setup I used for a lot of testing) you just need to:
- take a OpenWrt supported wireless router
- download and compile OpenWrt, if you can read italian you can take a look at the guide I wrote at Ninux.org.
- checkout also the latest version of X-Wrt (the html GUI for OpenWrt) to manage the system with a graphical user interface.
Enjoy!


A basic test

Some months ago (around March 2007), with the help of the other guys from the Ninux.org community I ran a test with OpenWrt and BATMAN. It was a simple mesh of 6 devices (including my laptop) but was enough for me for having fun testing an early version of BATMAN and it's visualization server daemon, take a look at the mesh we set up:
VisMesh6.jpgAt that time I needed this test also to verify the functionality of the page I wrote to manage the BATMAN protocol for the X-Wrt interface. It was very nice also because the interface worked out perfectly!

MeshBatman.gifThat's all for now, I hope I will find more time to write down more informations about this exciting field!
In the meantime, checkout the english pages of the Ninux.org community!
Visit the Ninux.org Community

Stay tuned!


5 Comments




fbab said:

Good evening (or whatever),

Congratulations for your work. I was trying to play with Batman and I am installing s3d on a brand new install of Ubuntu 7.04 (Feisty Fawn).

I try with s3d 2.0. cmake reports this errors :
* could not find libg3d-dev
* could not find libglib-dev

I installed through apt-get (universe activated) libglib-dev (but apt-get reported that libglib1.2-dev was installed) and I did not find libg3d-dev.

Do you have any hint because I am stuck right now (I am a newby in this tech).

If you find time, thx for your help, Fred.





don said:


I'm trying to set up batman on wrt54gl's + openwrt kamikaze + x-wrt.

I got an ad-hoc network set up but I'm not having much with Batman.

What did you use to set up your visualization server?





BlaXwan Author Profile Page said:

Hi Don,
last year I used "vis" the app for batman that was exporting the topology as olsr app did.
Then it was piped into the interpreter of olsr topologies for s3d the 3D visualization engine.
As far as I know the develop team changed the whole visualization method so, sorry for that but, at the end of the game, I can't suggest what to use now because I've lost the "touch" on this applcation in the last months.





antonio said:

Hi

what about ROBIN?
It's an *Italian* FOSS firmware making 0-config mesh networks and running on top of BATMAN and kamikaze. It's used by open-mesh networks (http://www.open-mesh.com).

It will be the meraki kilkler?

-A





BlaXwan Author Profile Page said:

Hi Antonio, unfortunately I didn't try ROBIN, at the time I was working on MANET stuff (one year ago) this great work from Antonio Anselmi was just a script called "Ponte" as first, then "Ponte2". After my port of Batman to OpenWrt, Ponte2 evolved to a usable set of scripts that was able to start a mesh without manual config, then packed into a full firmware for the Meraki/Fonera, I didn't try it but looks like a great work.
As I was saying, actually some time has passed since I used this stuff, but I'm coming back to OpenWrt for other reason so, probably the ROBIN fw will slip down in one of my routers and I will write something on it!
:o)


Leave a comment

Navigate this site!

Subscribe to BlaXwan's: