B.A.T.M.A.N. (скорочення від Better Approach To Mobile Adhoc Networking) — протокол маршрутизації для ad-hoc мереж електронних пристроїв, що розробляється спільнотою Freifunk, головною особливістю якого є децентралізований розподіл знань про найкращий маршрут мережею, де жоден вузол мережі не має всіх знань про мережу.

Цей підхід звільняє кожен вузол мережі від необхідності збереження інформації про структуру мережі й таким чином увільняє мережу він потреби розповсюджувати такі знання серед вузлів мережі у випадку її зміни. Це досягається збереженням окремим вузлом виключно відомостей про напрямок отримання ним відомостей і відповідно про напрямок подальшої їх передачі. Данні передаються від вузла до вузла мережі, а пакети мають динамічно створені маршрути передачі.

З початку 2007-го року розробники B.A.T.M.A.N. впроваджують відхід від рівня управління демона до рівня демона ядра системи. Модуль batman-adv є офіційною частиною ядра операційної системи Linux починаючи з версії 2.6.38 (2011) .

B.A.T.M.A.N. містить елементи інших протоколів маршрутизації, а саме виявляє інші вузли мережі та знаходить найкращий шлях (маршрут) до них. Також він відстежує появу нових вузлів та відомих сусідів по мережі про їх існування.

Суть технології

У відомих статичних мережах мережеві адміністратори та інші технічні спеціалісти приймають рішення яким маршрутом із застосуванням якого кабелю відбувається підключення до мережі. На відміну від статичних кабельних мереж, для мобільних бездротових характерна постійна зміна як вузлів мережі, так і якості радіозв'язку й відповідно швидкості каналу. Постійна мінливість бездротових мереж й необхідність забезпечення низького порогу участі у мережах Freifunk провокує необхідність максимальної автоматизації цього завдання. Кожен вузол відповідної мережі на регулярній основі надсилає автоматизоване широкомовне повідомлення, таким чином інформуючи всіх ймовірних сусідів про своє існування. Далі сусіди передають це повідомлення своїм сусідам і так далі. Це забезпечує передачу повідомлення до кожного вузла мережі. Щоб збудувати найкращий маршрут до певного вузла мережі, B.A.T.M.A.N. обраховує відповідні повідомлення та запам'ятовує від якого сусіда таке повідомлення було отримано. При цьому B.A.T.M.A.N. не намагається визначити весь маршрут руху пакету, просто передаючи пакет сусіду у правильному напрямку, де процес визначення напрямку подальшої передачі пакету повторюється. Наступні вузли також повторюють цей процес, аж поки дані не досягнуть вузла призначення.

Окрім бездротових мереж, B.A.T.M.A.N. може застосовуватись і зі звичайними кабельними мережами типу Ethernet.

Згадки у масовій культурі

У Серіалі HBO "Кремнієва долина" (сезон 4, серія 2) один з головних героїв серіалу Річард Хендрікс включив B.A.T.M.A.N. у свою концепцію «нового Інтернету».

Див. також

 https://en.wikipedia.org/wiki/Netsukuku