ITequipment.ruсетевое и серверное оборудование · МоскваПерейти в каталог →

LACP, стекирование и MLAG: чем отличаются и что выбрать

Коротко: Три технологии решают похожую на вид задачу — объединить несколько линков или устройств ради полосы и отказоустойчивости, — но работают на разных уровнях. LACP (стандарт IEEE 802.1AX, ранее 802.3ad) объединяет линки между двумя устройствами в одну логическую группу. Стекирование объединяет несколько коммутаторов в одно управляемое устройство с общей плоскостью управления. MLAG оставляет коммутаторам независимые плоскости управления, но позволяет им выглядеть единым устройством для подключённого сервера. Выбор определяется тем, что важнее: простота управления или независимость обновления устройств.

Что такое агрегация каналов и как работает LACP

Агрегация каналов объединяет несколько физических линков между двумя устройствами в одну логическую связь. У разных производителей она называется port-channel, EtherChannel, bundle или просто LAG (Link Aggregation Group).

LACP — протокол, который согласует такую группу автоматически. Устройства обмениваются служебными кадрами и проверяют, что линки действительно идут к одному соседу и параметры совпадают. Если один конец настроен ошибочно, группа не поднимется, и это защищает от появления петли.

Режимы работы два. В активном режиме устройство само инициирует согласование, в пассивном — только отвечает. Хотя бы одна сторона должна быть активной. Частота служебных кадров задаётся как быстрая (раз в секунду) или медленная (раз в 30 секунд); быстрая ускоряет обнаружение отказа.

Возможна и статическая агрегация без протокола, когда группа задаётся вручную. Она работает, но не проверяет корректность подключения, поэтому в промышленной сети предпочитают LACP.

Почему группа из четырёх линков не даёт четырёхкратной скорости одному потоку

Распространённое заблуждение: объединение четырёх портов по 10 Гбит/с даёт одному соединению 40 Гбит/с. Это не так.

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

Сделано это ради сохранения порядка кадров: при распределении по разным линкам пакеты приходили бы с перестановками, что ухудшает работу транспортных протоколов. Следствие: одно соединение ограничено скоростью одного члена группы, а выигрыш проявляется только на множестве параллельных соединений.

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

Что такое стекирование

Стекирование объединяет несколько физических коммутаторов в одно логическое устройство. У стека один адрес управления, одна конфигурация и одна таблица коммутации. Администратор видит набор портов так, как если бы это было одно шасси.

Устройства соединяются выделенными кабелями стекирования через специальные порты, реже — обычными портами в режиме стекирования. Топология — кольцо или цепочка; кольцо предпочтительнее, поскольку выдерживает обрыв одного кабеля.

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

Главное удобство — агрегация между стеком и сервером работает без дополнительных технологий: для сервера стек и есть одно устройство, поэтому обычная группа LACP может включать порты разных физических коммутаторов.

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

Что такое MLAG

MLAG (Multi-Chassis Link Aggregation) решает ту же задачу, что стекирование, но иначе. Два коммутатора сохраняют независимые плоскости управления, отдельные конфигурации и отдельные адреса управления, однако для подключённого сервера выглядят одним устройством. Сервер собирает обычную группу LACP, не зная, что линки идут в разные коммутаторы.

У производителей технология называется по-разному: vPC на платформе Cisco Nexus, MC-LAG, MLAG, а в терминологии EVPN — ESI-LAG. Детали реализации различаются, и объединять в пару устройства разных производителей нельзя.

Для работы нужны два служебных соединения. Пиринговый линк переносит трафик между коммутаторами пары, когда это требуется, и синхронизирует сведения об изученных адресах. Контрольное соединение проверяет, что сосед жив, и обычно идёт через сеть управления, отдельно от пирингового линка.

Порты, подключённые только к одному коммутатору пары, называют осиротевшими (orphan). При отказе соседа их трафик может пойти необычным путём, поэтому ответственные подключения заводят на оба устройства.

Сравнение трёх технологий

