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

Last updated
B.A.T.M.A.N.
Developer(s) Freifunk
Initial releasebatmand 0.1 (6 December 2006;17 years ago (2006-12-06))
Stable release
Batman-adv 2024.1 [1] / 5 April 2024;2 months ago (2024-04-05)
Written in C
Operating system Unix-like
Type routing protocol
License GPL
Website www.open-mesh.org

The Better Approach to Mobile Ad-hoc Networking (B.A.T.M.A.N.) is a routing protocol for multi-hop mobile ad hoc networks which is under development by the German "Freifunk" community and intended to replace the Optimized Link State Routing Protocol (OLSR) as OLSR did not meet the performance requirements of large-scale mesh deployments. [2]

Contents

B.A.T.M.A.N.'s crucial point is the decentralization of knowledge about the best route through the network — no single node has all the data. This technique eliminates the need to spread information about network changes to every node in the network. The individual node only saves information about the "direction" it received data from and sends its data accordingly. The data gets passed from node to node, and packets get individual, dynamically created routes. A network of collective intelligence is created.

In early 2007, the B.A.T.M.A.N. developers started experimenting with the idea of routing on Data Link layer (layer 2 in the OSI model) rather than the Network layer. [3] To differentiate from the layer 3 routing daemon, the suffix "adv" (for: advanced) was chosen. Instead of manipulating routing tables based on information exchanged via UDP/IP, it provides a virtual network interface and transparently transports Ethernet packets on its own. [4] The batman-adv kernel module has been part of the official Linux kernel since 2.6.38. [5]

Operation

B.A.T.M.A.N. has elements of classical routing protocols: It detects other B.A.T.M.A.N. nodes and finds the best way (route) between nodes. It also keeps track of new nodes and informs its neighbors 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 much as possible.

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

Like distance-vector protocols, B.A.T.M.A.N. does not try to determine the entire route, but by using the originator-messages, only the packet's first step in the right direction. The data is handed to the next neighbor in that direction, which in turn uses the same mechanism. This process is repeated until the data reaches its destination.

In addition to radio networks, B.A.T.M.A.N. can also be used with common wired cable connections, such as Ethernet.

History

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

Version one

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

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, i.e., asymmetric links. [6] 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 are being considered part of the network, and one-way nodes are no longer fully included.

Version three

The greatest innovation in this version is B.A.T.M.A.N.'s support of multiple network devices. A computer or router running B.A.T.M.A.N. can be deployed in a central location, such as a tall 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).

A node can inform the network that it provides access to the Internet. Other nodes use this information to evaluate whether there is a connection to the Internet close to them and how much 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 home 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 building will simply be announced, thus also be reachable.

This version of B.A.T.M.A.N. has been shown to exhibit high levels of stability but slightly slow convergence times in real-world conditions; [7] this is confirmed by theoretical analysis. [8]

BMX6

BatMan-eXperimental (BMX) aims to approximate the real exponent by also sending OGMs (originator messages) multiple times in independent broadcast datagrams. [9] It originated as an independent branch of BATMAN developed by Axel Neumann. [10] An extended version that incorporates securely-entrusted multi-topology routing (SEMTOR) is called BMX7. [11]

IV

[12]

Version four implements an algorithm to better detect quality of transmissions in abnormal link situations. Originator messages are updated to incorporate this data, enabling other nodes to better sense quality of asymmetric connections.

V

[13]

Public persona

In 2017 B.A.T.M.A.N. was written on a whiteboard in the HBO series Silicon Valley (Season 4 Episode 2) where the show's lead character Richard Hendricks appears to include B.A.T.M.A.N. as a component of his "new Internet" concept (the text is visible on the top-right of the whiteboard). [14]

See also

Related Research Articles

Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone network (PSTN), and computer networks, such as the Internet.

<span class="mw-page-title-main">Wireless community network</span>

Wireless community networks or wireless community projects or simply community networks, are non-centralized, self-managed and collaborative networks organized in a grassroots fashion by communities, non-governmental organizations and cooperatives in order to provide a viable alternative to municipal wireless networks for consumers.

Link-state routing protocols are one of the two main classes of routing protocols used in packet switching networks for computer communications, the others being distance-vector routing protocols. Examples of link-state routing protocols include Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS).

