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 | Обновление устройств поочерёдно, без перерыва |
| Сервер в фабрику с EVPN | Ethernet Segment | Не нужен выделенный пиринговый линк |
| Нарастить полосу одного соединения | Более быстрый порт | Агрегация не ускоряет единичный поток |
| Много портов доступа под одним управлением | Стекирование | Один адрес и одна конфигурация на все устройства |
- Определите, что подключается. Для связи двух коммутаторов между собой достаточно обычной агрегации LACP, дополнительные технологии не нужны.
- Для подключения сервера двумя линками к двум устройствам нужны стекирование, MLAG или многодомное подключение EVPN — обычный LACP между тремя устройствами не работает.
- Оцените допустимость перерыва при обновлении. Если перерыв недопустим, выбирайте MLAG: устройства обновляются поочерёдно. Если допустим ночной перерыв, стекирование проще.
- Посчитайте число устройств. Стек собирает до 8–9 коммутаторов под одним управлением, MLAG обычно ограничен парой.
- Проверьте однородность. Стек и MLAG требуют устройств одной линейки и одного производителя, зачастую одной версии программного обеспечения.
- Для сетей ЦОД с фабрикой EVPN рассмотрите многодомное подключение через Ethernet Segment — оно снимает требование выделенного пирингового линка.
- Проверьте поддержку в лицензии и в конкретной модели: не всякий коммутатор доступа умеет MLAG, и это ограничение чаще программное, чем аппаратное.
Подобрать модели под выбранную схему можно в разделе коммутаторов; подберём конфигурацию под требования к отказоустойчивости.
Типичные ошибки
Ожидание суммарной скорости от одного потока. Группа из четырёх линков по 10 Гбит/с не даёт одному соединению 40 Гбит/с. Если требуется скорость одного потока, нужен более быстрый порт.
Статическая агрегация вместо LACP. Без согласования ошибка подключения не выявляется и способна создать петлю.
Контрольное соединение по тому же пути, что пиринговый линк. Одновременная потеря обоих приводит к расхождению состояний — ровно к тому, от чего защищались.
Обновление стека в рабочее время. Общая плоскость управления означает, что перерыв затронет все порты всех устройств стека.
Разные версии ПО в паре MLAG. Поведение пары при расхождении версий не определено, а часть производителей прямо запрещает такую эксплуатацию вне окна обновления.
Ответственные серверы подключены к одному коммутатору пары. Осиротевшие порты теряют связность при отказе своего устройства, и смысл пары пропадает.
Что учесть при закупке
Кабели и модули стекирования. Они специфичны для линейки, имеют фиксированные длины и в комплект поставки обычно не входят. Длину выбирают по реальному расстоянию между устройствами в стойке с запасом на укладку.
Партномера. Фиксируйте артикулы коммутаторов, кабелей стекирования, блоков питания и монтажных комплектов. Модели одной линейки различаются поддержкой стекирования, и различие видно только по артикулу.
Лицензии. У части производителей MLAG и расширенная маршрутизация активируются лицензией. Её наличие проверяют до закупки, особенно на вторичном рынке, где лицензия может быть привязана к прежнему владельцу.
Однородность партии. Для стека и для пары MLAG берите устройства одной модели и по возможности одной партии: расхождения версий встроенного ПО между партиями усложняют ввод.
Гарантия и подменный фонд. Пара MLAG переживает отказ одного устройства, но до замены работает без резерва, поэтому срок поставки замены важен не меньше срока гарантии. Общий порядок подготовки закупки разобран в материале о планировании закупки, а выбор самих устройств — в материале о том, как выбрать коммутатор.
Смотреть коммутаторы в наличии →