Основы Windows NIC Teaming & Linux NIC Bonding

Updated on апр 1, 2020 by
6.0k

Предположим, что вы слышали о NIC teaming (NIC: сетевой адаптер) или NIC bonding от разных поставщиков. Они связали несколько физических NICs в виртуальный NIC, который внешне предоставил видимый MAC-адрес. Их конечная цель одна и та же - для более высокой производительности и лучшей избыточности. В этом руководстве будет рассказано о Windows NIC Teaming & Linux NIC Bonding, которые имеют балансировку нагрузки и отказоустойчивость.

Близко к NIC Teaming в ОС Windows

Что такое Windows NIC Teaming?

NIC teaming, также известное в мире Microsoft как Load Balancing/Failover (LBFO), представляет собой механизм, который позволяет объединить несколько карт физических сетевых адаптеров на одном физическом хосте/сервере и объединить их в команду в форме единый логический NIC. Сетевые адаптеры, подключенные к операционной системе Windows, отображаются в виде одного или нескольких виртуальных адаптеров (также называемых групповым NICs, tNICs или групповым интерфейсом), которые имеют один и тот же IP-адрес.

Сколько режимов Windows NIC Teaming?

На рынке представлено разные сетевые адаптеры, и Intel NIC является наиболее распространенным среди основных решений. Intel NIC можно разделить на несколько режимов teaming:

Adapter Fault Tolerance (AFT) обеспечивает автоматическое резервирование для сетевых подключений сервера. Если основной адаптер выходит из строя, резервный адаптер вступает во владение.

Требования и ограничения: подходит для любого коммутатора, все члены команды должны быть подключены к одной подсети. 2-8 сетевых адаптеров на группу.

Switch Fault Tolerance (SFT) обеспечивает аварийное переключение между двумя платами сетевого адаптера, когда каждый адаптер подключен к отдельному коммутатору.

Требования и ограничения: используйте с отдельными коммутаторами, все члены команды должны быть подключены к одной подсети. Вам необходимо включить протокол Spanning Tree Protocol (STP) при создании группы SFT. 2 сетевых адаптера на команду.

Adaptive Load Balancing (ALB) обеспечивает балансировку нагрузки и отказоустойчивость адаптера. Receive Load Balancing (RLB) может быть включена и отключена в группе ALB, которая включена по умолчанию.

Требования и ограничения: работает с любыми коммутаторами.

Virtual Machine Load Balancing (VMLB) обеспечивает балансировку нагрузки при передаче и приеме трафика между виртуальными машинами (виртуальными машинами), связанными через командные интерфейсы, и отказоустойчивость в случае сбоя порта коммутатора, кабеля или сетевой карты.

Требования и ограничения: работает с любыми коммутаторами.

Fast EtherChannel/Link Aggregation (FEC) обеспечивает отказоустойчивость адаптеров балансировки нагрузки (только для протоколов маршрутизации) и помогает увеличить пропускную способность передачи и приема.

Требования и ограничения: требуются коммутаторы агрегация ссылок с возможностями FEC. 2-8 сетевых адаптеров на группу.

Gigabit EtherChannel/Link Aggregation (GEC) это гигабитное расширение FEC/Агрегации линии связи/802.3ad.

Требования и ограничения: все члены команды должны работать на гигабитной скорости.

Static Link Aggregation (SLA) заменила двух предшественников FEC и GEC.

Требования и ограничения: все сетевые адаптеры в статическом режиме должны работать с одинаковой скоростью и подключаться к коммутаторам со статическим агрегированием каналов. Если скорость сетевой карты изменится, скорость команды будет зависеть от наименьшего общего знаменателя. 2-8 сетевых адаптеров на группу.

Dynamic Link Aggregation (IEEE 802.3ad) создает одну или несколько групп, используя динамическое агрегирование каналов с сетевыми адаптерами смешанной скорости, чтобы обеспечить отказоустойчивость и улучшить пропускную способность при передаче и приеме.

Требования и ограничения: требуется коммутатор, который полностью поддерживает стандарт IEEE 802.3ad.

Multi-vendor Teaming (MVT) позволяет сетевым адаптерам разных производителей работать в команде.

Близко к NIC Bonding в Linux OS

Что такое Linux NIC Bonding?

В Linux OS объединение сетевых карт относится к процессу объединения нескольких сетевых интерфейсов в логический интерфейс привязки. То есть объедините и подключите две или более сетевых карт как одну. Обратите внимание, что одним из предварительных условий для настройки соединения является наличие сетевого коммутатора, который поддерживает EtherChannel (это верно почти для всех коммутаторов).

Сколько режимов Linux NIC Bonding?

Поведение связанного NICs зависит от типа используемого режима соединения. В общем, шаблоны могут обеспечивать отказоустойчивость и/или услуги балансировки нагрузки. В следующей таблице приведено подробное описание этих семи режимов.