<span class="mw-page-title-main">Wireless mesh network</span> Radio nodes organized in a mesh topology

A wireless mesh network (WMN) is a communications network made up of radio nodes organized in a mesh topology. It can also be a form of wireless ad hoc network.

<span class="mw-page-title-main">Optimized Link State Routing Protocol</span> IP routing protocol optimized for mobile ad hoc networks

The Optimized Link State Routing Protocol (OLSR) is an IP routing protocol optimized for mobile ad hoc networks, which can also be used on other wireless ad hoc networks. OLSR is a proactive link-state routing protocol, which uses hello and topology control (TC) messages to discover and then disseminate link state information throughout the mobile ad hoc network. Individual nodes use this topology information to compute next hop destinations for all nodes in the network using shortest hop forwarding paths.

Ad hoc On-Demand Distance Vector (AODV) Routing is a routing protocol for mobile ad hoc networks (MANETs) and other wireless ad hoc networks. It was jointly developed by Charles Perkins and Elizabeth Royer and was first published in the ACM 2nd IEEE Workshop on Mobile Computing Systems and Applications in February 1999.

Dynamic Source Routing (DSR) is a routing protocol for wireless mesh networks. It is similar to AODV in that it forms a route on-demand when a transmitting node requests one. However, it uses source routing instead of relying on the routing table at each intermediate device.

The OrderOne MANET Routing Protocol is an algorithm for computers communicating by digital radio in a mesh network to find each other, and send messages to each other along a reasonably efficient path. It was designed for, and promoted as working with wireless mesh networks.

<span class="mw-page-title-main">Freifunk</span>

Freifunk is a non-commercial open grassroots initiative to support free computer networks in the German region. Freifunk is part of the international movement for a wireless community network. The initiative counts about 400 local communities with over 41,000 access points. Among them, Münster, Aachen, Munich, Hanover, Stuttgart, and Uelzen are the biggest communities, with more than 1,000 access points each.

The Hazy-Sighted Link State Routing Protocol (HSLS) is a wireless mesh network routing protocol being developed by the CUWiN Foundation. This is an algorithm allowing computers communicating via digital radio in a mesh network to forward messages to computers that are out of reach of direct radio contact. Its network overhead is theoretically optimal, utilizing both proactive and reactive link-state routing to limit network updates in space and time. Its inventors believe it is a more efficient protocol to route wired networks as well. HSLS was invented by researchers at BBN Technologies.

In wireless networking, On-Demand Multicast Routing Protocol is a protocol for routing multicast and unicast traffic throughout Ad hoc wireless mesh networks.

A wireless ad hoc network (WANET) or mobile ad hoc network (MANET) is a decentralized type of wireless network. The network is ad hoc because it does not rely on a pre-existing infrastructure, such as routers or wireless access points. Instead, each node participates in routing by forwarding data for other nodes. The determination of which nodes forward data is made dynamically on the basis of network connectivity and the routing algorithm in use.

Ad hoc Wireless Distribution Service (AWDS) is a layer 2 routing protocol to connect mobile ad hoc networks, sometimes called wireless mesh networks. It is based on a link-state routing protocol, similar to OLSR.

Extremely Opportunistic Routing (ExOR) is a combination of routing protocol and media access control for a wireless ad hoc network, invented by Sanjit Biswas and Robert Morris of the MIT Artificial Intelligence Laboratory, and described in a 2005 paper. A very similar opportunistic routing scheme was also independently proposed by Zhenzhen Ye and Yingbo Hua from University of California, Riverside and presented in a paper in 2005. Previously open source, ExOR was available in 2005 but is no longer obtainable. The broadcast and retransmission strategies used by the algorithm were already described in the literature. ExOR is valuable because it can operate available digital radios to use some previously impractical algorithmic optimizations.

Scalable Source Routing (SSR) is a routing protocol for unstructured networks such as mobile ad hoc networks, mesh networks, or sensor networks. It combines source routing with routing along a virtual ring, and is based on the idea of "pushing Chord into the underlay".

