БЭТМЕН
![]() | Эту статью необходимо обновить . ( июнь 2016 г. ) |
![]() | |
Разработчик(и) | Фрайфанк |
---|---|
Первоначальный выпуск | batmand 0.1 (6 декабря 2006 г | )
Стабильная версия | Бэтмен-адв 2024.1 [1] / 5 апреля 2024 г |
Написано в | С |
Операционная система | Unix-подобный |
Тип | протокол маршрутизации |
Лицензия | лицензия GPL |
Веб-сайт | www |
The Better Approach to Mobile Ad-hoc Networking ( BATMAN ) — это протокол маршрутизации для многоскачковых мобильных одноранговых сетей , который разрабатывается немецким сообществом Freifunk и предназначен для замены протокола маршрутизации с оптимизированным состоянием канала (OLSR) как OLSR. не отвечал требованиям производительности крупномасштабных ячеистых развертываний. [2]
Важнейшим моментом BATMAN является децентрализация знаний о наилучшем маршруте через сеть — ни один узел не имеет всех данных. Этот метод устраняет необходимость распространения информации об изменениях в сети на каждый узел сети. Отдельный узел сохраняет только информацию о «направлении», из которого он получил данные, и отправляет свои данные соответственно. Данные передаются от узла к узлу, а пакеты получают индивидуальные, динамически создаваемые маршруты. сеть коллективного разума Создается .
В начале 2007 года разработчики BATMAN начали экспериментировать с идеей маршрутизации на канальном уровне (уровень 2 в модели OSI), а не на сетевом уровне . [3] Чтобы отличить демона маршрутизации уровня 3, был выбран суффикс «adv» (для: расширенный). Вместо манипулирования таблицами маршрутизации на основе информации, передаваемой через UDP / IP , он предоставляет виртуальный сетевой интерфейс и прозрачно транспортирует пакеты Ethernet . самостоятельно [4] Модуль ядра batman-adv является частью официального ядра Linux с версии 2.6.38. [5]
Операция
[ редактировать ]BATMAN имеет элементы классических протоколов маршрутизации: он обнаруживает другие узлы BATMAN и находит лучший путь (маршрут) между узлами. Он также отслеживает новые узлы и информирует своих соседей об их существовании.
В статических сетях сетевые администраторы или технические специалисты решают, какой компьютер каким способом или кабелем доступен. Поскольку радиосети претерпевают постоянные изменения, а низкие пороги участия являются жизненно важной частью основы сетей «Freifunk», эта задача должна быть максимально автоматизирована.
Каждый узел регулярно рассылает широковещательную рассылку , тем самым информируя всех своих соседей о своем существовании. Затем соседи передают это сообщение своим соседям и так далее. Это передает информацию каждому узлу в сети. Чтобы найти лучший маршрут к определенному узлу, BATMAN подсчитывает полученные сообщения-отправители и регистрирует, через какого соседа пришло сообщение.
Как и протоколы вектора расстояния, BATMAN не пытается определить весь маршрут, а, используя сообщения отправителя, только первый шаг пакета в правильном направлении. Данные передаются следующему соседу в этом направлении, который, в свою очередь, использует тот же механизм. Этот процесс повторяется до тех пор, пока данные не достигнут места назначения.
Помимо радиосетей, BATMAN также можно использовать с обычными проводными кабельными соединениями, такими как Ethernet .
История
[ редактировать ]Задача заключалась в том, чтобы создать протокол , который должен был быть максимально простым, небольшим и быстрым. Казалось разумным разделить разработку на несколько этапов и реализовать сложные функции с помощью итеративного процесса:
Версия первая
[ редактировать ]На первом этапе алгоритм маршрутизации был реализован и проверен на практичность и пригодность для поставленной задачи. Для отправки и получения originator-сообщений (информации о существовании) был выбран UDP- порт 1966.
Версия вторая
[ редактировать ]Алгоритм первой версии сделал важное предположение: как только узел получает данные о существовании от другого узла, он предполагает, что он также может отправлять данные обратно. Однако в радиосетях вполне может оказаться, что возможна только односторонняя связь, т. е. асимметричные каналы связи. [6] В протокол был заложен механизм, позволяющий это сделать и решить возникающие проблемы. Механизм позволяет узлу определить, обеспечивает ли соседний узел двустороннюю связь. Частью сети считаются только двунаправленные узлы, а односторонние узлы больше не включены полностью.
Версия третья
[ редактировать ]Самым большим нововведением в этой версии является поддержка BATMAN нескольких сетевых устройств . Компьютер или маршрутизатор, на котором работает BATMAN, может быть развернут в центральном месте, например, в высотном здании, и к нему подключено несколько проводных или беспроводных сетевых интерфейсов. При таком развертывании BATMAN может ретранслировать сетевые данные в более чем одном направлении без каких-либо задержек при повторной передаче.
При определении наилучшего маршрута через сеть могут возникнуть определенные необычные явления и особые обстоятельства. Эти проблемы были решены и противодействовали им, чтобы предотвратить циклическую маршрутизацию (которая может помешать доставке данных к месту назначения).
Узел может сообщить сети, что он предоставляет доступ к Интернету. Другие узлы используют эту информацию, чтобы оценить, есть ли поблизости от них подключение к Интернету и какая пропускная способность доступна. Они могут либо использовать определенный шлюз, либо позволить BATMAN определить, какой шлюз использовать, на основе таких критериев, как скорость соединения.
В эту версию также было включено объявление об устройствах, на которых не работает сам BATMAN. Обычно этот метод используется для подключения домашних сетей к mesh-сетям. Антенна, установленная на крыше, подключится к беспроводной сети через БЭТМЕН, а остальная часть здания будет просто объявлена, и, следовательно, также будет доступна.
Было показано, что эта версия BATMAN демонстрирует высокий уровень стабильности, но немного медленное время сходимости в реальных условиях; [7] это подтверждается теоретическим анализом. [8]
BMX6
[ редактировать ]BatMan-eXperimental (BMX) стремится аппроксимировать реальный показатель степени путем многократной отправки OGM (сообщений отправителя) в независимых широковещательных датаграммах. [9] Он возник как независимая ветвь BATMAN, разработанная Акселем Нойманном. [10] Расширенная версия, включающая безопасную мультитопологическую маршрутизацию (SEMTOR), называется BMX7. [11]
IV
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( сентябрь 2017 г. ) |
В четвертой версии реализован алгоритм для лучшего определения качества передачи в нештатных ситуациях на линии связи. Сообщения отправителя обновляются с учетом этих данных, что позволяет другим узлам лучше определять качество асимметричных соединений.
V
[ редактировать ]![]() | Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( июнь 2016 г. ) |
Публичный человек
[ редактировать ]В 2017 году БЭТМЕН был написан на доске в HBO « сериале Силиконовая долина » (сезон 4, эпизод 2), где главный герой сериала Ричард Хендрикс, кажется, включает БЭТМЕНА как компонент своей концепции «нового Интернета» (текст виден вверху). справа от доски). [14]
См. также
[ редактировать ]- Нетсукуку — проект с похожими целями
- Специальная дистанционная векторная маршрутизация по требованию (AODV)
- Маршрутизация на основе ассоциативности (ABR)
- Динамическая маршрутизация источника (DSR)
- Список протоколов специальной маршрутизации
- Список платформ маршрутизации с открытым исходным кодом
- Мобильная одноранговая сеть (MANET)
- Беспроводная одноранговая сеть
Ссылки
[ редактировать ]- ^ «Домашняя страница БЭТМЕНА» . Обновляется по мере необходимости
- ^ Слива, Бенджамин; Фальтен, Стефан; Витфельд, Кристиан (апрель 2019 г.). «Оценка производительности и оптимизация маршрутизации BATMAN V для воздушных и наземных мобильных одноранговых сетей». 89-я конференция IEEE по автомобильным технологиям 2019 г. (VTC2019-весна) . стр. 1–7. arXiv : 1901.02298 . дои : 10.1109/VTCSpring.2019.8746361 . ISBN 978-1-7281-1217-6 .
- ^ Компания Huawei Technologies Co., Ltd (2023 г.). Передача данных и сетевые технологии . Спрингер Природа. п. 25. HDL : 20.500.12657/59330 . ISBN 978-981-19-3029-4 .
- ^ «batman-adv — Документация по ядру Linux» . www.kernel.org . Проверено 14 апреля 2019 г.
- ^ «Линукс 2 6 38» . Ядро Linux для новичков.
- ^ Донгюн Ким; Тох, С.-К.; Янхи Чой (ноябрь 2001 г.). «О поддержке асимметрии каналов в мобильных одноранговых сетях». ГЛОБЕКОМ'01. Глобальная телекоммуникационная конференция IEEE (кат. № 01CH37270) . Том. 5. С. 2798–2803. дои : 10.1109/GLOCOM.2001.965940 . ISBN 0-7803-7206-9 . S2CID 16396581 .
- ^ М. Абольхасан; Б. Хагельштейн; ДЖК-П. Ван (2009). «Реальная производительность современных протоколов проактивной многоточечной сети» . 2009 г. 15-я Азиатско-Тихоокеанская конференция по коммуникациям . стр. 44–47. дои : 10.1109/APCC.2009.5375690 . ISBN 978-1-4244-4784-8 . S2CID 15462784 .
- ^ Й. Хробочек (5 августа 2008 г.). «Несколько комментариев по протоколу маршрутизации BATMAN» .
- ^ Аксель Нойманн (6 августа 2008 г.). «Несколько комментариев по протоколу маршрутизации BATMAN» .
- ^ Дэнилс, Гленн (2012–2013 гг.). Анализ протокола маршрутизации BMX6 . Кафедра математики и информатики, факультет естественных наук Антверпенского университета.
- ^ «БЭТМАН IV — batman-adv — Открытая сетка» . www.open-mesh.org . Проверено 23 января 2022 г.
- ^ «БЭТМАН V — batman-adv — Открытая сетка» . open-mesh.org.
- ^ Свен Экельманн (3 мая 2017 г.). «Ссылки на трейлер четвертого сезона «Кремниевой долины»» . Архивировано из оригинала 23 декабря 2019 года.