ПараметрLACPСтекированиеMLAG
Что объединяетЛинки между двумя устройствамиНесколько коммутаторов в одноПару коммутаторов для внешнего вида
Плоскость управленияНе затрагиваетОбщаяНезависимые
Адресов управленияПо одному на устройствоОдин на стекПо одному на устройство
Обновление ПОНе связаноЗатрагивает весь стекПо одному устройству поочерёдно
Число устройствДваОбычно до 8–9Обычно два
СовместимостьСтандарт, межвендорнаяТолько одна линейкаТолько один производитель
Сложность настройкиНизкаяНизкаяСредняя
Основной рискНеравномерный хешОбщий отказ плоскости управленияРасхождение состояний пары

Сводно: стекирование проще в управлении, MLAG надёжнее при обновлениях. В сетях ЦОД, где перерыв в обслуживании недопустим, преобладает MLAG; в сетях доступа, где важнее простота и число портов, — стекирование.

Расхождение состояний: главная опасность пары

Если между коммутаторами пары пропадает связь, но оба продолжают работать, каждый считает соседа отказавшим и берёт на себя его роль. Это состояние называют расхождением (split-brain), и оно приводит к дублированию трафика, нестабильности таблиц адресов и в тяжёлых случаях к петле.

Защита строится на разделении путей проверки. Контрольное соединение ведут отдельно от пирингового линка, чаще всего через сеть управления: одновременный отказ обоих маловероятен. Если контрольное соединение подтверждает, что сосед жив, а пиринговый линк пропал, один из коммутаторов переводит свои общие порты в неактивное состояние и уступает роль второму.

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

Многодомное подключение в EVPN

В фабриках с EVPN применяется другой подход к той же задаче. Серверный линк относят к логическому объекту Ethernet Segment с общим идентификатором на обоих коммутаторах, а сведения о подключении распространяются маршрутами BGP типа 1 и 4.

Преимущества заметны на масштабе: выделенный пиринговый линк не обязателен, поскольку синхронизация идёт через управляющий протокол, а число коммутаторов в группе не ограничено двумя. Ответственный за рассылку широковещания выбирается протоколом автоматически.

Платой становится общая сложность: требуется работающая фабрика с EVPN, разобранная в материале о VXLAN и EVPN. Для небольшой сети классический MLAG проще.

Как выбрать технологию под задачу

ЗадачаЧто применятьПочему
Связать два коммутатора между собойLACPТретьих устройств нет, хватает стандартной агрегации
Сервер двумя линками в два коммутатора доступаСтекированиеПроще в настройке, сервер видит одно устройство
Сервер двумя линками в пару leaf в ЦОДMLAGОбновление устройств поочерёдно, без перерыва
Сервер в фабрику с EVPNEthernet SegmentНе нужен выделенный пиринговый линк
Нарастить полосу одного соединенияБолее быстрый портАгрегация не ускоряет единичный поток
Много портов доступа под одним управлениемСтекированиеОдин адрес и одна конфигурация на все устройства
  1. Определите, что подключается. Для связи двух коммутаторов между собой достаточно обычной агрегации LACP, дополнительные технологии не нужны.
  2. Для подключения сервера двумя линками к двум устройствам нужны стекирование, MLAG или многодомное подключение EVPN — обычный LACP между тремя устройствами не работает.
  3. Оцените допустимость перерыва при обновлении. Если перерыв недопустим, выбирайте MLAG: устройства обновляются поочерёдно. Если допустим ночной перерыв, стекирование проще.
  4. Посчитайте число устройств. Стек собирает до 8–9 коммутаторов под одним управлением, MLAG обычно ограничен парой.
  5. Проверьте однородность. Стек и MLAG требуют устройств одной линейки и одного производителя, зачастую одной версии программного обеспечения.
  6. Для сетей ЦОД с фабрикой EVPN рассмотрите многодомное подключение через Ethernet Segment — оно снимает требование выделенного пирингового линка.
  7. Проверьте поддержку в лицензии и в конкретной модели: не всякий коммутатор доступа умеет MLAG, и это ограничение чаще программное, чем аппаратное.

Подобрать модели под выбранную схему можно в разделе коммутаторов; подберём конфигурацию под требования к отказоустойчивости.

Типичные ошибки

Ожидание суммарной скорости от одного потока. Группа из четырёх линков по 10 Гбит/с не даёт одному соединению 40 Гбит/с. Если требуется скорость одного потока, нужен более быстрый порт.