РежимПолитикаFault
Tolerance
Load
Balancing
Особенности и Описани
mode=0
(balance-rr)
Round-robinYYРежим по умолчанию.
пакеты передаются/принимаются последовательно
от первого доступного ведомого до последнего.
mode=1
(active-backup)
Active-backupYNТОЛЬКО один раб активен, а другой спит. Этот резервный NIC будет действовать в случае сбоя активного NIC. При условии, что имеется N*интерфейсов, коэффициент использования ресурсов будет 1/N.
mode=2
(balance-xor)
XOR (Exclusive OR)YYПередает на основе формулы XOR. Как только соединение между NIC и соответствующим устройством установлено, тот же NIC будет использоваться для передачи/приема для MAC-адреса назначения, чтобы гарантировать, что MAC-адрес остается тем же.
mode=3
(broadcast)
BroadcastYNВсе пакеты отправляются на все подчиненные интерфейсы за счет использования ресурсов.
Обычно используется для определенных целей, например, в финансовой отрасли, где требуется сверхнадежная сеть.
mode=4
(802.3ad)
IEEE 802.3ad Dynamic Link AggregationYYСоздайте группы агрегации с одинаковыми настройками скорости и дуплекса.
Требуется коммутатор, который поддерживает динамическое агрегирование каналов IEEE 802.3ad.
mode=5
(balance-tlb)
Adaptive Transmit Load Balancing (TLB)YYИсходящий трафик распределяется в соответствии с текущей нагрузкой на каждом подчиненном интерфейсе, и входящий трафик принимается текущим ведомым.
Не требует никакой специальной поддержки коммутатора.
mode=6
(balance-alb)
Adaptive Load Balancing (ALB)YYДобавьте функцию балансировки нагрузки на прием по сравнению с предыдущим режимом = 5. И балансировка нагрузки приема достигается посредством согласования ARP (Address Resolution Protocol).
Не требует никакой специальной поддержки коммутатора.
Внимание:
1. Один интерфейс bonding может указывать только один режим.
2. mode=0, mode=2, and mode=3 теоретически требует статической агрегации.
3. mode=4 нужно поддерживать 802.3ad.
4. mode=1, mode=5, and mode=6 не требуют никаких настроек на коммутаторе.
5. Выбор режима зависит от топологии сети, требований к поведению соединения и характеристик подчиненных устройств.
Вообще говоря, для топологий с одним коммутатором используются следующие режимы: mode=0 (balance-rr); mode=2 (balance-xor); mode=4 (802.3ad); mode=5 (balance-tlb); mode=6 (balance-alb). And the left two modes—mode=1 (active-backup) & mode=3 (broadcast) применяются для топологии с несколькими коммутаторами.

Чаво

Улучшит ли NIC teaming or bonding пропускную способность соединения между сервером и коммутатором?

Многие могут подумать, что агрегация ссылок увеличит пропускную способность. Например, каждый из трех NICs работает на скорости 1 Гбит/с, а NIC команда указывает скорость 3 Гбит/с. Означает ли это увеличение скорости в два раза? Нет. Как мы все знаем, обычно используется Ethernet 1 Гбит/с и 10 Гбит/с. Но нет определенного стандарта 3 Гбит/с. Итак, как мы реализуем 3 Гбит/с ссылки? Правда в том, что у нас на самом деле нет связи 3 Гбит/с. Вместо этого у нас есть три отдельные ссылки 1 Гбит/с.

Что еще более важно, рекомендуется учитывать агрегацию ссылок на основе отказоустойчивости сетевых каналов, а не общей доступной пропускной способности. Например, при передаче файлов с одного компьютера на другой по суммарной ссылке 2 Гбит/с общая максимальная скорость передачи может составлять только 1 Гбит/с. Однако при передаче двух файлов преимущества совокупной пропускной способности показаны. То есть агрегация ссылок увеличивает количество каналов, а не ограничения скорости.

Что принесет NIC teaming / NIC bonding пользователям?

Короче говоря, ответ - балансировка нагрузки и отказоустойчивость.

Load balancing—автоматическая балансировка нагрузки исходящего трафика на основе адресов назначения между доступными физическими NICs. Входящий трафик контролируется коммутатором, который направляет трафик на сервер, в то время как хост/сервер не имеет возможности контролировать физический трафик NIC.

Fault tolerance—если один из базовых физических NICs отключает или отсоединяет свой кабель, хост/сервер обнаружит сбой и автоматически переместит трафик на другой NIC в соединении, что исключает ситуацию полного разрыва сетевого подключения одним точка отказа.

Load balancing & fault tolerance.jpg

Рисунок 1: Load balancing & fault tolerance

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

Вас также может заинтересовать

знаний
знаний
See profile for Sheldon.
Sheldon
TCP/IP vs OSI модель: в чём разница?
май 12, 2022
161.3k
знаний
знаний
See profile for Sheldon.
Sheldon
LACP и PAGP: в чём разница?
фев 22, 2022
11.2k
знаний
See profile for Vincent.
Vincent
Обзор модулей WDM BIDI
май 13, 2021
7.5k
знаний
See profile for Sheldon.
Sheldon
RIP vs OSPF: в чём разница?
июн 7, 2022
22.0k
Подпишитесь, чтобы получать последние новости
Видео
Что клиенты говорят о FS?
01:02
июн 7, 2022
42
Что клиенты говорят о FS?