Рубрики
разное

B.A.T.M.A.N / batctl

Протокол B.A.T.M.A.N.


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. выбирает лучшие маршруты для передачи данных, 
избегая узлов с высокой загрузкой или низким качеством связи.

Проверить какие интерфейсы добавлены:

batctl if

Добавление интерфейсов:

batctl if add bond0
batctl if add eth0
batctl if add br0

Проверить маршрутизацию batman:


originator table - таблица авторов - сосед:
batctl o

neighbor table - соседний стол - ближайший сосед:
batctl n

translation tables  global - глобальная  таблица трансляции:  
batctl tg

translation tables - таблицы перевода -  таблица перехода - локальная таблицы трансляции
batctl tl  

шлюз - назначение шлюза - проверка является этот хост шлюзом batman-adv
batctl gw

Претензии по петлям:

batctl cl

Проверить какой версии протокол batman используется:

batctl ra

Изменить версию протокола batman:

batctl ra BATMAN_V

!!! Не обязательно но может быть полезно

Для работы dhcp и других протоколов можно включить mff
multicast_forceflood setting
batctl mff 1

Разобрать интерфейс bat0:

batctl meshif bat0 interface destroy

Пример файла bat-host:

При создании файла /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

Приоритеты:

Чтобы настроить приоритет для интерфейса или маршрута,
можно использовать команду 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

Фрагментация трафика

batctl fragmentation 1
batctl fragmentation 0
batctl f 0
batctl f 1