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


aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
B.A.T.M.A.N. advanced
Das offizielle B.A.T.M.A.N.-Logo
Maintainer B.A.T.M.A.N.-Team
Aktuelle Version 2015.1
(4. August 2015)
Betriebssystem Linux
Programmier­sprache C
Kategorie Routing-Protokoll, Kernel-Modul
Lizenz GNU General Public License
http://www.open-mesh.org/

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.<ref>Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, S. 27 f.</ref> 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.<ref>Elektra: The OLSR.ORG story. Abgerufen am 24. Mai 2015.</ref> Basierend auf dieser Erfahrung begannen 2006 einige Mitglieder der Freifunk-Community, einen neuen Ansatz zu entwickeln.<ref>Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, 29, 71 f.</ref> Die Routingtabellen der einzelnen Knoten eines mobilen Ad-hoc-Netzes sollten auf effizientere Weise ermittelt und aktualisiert werden.<ref>Vorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatErster auffindbarer Beitrag zum Entwicklungsstand von B.A.T.M.A.N. auf öffentlichen Mailingliste. März 2006, abgerufen am 24. Mai 2015.</ref><ref>Vorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatRelease-Nachricht der Version B.A.T.M.A.N-III 0.1-rc1. Oktober 2006, abgerufen am 24. Mai 2015.</ref>

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 (so genannte 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 welchen Nachbarn er wen erreicht, 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.<ref>Corinna "Elektra" Aichele: Mesh. Drahtlose Ad-hoc-Netze, Open Source Press, München 2007, S. 71 f.</ref><ref>Kristian Kißling: Drahtlose Ad-hoc-Netzwerke. Chaos mit System, in: Linux-Magazin 07/2014</ref>

Es gibt verschiedene Implementierungen des Routingprotokolls B.A.T.M.A.N.<ref>Überblick über die verschiedenen B.A.T.M.A.N.-Implementierungen. Abgerufen am 24. Mai 2015.</ref> 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 Computernetzwerk durch den Austausch von UDP-Paketen mit anderen Routern. Anhand dieser Informationen befüllt es die Routingtabelle des Kernels.<ref>Kurze Erläuterung zum Routing auf Layer 3 im B.A.T.M.A.N.-Wiki. Abgerufen am 24. Mai 2015.</ref>

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.<ref>B.A.T.M.A.N. advanced im open-mesh.org-Wiki. Abgerufen am 24. Mai 2015.</ref> 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.<ref>Wireless Networking in the Developing World. A practical guide to planning and building low-cost telecommunications infrastructure, S. 138 f.</ref><ref>Interview mit Elektra Wagenrad im Linux-Magazin 07/2014</ref>

B.A.T.M.A.N. advanced bringt deshalb folgende Eigenschaften mit sich<ref>Einführende Dokumentation zu B.A.T.M.A.N. advanced. Abgerufen am 24. Mai 2015.</ref>:

  • 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.<ref>Commit in der Versionskontrolle des Linux-Kernel-Projektes. 2010, abgerufen am 24. Mai 2015.</ref><ref>Release Notes Kernel 2.6.38. 2011, abgerufen am 24. Mai 2015.</ref><ref>B.A.T.M.A.N. advanced in der Kernel-Dokumentation. Abgerufen am 24. Mai 2015.</ref> Dieses Modul wird weiterhin aktiv entwickelt.<ref>Thorsten Leemhuis: Kernel-Log – Was 3.8 bringt (3): Treiber. In: heise Open Source. 14. Februar 2013, abgerufen am 24. Mai 2015.</ref>

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.<ref>Liste von Projekten, die B.A.T.M.A.N. einsetzen. Abgerufen am 24. Mai 2015.</ref><ref>Website des Community-Netzes guifi.net in Katalonien. Abgerufen am 24. Mai 2015.</ref> In der Freifunk-Initiative ist B.A.T.M.A.N. advanced inzwischen verbreiteter als das Protokoll OLSR.<ref>Liste der Freifunk-Communitys unter Angabe der Firmware und der verwendeten Routingprotokolle. Abgerufen am 24. Mai 2015 (deutsch).</ref> 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.<ref>Website von open-mesh.com. Abgerufen am 24. Mai 2015.</ref> 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.<ref>Website von RADIUSdesk. Abgerufen am 24. Mai 2015.</ref>

Außer für WLAN-Netze wird B.A.T.M.A.N. auch für lokale Voice over 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".<ref>Website der Initiative Village Telco. Abgerufen am 24. Mai 2015.</ref><ref>David Rowe: The Mesh Potato, in Linux Journal Nr. 188, Dez. 2009</ref><ref>Anja Krieger: Vermaschte Netze. In: heise Telepolis. 14. Mai 2010, abgerufen am 24. Mai 2015.</ref> The Serval Project realisiert VoIP-Telefonie zwischen Smartphones über ein vermaschtes Netz.<ref>Website des Softwareprojektes The Serval Project. Abgerufen am 24. Mai 2015.</ref>

Wie schon OLSR hat auch B.A.T.M.A.N. ein wissenschaftliches Interesse geweckt und findet in der Literatur zahlreiche Erwähnungen.<ref>Liste von Forschungsaufsätzen auf open-mesh.org. Abgerufen am 24. Mai 2015.</ref><ref>Kevin Roebuck: WiGig - Wireless Gigabit Alliance: High-impact Strategies High-impact Strategies - What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors, Emereo Publishing, 2012, S. 16 f.</ref><ref>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</ref> Die meisten Vorträge und Studien haben sich mit Performance-Vergleichen zwischen verschiedenen Routingprotokollen beschäftigt.<ref>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.</ref><ref>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</ref><ref>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</ref> Die Eigenschaften von B.A.T.M.A.N. selbst wurden z.B. im Zusammenhang mit Voice over IP-Telefonie untersucht.<ref>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 </ref>

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.<ref>Website der "Wireless Battle of the Mesh". Abgerufen am 24. Mai 2015.</ref>

Weblinks

Einzelnachweise

<references />