Протокол B.A.T.M.A.N.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
B.A.T.M.A.N. (Better Approach To Mobile Ad-hoc Networking) — это децентрализованный протокол маршрутизации для Mesh-сетей. Mesh-сети состоят из множества узлов, которые динамически соединяются друг с другом и передают данные по сети, образуя самонастраивающуюся и самоорганизующуюся структуру. В отличие от традиционных протоколов, таких как OLSR или RIP, которые используют централизованные таблицы маршрутизации, B.A.T.M.A.N. использует распределенный подход. Основные характеристики B.A.T.M.A.N.: Децентрализация: Каждый узел ведет свою собственную маршрутизацию, не полагаясь на централизованные маршрутизаторы. Это делает сеть устойчивой к сбоям отдельных узлов. Шкала масштабируемости: Протокол эффективен для сетей с большим количеством узлов, поскольку каждый узел знает только ближайших соседей и не хранит информацию обо всей сети. Динамическое обновление маршрутов: Маршруты обновляются на основе активных узлов и доступных соединений. B.A.T.M.A.N. выбирает лучшие маршруты для передачи данных, избегая узлов с высокой загрузкой или низким качеством связи. |
Проверить какие интерфейсы добавлены:
1 |
batctl if |
Добавление интерфейсов:
1 2 3 |
batctl if add bond0 batctl if add eth0 batctl if add br0 |
Проверить маршрутизацию batman:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
originator table - таблица авторов - сосед: batctl o neighbor table - соседний стол - ближайший сосед: batctl n translation tables global - глобальная таблица трансляции: batctl tg translation tables - таблицы перевода - таблица перехода - локальная таблицы трансляции batctl tl шлюз - назначение шлюза - проверка является этот хост шлюзом batman-adv batctl gw |
Претензии по петлям:
1 |
batctl cl |
Проверить какой версии протокол batman используется:
1 |
batctl ra |
Изменить версию протокола batman:
1 |
batctl ra BATMAN_V |
!!! Не обязательно но может быть полезно
1 2 3 |
Для работы dhcp и других протоколов можно включить mff multicast_forceflood setting batctl mff 1 |
Разобрать интерфейс bat0:
1 |
batctl meshif bat0 interface destroy |
Пример файла bat-host:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
При создании файла /etc/bat-hosts в выводе многих команд batctl MAC-адреса будут заменены символическими именами. Эти имена не обязательно должны совпадать с именем хоста или соответствовать DNS. Используемый MAC-адрес в файле bat-hosts — MAC интерфейса который добавили командой "batctl if add name_interface" забираем с каждого хоста и заполняем этот файл. MAC желаемое_имя cat > /etc/bat-hosts << "EOF" 0c:d0:51:0e:00:01 offiec-e1 0c:d0:51:0e:00:02 office-e2 0c:a4:32:06:00:01 office2-e1 0c:a4:32:06:00:02 offiece2-e2 0c:44:b9:13:00:01 office3-e1 0c:44:b9:13:00:02 office3-e2 0c:e2:fb:ea:00:02 garage-e1 0c:e2:fb:ea:00:01 garage-e2 EOF |
Приоритеты:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Чтобы настроить приоритет для интерфейса или маршрута, можно использовать команду batctl throughput_override, которая напрямую управляет параметром throughput_override. Проверка текущего значения throughput_override для интерфейса: batct o batctl wlan0 throughput_override Изменение значения throughput_override: batctl <интерфейс> throughput_override <значение> batctl wlan0 throughput_override 100000 batctl wlan0 to 100000 Чтобы сбросить значение throughput_override и вернуть автоматический расчет пропускной способности, нужно установить его значение в 0: batctl wlan0 to 0 |
Фрагментация трафика
1 2 3 4 |
batctl fragmentation 1 batctl fragmentation 0 batctl f 0 batctl f 1 |