BATMAN: adhoc mesh routing

batman_20080326.jpg

BATMAN (Better Approach To Mobile Ad-hoc Networking) is a routing protocol designed for multi-hop ad-hoc mesh networks. When you run BATMAN on routers in an ad-hoc network, the nodes in the network constantly send out little broadcast packets that are picked up and re-broadcast by nearby machines. Rather than have each node develop a formal map of the network, they can figure out the most reliable routes to other machines in the network based on the speed and reliability of broadcast packets that they receive from other nodes.

You can imagine a scenario where router A might be a single hop away from the uplink router U, but the connection is somewhat unreliable or drops packets from time to time. If router B has a solid connection to U and also has a reliable connection to A, it might be a faster and more reliable to route A's packets through B, even though it's ultimately 2 hops to U. The way BATMAN works, router A would receive U's broadcast packets more frequently from B (due to the U<->A packet loss), which would cause it to automatically send outbound data through the more reliable B connection.

It looks like this might be fun to experiment with a neighborhood network or even in a larger home with poor coverage. BATMAN is available in OpenWRT, so you could scatter a number of cheap routers throughout an area, give one of them a DSL uplink, and have solid wireless laptop connectivity wherever you want it.

If you really want to get crazy, you can run the routing protocol on your Linux laptops too, making them full mesh participants and expanding the coverage area wherever you go.

B.A.T.M.A.N.
Using BATMAN with OpenWRT

Posted by Jason Striegel | Mar 26, 2008 09:53 PM
Linux, Wireless | Permalink | Comments (3) Bookmark and Share

Recent Entries

Comments

Newest comments listed first.

Posted by: infield on March 26, 2008 at 9:54 PM

Definitely worth it's own entry but check out RO.B.IN which uses BATMAN.

http://open-mesh.com/

Here is the developers site

http://www.blogin.it/


Posted by: jeremiah on March 26, 2008 at 11:07 PM

doesn't this already exist, and isn't it called OSPF?


Posted by: on March 27, 2008 at 9:37 AM

@jeremiah:
you may want to read-up on OSPF. It doesn't provide the link quality analysis. OSPF is appropriate for wired networks, but is not appropriate for wireless networks where nearby routers would see each other, even if the quality of the connection between them is poor/intermittent.

You are right, however, that it is similar to OSPF with the discovery of routes.


Leave a comment



Bloggers

Welcome to the Hacks Blog!

Brian Jepson.Brian Jepson


Jason Striegel.Jason Striegel


Philip Torrone.Phillip Torrone



See all of the books in the Hacks Series!
Advertise here.

Recent Posts

www.flickr.com
photos in Hacks More photos in Hacks

Most read entries (last 30 days)