B.A.T.M.A.N.

From Wikipedia, the free encyclopedia

The Better Approach To Mobile Adhoc Networking, or B.A.T.M.A.N., is a routing protocol which is currently under development by the “Freifunk”-Community.

B.A.T.M.A.N.'s crucial point is the decentralization of the knowledge about the best route through the network - no single node has all the data. Using this technique, the need for spreading information concerning network changes to every node in the network becomes superfluous. The individual node only saves information about the “direction” it received data from and sends its data accordingly. Hereby the data gets passed on from node to node and packages get individual, dynamically created routes. A network of collective intelligence is created.

Contents

[edit] Operation

B.A.T.M.A.N. does have elements of classical routing protocols: It detects other B.A.T.M.A.N. nodes and finds the best way (route) to these. It also keeps track of new nodes and informs its neighbours about their existence.

In static networks, network administrators or technicians decide which computer is reached via which way or cable. As radio networks undergo constant changes and low participation-thresholds are a vital part of the “Freifunk”-networks' foundation this task has to be automated as far as possible.

On a regular basis, every node sends out a so called “broadcast” (a general message to all) thereby informing all its neighbours about its existence. The neighbours then relay this message to their neighbours and so on and so forth. This carries the information to every node in the network. In order to find the best way to a certain node, B.A.T.M.A.N counts the originator-messages received and logs which neighbour the message came in through.

In contrast to existing approaches, B.A.T.M.A.N does not try to determine the whole way, but, by using the originator-messages, only the package's first step in the right direction. The data is handed over to the next neighbour in that direction, who in turn uses the same mechanism. This process is repeated until the data reaches its destination.

Besides for radio networks, B.A.T.M.A.N can also be used with common cable connections, such as Ethernet.

[edit] History

The task was to create a protocol which was to be as easy, as small and as fast as possible. It seemed therefore sensible to split the development in several phases and implement complex functions using an iterative process:

[edit] Version one

In the first phase, the routing algorithm was implemented and tested for its practicability and suitability for the task at hand. For the sending and receiving of originator-messages (information about existence) the UDP port 1966 was chosen.

[edit] Version two

The version one algorithm made a significant assumption: As soon as a node receives existence data from another node, it assumes it can also send data back. In radio networks however, it may very well be that only one-way communication is possible. A mechanism was incorporated into the protocol to allow for this and to solve the arising problems. The mechanism enables the node to determine whether a neighbouring node provides bidirectional communication, only bidirectional nodes being considered part of the network, one-way nodes are no longer fully included.

[edit] Version three

The greatest innovation in this version is B.A.T.M.A.N's support of multiple network devices. Now a computer or router running B.A.T.M.A.N can be deployed on a central point, like a church or another high building, and have several wired or wireless network interfaces attached to it. When so deployed, B.A.T.M.A.N can relay network data in more than one direction without any retransmission delay.

Certain unusual phenomena and special circumstances could appear during the determination of the best route through the network. These have been tackled and counteracted to prevent circular routing (which can prevent data reaching its destination) from occuring.

A node can now inform the network that it provides access to the internet. Other nodes use that information to evaluate whether there is a connection to the internet close to them and what bandwidth is available. They can either use a specific gateway or allow B.A.T.M.A.N to determine which gateway to use, based on criteria such as connection speed.

Announcing devices not running B.A.T.M.A.N themselves was also included in this version. Usually this method is used to connect house-networks to mesh-networks. An antenna installation on the roof will connect to the wireless network through B.A.T.M.A.N and the rest of the house will simply be announced thus also be reachable.

[edit] See also

[edit] External links

Languages