Статическая агрегация вместо LACP. Без согласования ошибка подключения не выявляется и способна создать петлю.

Контрольное соединение по тому же пути, что пиринговый линк. Одновременная потеря обоих приводит к расхождению состояний — ровно к тому, от чего защищались.

Обновление стека в рабочее время. Общая плоскость управления означает, что перерыв затронет все порты всех устройств стека.

Разные версии ПО в паре MLAG. Поведение пары при расхождении версий не определено, а часть производителей прямо запрещает такую эксплуатацию вне окна обновления.

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

Что учесть при закупке

Кабели и модули стекирования. Они специфичны для линейки, имеют фиксированные длины и в комплект поставки обычно не входят. Длину выбирают по реальному расстоянию между устройствами в стойке с запасом на укладку.

Партномера. Фиксируйте артикулы коммутаторов, кабелей стекирования, блоков питания и монтажных комплектов. Модели одной линейки различаются поддержкой стекирования, и различие видно только по артикулу.

Лицензии. У части производителей MLAG и расширенная маршрутизация активируются лицензией. Её наличие проверяют до закупки, особенно на вторичном рынке, где лицензия может быть привязана к прежнему владельцу.

Однородность партии. Для стека и для пары MLAG берите устройства одной модели и по возможности одной партии: расхождения версий встроенного ПО между партиями усложняют ввод.

Гарантия и подменный фонд. Пара MLAG переживает отказ одного устройства, но до замены работает без резерва, поэтому срок поставки замены важен не меньше срока гарантии. Общий порядок подготовки закупки разобран в материале о планировании закупки, а выбор самих устройств — в материале о том, как выбрать коммутатор.

Смотреть коммутаторы в наличии →

Вопросы по теме

Чем LACP отличается от статической агрегации?
LACP согласует группу служебными кадрами и проверяет, что все линки идут к одному соседу с совпадающими параметрами. Статическая агрегация задаётся вручную и таких проверок не делает, поэтому ошибка подключения может создать петлю.
Даёт ли агрегация четырёх линков по 10 Гбит/с скорость 40 Гбит/с?
Для одного соединения — нет. Трафик распределяется по линкам потоками на основе хеш-функции, и все кадры одного соединения идут по одному линку. Суммарная скорость достигается только на множестве параллельных соединений.
Можно ли собрать группу LACP между коммутаторами разных производителей?
Да, LACP описан стандартом IEEE 802.1AX и работает между устройствами разных производителей. А вот стекирование и MLAG — технологии конкретного производителя, и объединять в них разнородные устройства нельзя.
Чем стекирование отличается от MLAG?
В стеке у устройств общая плоскость управления, один адрес управления и одна конфигурация, поэтому обновление затрагивает весь стек. В MLAG плоскости управления независимы, устройства настраиваются отдельно и обновляются поочерёдно без перерыва в обслуживании.
Сколько коммутаторов можно объединить?
В стек обычно входит до 8–9 устройств в зависимости от линейки. MLAG, как правило, ограничен парой. Многодомное подключение в EVPN такого ограничения не имеет, поскольку опирается на маршрутную информацию, а не на выделенный линк.
Что такое расхождение состояний и чем оно опасно?
Это ситуация, когда связь между устройствами пары потеряна, но оба продолжают работать и каждый считает себя единственным. Результат — дублирование трафика, нестабильность таблиц адресов, в тяжёлых случаях петля. Защита строится на отдельном контрольном соединении.
Нужен ли пиринговый линк в MLAG?
В классической реализации да: он переносит трафик между устройствами пары и синхронизирует изученные адреса. При многодомном подключении в EVPN выделенный линк не обязателен, поскольку синхронизация идёт маршрутами BGP.
Что такое осиротевшие порты?
Порты, подключённые только к одному коммутатору пары MLAG. При отказе этого устройства они теряют связность или их трафик идёт необычным путём, поэтому ответственные подключения заводят на оба коммутатора пары.
Какой режим LACP выбрать на стороне сервера?
Достаточно, чтобы активный режим был хотя бы на одной стороне; обычно активным делают коммутатор. Частоту служебных кадров выбирают быструю, если важно быстрое обнаружение отказа линка, и медленную, если важнее снизить служебную нагрузку.