Если два сетевых адаптера связаны и подключены к разным коммутаторам, как маршрутизатор решает, к какому коммутатору направить пакеты?

10

Я пытаюсь понять, как работает архитектура в случае NIC Bonding. Сценарий таков: в одной системе есть 2 сетевых адаптера. Оба связаны для поддержки аварийного переключения и балансировки нагрузки. Следовательно, IP-адрес драйвера связи (виртуальный) - это IP-адрес, на который поступает трафик, когда целью является любой из сетевых адаптеров. Каждый сетевой адаптер подключен к другому коммутатору. Теперь, поскольку эти NIC связаны, коммутаторы будут иметь один и тот же IP-адрес, указывающий на другой MAC-адрес. Итак, как маршрутизатор решит, какой коммутатор будет пересылать входящий запрос, а какой предназначен для этого IP? Будут ли в таблице маршрутизации 2 записи для одного и того же IP-адреса? Будет ли маршрутизатор транслироваться на все коммутаторы? Будет ли более одного роутера?

user3007493
источник
Вам помог какой-нибудь ответ? Если это так, вы должны принять ответ, чтобы вопрос не появлялся вечно, ища ответ. Кроме того, вы можете предоставить и принять свой собственный ответ.
Рон Мопин

Ответы:

14

Это зависит от того, как интерфейсы связаны.

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

Близким вторым к этому методу является то, что оба NIC используются для отправки, но только один используется для получения.

Любая другая конфигурация требует взаимодействия коммутаторов или отправляющих сторон.

Обратите внимание, что если коммутатор и конечное устройство не согласовывают конфигурацию, вы можете получить плохое поведение. Например, коммутатор может не знать, какой порт на самом деле имеет какой MAC, и вместо этого затопит ВСЕМ трафик для этого MAC. Или вы можете получить нефункциональную ссылку.


Поскольку вы используете адаптивную балансировку нагрузки, я объясню этот режим.

Исходящие пакеты разделяются в зависимости от нагрузки.

Входящие пакеты немного сложнее. Когда запрос ARP получен, отправленный MAC-адрес основан на IP-адресе запрашивающей стороны. Например, если клиент A отправит запрос ARP для вашего IP, он получит MAC-адрес NIC 1. Позже, когда клиент B отправит запрос ARP, он получит MAC-адрес NIC 2. Таким образом, клиенты будут разделены между доступными NIC. ,

длинная шея
источник
Интерфейс связан в режиме адаптивной балансировки нагрузки, который поддерживает как исходящую, так и полученную балансировку нагрузки, а также поддержку при сбоях. Этот режим не требует специальной поддержки коммутатора и, как говорят, для достижения балансировки нагрузки путем согласования ARP. Теперь, если вы могли бы направить меня дальше ..
user3007493
Смотрите мои правки ....
longneck
да, я понимаю, как это работает на этом уровне. Но мне не понятно в случае связи между роутером и коммутаторами?
user3007493
1
Поскольку маршрутизатор имеет только один IP-адрес, он всегда будет направлен на один сетевой адаптер.
Longneck
2
Для устройств вне подсети, использующих ALB, это невозможно.
Longneck