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

B.A.T.M.A.N.
Логотип программы B.A.T.M.A.N.
Тип Протокол маршрутизации
Разработчик Freifunk
Написана на C
Операционная система UNIX-подобные
Состояние Разрабатывается
Лицензия Лицензия BSD
Сайт open-mesh.org
Логотип Викисклада Медиафайлы на Викискладе

B.A.T.M.A.N. — протокол маршрутизации, разрабатываемый в настоящее время сообществом Freifunk как замена OLSR.

Основной особенностью B.A.T.M.A.N. является децентрализация сведений о лучшем маршруте в сети — ни один узел не владеет всеми данными. С использованием этой техники отпадает необходимость в распространении информации об изменениях в сети на все узлы. Каждый узел хранит информацию только о «направлении», из которого поступают данные, и так же их отправляет. Таким образом, узлы передают друг другу пакеты по динамически создаваемым маршрутам.

Поддерживается ядром Linux с версии 2.6.38.

Описание протокола

[править | править код]

У B.A.T.M.A.N. имеются элементы классических протоколов маршрутизации: он находит другие узлы B.A.T.M.A.N. и определяет наилучший путь до них. Он также информирует соседей о появлении в сети новых узлов.

Каждый узел регулярно отправляет широковещательное сообщение, информируя таким образом соседей о своём существовании. Соседи передают это сообщение своим соседям и так далее. Таким образом, каждый узел в сети получает эту информацию.

B.A.T.M.A.N. не пытается определить весь маршрут, а только первый шаг пакета в нужном направлении. Данные пересылаются соседу в этом направлении, который использует тот же механизм. Процесс повторяется, пока данные не достигнут цели.

B.A.T.M.A.N. может использоваться не только в беспроводных, но и в кабельных сетях, таких как Ethernet.