B.A.T.M.A.N. (Abkürzung für Better Approach To Mobile Adhoc Networking) ist ein Routingprotokoll für mobile Ad-hoc-Netze. Mobile Ad-hoc-Netze bringen die besondere Herausforderung mit sich, dass sich die Verbindungsqualität der Funkstrecken ständig verändert. Die Aufgabe des Routingprotokolls ist es, laufend zu ermitteln, welche Knoten in dem Netz aktuell über welchen Weg erreichbar sind, und dies in die Routingtabellen der beteiligten Geräte einzutragen.Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, S. 27 f. Das Protokoll B.A.T.M.A.N. wird seit 2006 hauptsächlich im Umfeld der Freifunk-Community entwickelt, sein Einsatz beschränkt sich jedoch nicht auf dieses Projekt.
Geschichte Bevor es B.A.T.M.A.N. gab, verwendeten Freifunk-Communitys nur das Routing-Protokoll OLSR. Dieses Protokoll ermittelt über den Dijkstra-Algorithmus permanent alle Routen zwischen allen Routern im mobilen Ad-hoc-Netz. Jeder Knoten kennt in einem OLSR-Netz das komplette Netz. Dadurch entstehen jedoch unnötiger Rechenaufwand und Datenverkehr. Diverse Versuche, die Software OLSR anzupassen, führten nicht zum erhofften Performance-Zugewinn. Basierend auf dieser Erfahrung begannen 2006 einige Mitglieder der Freifunk-Community, einen neuen Ansatz zu entwickeln.Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, 29, 71 f. Die Routingtabellen der einzelnen Knoten eines mobilen Ad-hoc-Netzes sollten auf effizientere Weise ermittelt und aktualisiert werden.
Funktionsweise B.A.T.M.A.N. berechnet nicht auf jedem Gerät die Routingtabellen für das komplette Netzwerk. Jeder Router mit B.A.T.M.A.N. informiert regelmäßig seine Nachbarrouter durch Broadcast-Nachrichten (sogenannte Originatornachrichten) über seine Existenz. Die Router wiederholen diese Nachrichten wiederum für ihre benachbarten Router. So wird im gesamten Netzwerk mitgeteilt, welche B.A.T.M.A.N.-Router existieren. Ein Router schreibt lediglich in die Routingtabelle, über welche Nachbarn welche weiteren Router erreichbar sind, ohne dabei die komplette Route bis zum Ziel zu prüfen. In den Broadcast-Nachrichten ist eine Metrik enthalten, die etwas über die Qualität der Verbindung aussagt, so dass jeder Router auch Informationen darüber hat, wie gut die jeweilige Verbindung aktuell ist.Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, S. 71 f.Kristian Kißling: Drahtlose Ad-hoc-Netzwerke. Chaos mit System, in: Linux-Magazin 07/2014
Es gibt verschiedene Implementierungen des Routingprotokolls B.A.T.M.A.N. Das ursprüngliche B.A.T.M.A.N. arbeitet wie die meisten Routingprotokolle auf Schicht 3 des OSI-Modells, versendet also IP-Pakete. Es ermittelt Informationen über die optimalen Routen im Rechnernetz durch den Austausch von UDP-Paketen mit anderen Routern. Anhand dieser Informationen befüllt es die Routingtabelle des Kernels.
Im Unterschied zu diesem klassischen B.A.T.M.A.N. arbeitet das neuere „B.A.T.M.A.N. advanced“ (auch „Batman-adv“) auf Schicht 2 des OSI-Modells. Das komplette vermaschte Netz erscheint damit für die darüberliegenden Schichten als verteilter Switch: Der Netzwerkverkehr wird gekapselt an sein Ziel geschickt, als ob es gleich der nächste Nachbar wäre. Software, die darüber auf Schicht 3 mittels IP arbeitet, muss von dem Meshnetzwerk nichts wissen.Wireless Networking in the Developing World. A practical guide to planning and building low-cost telecommunications infrastructure, S. 138 f.Interview mit Elektra Wagenrad im Linux-Magazin 07/2014
B.A.T.M.A.N. advanced bringt deshalb folgende Eigenschaften mit sich: Ein Knoten kann schon am vermaschten Netz teilnehmen, bevor er eine IP-Adresse hat. Es können beliebige OSI-Layer-3-Protokolle verwendet werden, z. B. IPv4, IPv6, DHCP. (Mobile) Endgeräte können dann mittels IP-Adressvergabe über DHCP in das Gesamtnetz integriert werden, auch wenn sie selbst nicht meshen können. (Mobile) Endgeräte können zwischen B.A.T.M.A.N. advanced-vermaschten Access Points roamen.
Um den Datendurchsatz zu verbessern, wurde B.A.T.M.A.N. advanced als Linux-Kernel-Modul integriert und ist seit 2011 Teil des Linux-Mainline-Kernels. Dieses Modul wird weiterhin aktiv entwickelt.
Verbreitung B.A.T.M.A.N. advanced wird für den Aufbau von WLAN-Meshnetzen eingesetzt, etwa von Freifunk in Deutschland, von Altermundi in Argentinien und von guifi.net in Katalonien/Spanien. In der Freifunk-Initiative ist B.A.T.M.A.N. advanced inzwischen verbreiteter als das Protokoll OLSR. Im kommerziellen Bereich wird die Software von der Firma open-mesh.com auf vorkonfigurierten Access Points benutzt, die ebenfalls vermaschte Netze mittels B.A.T.M.A.N. aufbauen. Das Projekt RADIUSdesk entwickelt grafische Benutzeroberflächen für Access Points und vermaschte Netze als freie Software, bietet jedoch auch bezahlte Anpassungsarbeiten an der Software an.
Außer für WLANs wird B.A.T.M.A.N. auch für lokale IP-Telefonie verwendet: Die Initiative Village Telco baut kostengünstige lokale Telefonie-Netzwerke mit vermaschten Netzen, die die Implementierung „B.A.T.M.A.N. Daemon“ verwenden. Der entsprechende Router dafür trägt den Namen „Mesh Potato“.David Rowe: The Mesh Potato, in Linux Journal Nr. 188, Dez. 2009 The Serval Project realisiert VoIP-Telefonie zwischen Smartphones über ein vermaschtes Netz.
Wie schon OLSR hat auch B.A.T.M.A.N. ein wissenschaftliches Interesse geweckt und findet in der Literatur zahlreiche Erwähnungen.Mustafa Hashem Sherif / Abdelhamid Mellouk / Jun Li / Paolo Bellavista: Ad Hoc Networks: 5th International ICST Conference, ADHOCNETS 2013, Barcelona, Spanien, Oktober 2013, Revised Selected Papers, Springer, 2014 Die meisten Vorträge und Studien haben sich mit Performance-Vergleichen zwischen verschiedenen Routingprotokollen beschäftigt.Elis Kulla / Masahiro Hiyama / Makoto Ikeda / Leonard Barolli: Performance comparison of OLSR and BATMAN routing protocols by a MANET testbed in stairs environment, in: Computers and Mathematics with Applications, Januar 2012, Band 63(2), S. 339 ff.Davinder Singh Sandhu / Sukesha Sharma: Performance Evaluation of BATMAN, DSR, OLSR Routing Protocols - A Review, in: International Journal of Emerging Technology and Advanced Engineering, Januar 2012, Band 2(1), S. 184–188Iván Armuelles Vionov / Aidelen Chung Cedeño / Joaquín Chung / Grace González: A Performance Analysis of Wireless Mesh Networks Implementations Based on Open Source Software, in: Luis Corral / Alberto Sillitti / Giancarlo Succi / Jelena Vlasenko / Anthony I. Wasserman (Hrsg.): Open Source Software: Mobile Open Source Technologies: 10th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2014, San José, Costa Rica, May 6-9, 2014, Proceedings, Springer, 2014, S. 107–110 Die Eigenschaften von B.A.T.M.A.N. selbst wurden z. B. im Zusammenhang mit Voice over IP-Telefonie untersucht.Ramon Sanchez Iborra: Performance evaluation of BATMAN routing protocol for VoIP services: a QoE perspective, in: IEEE Transactions on Wireless Communications (Impact Factor: 2.76). 09/2014; 13(9), S. 4947–4958.
Die Communitys, die selbst drahtlose Mesh-Netze bauen, führen einmal im Jahr die internationale „Wireless Battle of the Mesh“ durch, in der die Performance verschiedenster Routingprotokolle Praxistests unterzogen wird.
Weblinks Offizielle Website von B.A.T.M.A.N. Podcast-Folge mit Tim Pritlove und Elektra Wagenrad
Einzelnachweise
Kategorie:Routingprotokoll Kategorie:Freifunk Kategorie:Freie Systemsoftware