IEEE 802.11s is a wireless local area network (WLAN) standard and an IEEE 802.11 amendment for mesh networking, defining how wireless devices can interconnect to create a wireless LAN mesh network, which may be used for relatively fixed topologies and wireless ad hoc networks. The IEEE 802.11s task group drew upon volunteers from university and industry to provide specifications and possible design solutions for wireless mesh networking. As a standard, the document was iterated and revised many times prior to finalization.

Fisheye State Routing (FSR) is a proposal for an implicit hierarchical routing protocol targeted to ad hoc networks. The basic principles of FSR are shared with other proactive, link-state routing protocols. In proactive link-state protocols every network node constantly updates a topology map that makes it possible to compute the shortest path to any destination in the network. The originality of FSR is inspired by the "fisheye" technique to reduce the size of information required to represent graphical data: The eye of a fish captures with high detail the pixels near the focal point, while the detail decreases as the distance from the focal point increases.

Associativity-based routing is a mobile routing protocol invented for wireless ad hoc networks, also known as mobile ad hoc networks (MANETs) and wireless mesh networks. ABR was invented in 1993, filed for a U.S. patent in 1996, and granted the patent in 1999. ABR was invented by Chai Keong Toh while doing his Ph.D. at Cambridge University.

<span class="mw-page-title-main">Wirelesspt</span>

Wirelesspt is a non-commercial open grassroots initiative to support free computer networks that is not dependent of central infrastructure, corporation or entity which is done by the ordinary citizen provide free, open and democratic access to the highways of information technologies helping people and organizations implementing wireless networks that will benefit their communities.

References

  1. "B.A.T.M.A.N. home page". Updated as required
  2. Sliwa, Benjamin; Falten, Stefan; Wietfeld, Christian (April 2019). "Performance Evaluation and Optimization of B.A.T.M.A.N. V Routing for Aerial and Ground-Based Mobile Ad-Hoc Networks". 2019 IEEE 89th Vehicular Technology Conference (VTC2019-Spring). pp. 1–7. arXiv: 1901.02298 . doi:10.1109/VTCSpring.2019.8746361. ISBN   978-1-7281-1217-6.
  3. Huawei Technologies Co., Ltd (2023). Data Communications and Network Technologies. Springer Nature. p. 25. hdl:20.500.12657/59330. ISBN   978-981-19-3029-4.
  4. "batman-adv — The Linux Kernel documentation". www.kernel.org. Retrieved 2019-04-14.
  5. "Linux 2 6 38". Linux Kernel Newbies.
  6. Dongkyun Kim; Toh, C.-K.; Yanghee Choi (November 2001). "On supporting link asymmetry in mobile ad hoc networks". GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270). Vol. 5. pp. 2798–2803. doi:10.1109/GLOCOM.2001.965940. ISBN   0-7803-7206-9. S2CID   16396581.
  7. M. Abolhasan; B. Hagelstein; J. C.-P. Wang (2009). "Real-world performance of current proactive multi-hop mesh protocols". 2009 15th Asia-Pacific Conference on Communications. pp. 44–47. doi:10.1109/APCC.2009.5375690. ISBN   978-1-4244-4784-8. S2CID   15462784.
  8. J. Chroboczek (5 August 2008). "A few comments on the BATMAN routing protocol".
  9. Axel Neumann (6 August 2008). "A few comments on the BATMAN routing protocol".
  10. Daneels, Glenn (2012–2013). Analysis of the BMX6 routing protocol. Department Mathematics-Computer Science, Faculty of Science, University of Antwerp.
  11. Neumann, Axel; Navarro, Leandro; Cerdà-Alabern, Llorenç (2018-10-01). "Enabling individually entrusted routing security for open and decentralized community networks". Ad Hoc Networks. 79: 20–42. doi:10.1016/j.adhoc.2018.06.014. hdl: 2117/119276 . ISSN   1570-8705. S2CID   61155814.
  12. "BATMAN IV - batman-adv - Open Mesh". www.open-mesh.org. Retrieved 2022-01-23.
  13. "BATMAN V - batman-adv - Open Mesh". open-mesh.org.
  14. Sven Eckelmann (May 3, 2017). "Silicon Valley Season 4 trailer links". Archived from the original on Dec 23, 2019.