может ли режим связывания 6 получать нагрузку трафика для подчинённых устройств

Вопрос или проблема

В режиме 6 трафик будет распределяться между интерфейсами слейвов относительно их нагрузки?

ОС: ubuntu 18.04.6 LTS; драйвер объединения: v3.7.1; ядро: 4.15.0-213-generic

В режиме 6 я установил параметры bond_arp_interval 100, arp_validate 3 и bond_arp_ip_target ip1,ip2, после чего перезапустил интерфейс, но получил только ip1 из файла /sys/class/net/bond6/bonding/arp_ip_target, а из обоих файлов /sys/class/net/bond6/bonding/arp_interval и /sys/class/net/bond6/bonding/arp_validate получил 0. Я направил трафик на целевой хост с помощью iperf3, и весь трафик от разных исходных хостов с различными ARP записями (один и тот же целевой IP с различными MAC-адресами, принадлежащими слейвам режима 6) всегда поступал на один и тот же слейв интерфейс на целевом хосте. Возможно, запись ARP не обновляется должным образом в подсети, поэтому не происходит балансировка нагрузки трафика.

Я протестировал bond_arp_interval 100, arp_validate 3 и bond_arp_ip_target ip1 в режиме 1, это сработало, ссылка на решение redhat. Возможно, ARP-пробы не подходят для режима 6? Почему режим 6 утверждает, что может достичь балансировки нагрузки трафика?

Как драйвер объединения инициирует ответ ARP для обновления записи ARP? Я не могу найти другие параметры для этого.

Linux Ethernet Bonding Driver HOWTO :

Балансировка нагрузки принимаемого трафика осуществляется через переговоры протокола разрешения адресов (ARP) и отображение таблицы на соответствующий групповой интерфейс.

Таким образом, пиры узнают аппаратный адрес
объединенного интерфейса, и балансировка принимаемого трафика
сводится к текущему слейву. Это обеспечивается
отправкой обновлений (ARP ответов) всем пирами с
ими индивидуально назначенными аппаратными адресами,
чтобы трафик перераспределялся.

Вопросы:

1. Как объединение достигает того, что режим 6 балансирует нагрузку принимаемого трафика между слейвами?

2. Почему это не работает с arp monitor в режиме 6?

3. Может ли это работать в распределенном VXLAN шлюзе с динамическим обучением ARP записей и подавлением широковещательных ARP-сообщений?

4. Когда два распределенных VXLAN шлюза (Q3) получают одну и ту же запись ARP по IP-адресу хоста, но с различными MAC-адресами из локальной сети (порт коммутатора), что они будут делать?

Я не могу найти ответ на unix.stackexchange.com, поэтому я пришел сюда, чтобы задать этот вопрос.

Ответ или решение

Конечно, давайте подробно рассмотрим вопрос о механизме балансировки нагрузки трафика в режиме 6 для объединений в системе Ubuntu 18.04.6 LTS.

1. Как режим 6 достигает балансировки входящего трафика на подчиненных интерфейсах?

Режим 6 (RLB – Receive Load Balancing) в объединении, также известный как „balance-alb“, осуществляет балансировку входящего трафика через использование протокола ARP. В этом режиме система отправляет ARP-ответы на запросы, чтобы обновить информацию о MAC-адресах подчиненных интерфейсов, что позволяет маршрутизаторам и другим устройствам в сети привязывать IP-адреса к нескольким MAC-адресам. Это позволяет распараллеливать входящий трафик в зависимости от того, какие интерфейсы „активны“ и каких MAC-адресов они управляют.

Однако ваш вопрос поднимает важные нюансы. Для корректной работы балансировки на текущий момент необходимо убедиться, что подчинённые интерфейсы действительно обрабатывают ARP-ответы и правильно обновляют свои записи в ARP-кэше.

2. Почему это не работает с arp monitor в режиме 6?

Причиной, по которой arp monitor может не функционировать должным образом в режиме 6, может быть следующее:

  • Возможно, что ARP-ответы, отправляемые драйвером, не соответствуют ожидаемым arp monitor, что приводит к расхождению в обновлениях записей.
  • В некоторых случаях параметры, такие как bond_arp_interval и arp_validate, могут не применяться должным образом, как это видно из вашего вывода (значения не обновляются). Это может быть связано с ошибкой в драйвере или некорректной настройкой системы.

3. Может ли это работать вDistributed VXLAN Gateway с динамическим обучением ARP и подавлением широковещательных ARP?

Да, теоретически режим 6 может работать в рамках Distributed VXLAN Gateway. Динамическое обучение ARP предполагает, что устройства могут адаптироваться к изменениям в сети, в том числе и нагрузке. Поскольку ARP работает на уровне 2, VXLAN должен без проблем совместно с этим режимом. Однако стоит учитывать, что, если механизм ARP-ответов не будет корректно реализован на уровне устройства, могут возникнуть конфликты и потери пакетов.

4. Что произойдет, когда два Distributed VXLAN Gateway учат один и тот же ARP-запись с разными MAC-адресами от локальной сети?

В этом случае может возникнуть конфликт. Оба устройства будут иметь записи о MAC-адресах, ассоциированных с одним и тем же IP-адресом, что приведет к ситуации неустойчивого поведения в ARP-кэше. Обычно, в сетевых устройствах правила для разрешения конфликта могут варьироваться. Одно из устройств может быть предпочтительным в зависимости от конфигурации сети или политики управления ARP.

Заключение

Резюмируя, режим 6 позволяет достигать балансировки входящего трафика при правильно настроенном ARP. Тем не менее, если наблюдаются проблемы с обновлениями ARP-записей, необходимо провести диагностику конфигурации сетевого объединения и параметров драйвера. Обсуждаемые технологии, такие как Distributed VXLAN Gateway, также могут вызывать сложности при некорректных настройках сети. Важно проводить тесты в контролируемой среде, чтобы убедиться в корректности работы каждого из компонентов системы.

Оцените материал
Добавить комментарий

Капча загружается...