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.[1] 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.

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

Das offizielle B.A.T.M.A.N.-Logo
Basisdaten

Hauptentwickler B.A.T.M.A.N.-Team
Betriebssystem Linux
Programmier­sprache C
Kategorie Routing-Protokoll, Kernel-Modul
Lizenz GNU General Public License
http://www.open-mesh.org/

Geschichte

Bearbeiten

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.[2] Basierend auf dieser Erfahrung begannen 2006 einige Mitglieder der Freifunk-Community, einen neuen Ansatz zu entwickeln.[3] Die Routingtabellen der einzelnen Knoten eines mobilen Ad-hoc-Netzes sollten auf effizientere Weise ermittelt und aktualisiert werden.[4][5]

Funktionsweise

Bearbeiten

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.[6][7]

Es gibt verschiedene Implementierungen des Routingprotokolls B.A.T.M.A.N.[8] 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.[9]

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.[10] 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.[11][12]

B.A.T.M.A.N. advanced bringt deshalb folgende Eigenschaften mit sich[13]:

  • 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.[14][15][16] Dieses Modul wird weiterhin aktiv entwickelt.[17]

Verbreitung

Bearbeiten

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.[18][19] In der Freifunk-Initiative ist B.A.T.M.A.N. advanced inzwischen verbreiteter als das Protokoll OLSR.[20] 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.[21] 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.[22]

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“.[23][24][25] The Serval Project realisiert VoIP-Telefonie zwischen Smartphones über ein vermaschtes Netz.[26]

Wie schon OLSR hat auch B.A.T.M.A.N. ein wissenschaftliches Interesse geweckt und findet in der Literatur zahlreiche Erwähnungen.[27][28] Die meisten Vorträge und Studien haben sich mit Performance-Vergleichen zwischen verschiedenen Routingprotokollen beschäftigt.[29][30][31] Die Eigenschaften von B.A.T.M.A.N. selbst wurden z. B. im Zusammenhang mit Voice over IP-Telefonie untersucht.[32]

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.[33]

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, S. 27 f.
  2. Elektra: The OLSR.ORG story. Abgerufen am 24. Mai 2015.
  3. Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, 29, 71 f.
  4. Erster auffindbarer Beitrag zum Entwicklungsstand von B.A.T.M.A.N. auf öffentlichen Mailingliste. März 2006, abgerufen am 24. Mai 2015.
  5. Release-Nachricht der Version B.A.T.M.A.N-III 0.1-rc1. Oktober 2006, abgerufen am 24. Mai 2015.
  6. Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, S. 71 f.
  7. Kristian Kißling: Drahtlose Ad-hoc-Netzwerke. Chaos mit System, in: Linux-Magazin 07/2014
  8. Überblick über die verschiedenen B.A.T.M.A.N.-Implementierungen. Abgerufen am 24. Mai 2015.
  9. Kurze Erläuterung zum Routing auf Layer 3 im B.A.T.M.A.N.-Wiki. Abgerufen am 24. Mai 2015.
  10. B.A.T.M.A.N. advanced im open-mesh.org-Wiki. Abgerufen am 24. Mai 2015.
  11. Wireless Networking in the Developing World. A practical guide to planning and building low-cost telecommunications infrastructure, S. 138 f.
  12. Interview mit Elektra Wagenrad im Linux-Magazin 07/2014
  13. Einführende Dokumentation zu B.A.T.M.A.N. advanced. Abgerufen am 24. Mai 2015.
  14. Commit in der Versionskontrolle des Linux-Kernel-Projektes. 2010, abgerufen am 24. Mai 2015.
  15. Release Notes Kernel 2.6.38. 2011, abgerufen am 24. Mai 2015.
  16. B.A.T.M.A.N. advanced in der Kernel-Dokumentation. Abgerufen am 24. Mai 2015.
  17. Thorsten Leemhuis: Kernel-Log – Was 3.8 bringt (3): Treiber. In: heise Open Source. 14. Februar 2013, abgerufen am 24. Mai 2015.
  18. Liste von Projekten, die B.A.T.M.A.N. einsetzen. Abgerufen am 24. Mai 2015.
  19. Website des Community-Netzes guifi.net in Katalonien. Abgerufen am 24. Mai 2015.
  20. Liste der Freifunk-Communitys unter Angabe der Firmware und der verwendeten Routingprotokolle. Abgerufen am 24. Mai 2015 (deutsch).
  21. Website von open-mesh.com. Abgerufen am 24. Mai 2015.
  22. Website von RADIUSdesk. Abgerufen am 24. Mai 2015.
  23. Website der Initiative Village Telco. Abgerufen am 24. Mai 2015.
  24. David Rowe: The Mesh Potato, in Linux Journal Nr. 188, Dez. 2009
  25. Anja Krieger: Vermaschte Netze. In: heise Telepolis. 14. Mai 2010, abgerufen am 24. Mai 2015.
  26. Serval project. In: Flinders University. Abgerufen am 9. November 2024 (englisch).
  27. Liste von Forschungsaufsätzen auf open-mesh.org. Abgerufen am 24. Mai 2015.
  28. 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
  29. 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.
  30. 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–188
  31. Ivá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
  32. 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. doi:10.1109/TWC.2014.2321576
  33. Website der "Wireless Battle of the Mesh". Abgerufen am 24. Mai 2015.