|
|
Please help improve this article or section by expanding it. Further information might be found on the or at requests for expansion. (January 2008) |
B.A.T.M.A.N. (BETTER APPROACH TO MOBILE ADHOC NETWORKING) is a routing-protocol which is currently under development by the “Freifunk”-Community. It is to replace OLSR.
Problems to be faced: The classical approaches to mobile networking are only limitedly qualified for mobile Ad-hoc networks as those are unstructured, spontaneously growing/shrinking and inherently unreliable. OLSR, the protocol currently used by the “Freifunk”-Community, had to undergo considerable adaptation and tweaking before it was ready to deal with the task of city-wide wireless mesh-networking and the challenges embarked in the underlying idea. Some of its core components, such as Hysteresis and MPR, have proven to be rather impracticable or limiting the network to a certain size by relaying too much data or constantly recalculating the topography of the whole network. Despite the changes made, the inherent limitations of the approach used in the OLSR-protocol soon became visible due to the steadily growing networks. The developers decided to use the experiences and knowledge gained from OLSR to create a new protocol. Solution: 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. Scientifically speaking one could draw a comparison to the way ants find their way following pheromones. A network of collective intelligence is created. 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 statical networks network-administrators or technicians decide which computers 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 till the data reaches its destination. B.A.T.M.A.N can not only be applied to radio networks, but due to its generic nature, can also be used in common cable connections, such as Ethernet or Token Ring. History of B.A.T.M.A.N 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 a “one step at a time” - policy: B.A.T.M.A.N Version 1 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. B.A.T.M.A.N. Version 2 The algorithm used until now makes a vital 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 might very well happen that only one-way communication is possible. Acknowledging this fact and in order to solve the arising problems a mechanism was included in the protocol that enables the node to determine whether a neighbouring node supports bidirectional communication (communication in both directions). As of version 2 only bidirectional communicating nodes are being considered part of the network and others not fully included. B.A.T.M.A.N. Version 3 The greatest innovation in this version is B.A.T.M.A.N's support of multiple network-devices. Now a radio device running B.A.T.M.A.N can be deployed on a central point, like a church or another high building, and have several antennas or cables attached to it and hereby relay the network and its data in more than one direction. Certain unlikely phenomena and special circumstances occurring during the determination of the best route through the network were tackled and counteracted so that circular routing (data never reaching its destination) would not occur anymore. A node can now inform the network that it provides access to the internet. Other user can thereby determine if there is a connection to the internet close to them and what bandwidth is provided. They can either decide to use a certain gateway or let B.A.T.M.A.N, according to certain criteria, such as fast connection speed, decide which gateway to use. 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.


