Исследование методов балансировки LACP на L2+ устройствах
Автор: Рамазанова Г.Р., Марченко Р.О.
Журнал: Теория и практика современной науки @modern-j
Рубрика: Основной раздел
Статья в выпуске: 12 (126), 2025 года.
Бесплатный доступ
В статье рассматриваются проблемы неравномерного распределения сетевого трафика в агрегированных каналах связи, построенных на базе протокола LACP (Link Aggregation Control Protocol). Проведен сравнительный анализ эффективности различных алгоритмов хеширования (src-mac, src-dst-ip, layer3+4) на оборудовании популярных вендоров: Cisco, Eltex и MikroTik.
Короткий адрес: https://sciup.org/140315187
IDR: 140315187 | УДК: 004.72.057.4
Research of LACP balancing methods on L2+ devices
The article discusses the problems of uneven distribution of network traffic in aggregated communication channels based on the LACP (Link Aggregation Control Protocol). A comparative analysis of the efficiency of various hashing algorithms (src- mac, src-dst-ip, layer3+4) on equipment from popular vendors: Cisco, Eltex, and MikroTik is carried out.
Текст научной статьи Исследование методов балансировки LACP на L2+ устройствах
Теоретическая часть
Агрегация каналов (LACP) часто работает неэффективно из-за неравномерного распределения трафика (один линк перегружен, другие пусты).
Объекты исследования
Сравнение алгоритмов балансировки на Cisco, Eltex и MikroTik.
L2-хеширование (MAC): Не работает через шлюзы (MAC не меняется).
L3/L4-хеширование (IP + порты): Обеспечивает лучшую балансировку.
Механика: LACP использует статический хеш (XOR полей пакета), а не Round Robin, чтобы сохранить порядок пакетов.
Тип исследования: Прикладное, экспериментальное исследование.
ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ
Для проверки гипотез был собран стенд, состоящий из двух генераторов трафика (Сервер и Клиент на базе Linux) и двух коммутирующих устройств, соединенных агрегированным каналом из двух физических линков (2x1Gbps).
Логическая схема:
Client 1 fclij
192.168.1.10/24
BondO
LACP Bond (2 Links)
Client 2 (Atk)
192.168.1.20/24
Рисунок 1 - Топология сети для эксперимента
Где DUT (Device Under Test) — тестируемое оборудование. В роли DUT поочередно выступали пары устройств Cisco Catalyst 2960, Eltex MES2324 и маршрутизаторы MikroTik.
Настройка оборудования
Таблица 1: Таблица настройки оборудования.
|
Оборудование |
Настройка |
Результаты |
|
Switch(config)# interface range GigabitEthernet 0/1 - 2 |
Выбирает диапазон интерфейсов (порты 1 и 2) для одновременной настройки |
|
|
Cisco Catalyst 2960 |
Switch(config-if-range)# channel- group 1 mode active |
Объединяет порты в логический интерфейс |
|
Switch(config-if-range)# exit |
Выход из режима |
|
|
Switch(config)# port channel load- balance ? |
Показывает список доступных алгоритмов балансировки трафика. |
|
|
Eltex MES |
Switch(config)# portchannel load- balance src-dst-ip |
Устанавливает балансировку на основе IP-адресов источника и назначения |
|
Eltex MES |
console(config)# interface range gigabitethernet 1/0/1-2 |
Выбирает порты 1 и 2 на коммутаторе для настройки. |
|
MikroTik |
console(config-if-range)# channel- group 1 mode auto |
Добавляет порты в группу агрегации 1 и включает LACP в режиме Active |
|
Cisco Catalyst 2960 |
Switch(config)# interface range GigabitEthernet 0/1 - 2 |
Выбирает диапазон интерфейсов (порты 1 и 2) для одновременной настройки |
|
Switch(config-if-range)# channel- group 1 mode active |
Объединяет порты в логический интерфейс |
|
|
Switch(config-if-range)# exit |
Выход из режима |
|
|
Eltex MES |
Switch(config)# port channel load- balance ? |
Показывает список доступных алгоритмов балансировки трафика. |
|
Switch(config)# portchannel load- balance src-dst-ip |
Устанавливает балансировку на основе IP-адресов источника и назначения |
|
Eltex MES |
console(config)# interface range gigabitethernet 1/0/1-2 |
Выбирает порты 1 и 2 на коммутаторе для настройки. |
|
MikroTik |
console(config-if-range)# channel- group 1 mode auto |
Добавляет порты в группу агрегации 1 и включает LACP в режиме Active |
1. Cisco Catalyst 2960
Switch(config)# port-channel load-balance ? – отображает доступные варианты методов балансировки нагрузки для EtherChannel, такие как dst-ip (по IP назначения), dst mac (по MAC назначения), src-dst-ip (XOR IP источника и назначения) и другие.
Представлено ниже на рисунке 2.
dst- 1 p dst mac src-dst-ip src dst пас src-i p sru mac
|
Dst |
IP Addr |
|
Dst |
Mac Addг |
|
Src |
XOR Dst IP Addr |
|
Src |
XOR Dst Mac Addr |
|
Src |
IP Addr |
|
Src |
Mac Addr |
Рисунок 2 – вывод доступных вариантов методов балансировки
2. Eltex MES (MES2324/1428)
Для проверки текущего режима:
console# show ports-channel load-balance – отображает текущий настроенный метод балансировки нагрузки для порт-каналов (вероятно, опечатка в "ports-channel", имеется в виду "port-channel"). Представлено ниже на рисунке 3.
EtherChannel Load-Balancing
Configuration: src-dst-ip
EtherChanne1 Load-Balane i ng
Addresses Used Per-Protocol:
Mon-IP: Source XOR Destination MAC address IPut: Source XOR Destination IP address IPv6: Source XOR Destination IP address
Рисунок 3 – вывод текущих настроек балансировки
Запуск "Множество сессий"
iperf3 -с 192.168.1.10 -t 30 -P 10
Рисунок 6 – запуска десяти сессий
Таблица 4: Результаты тестирования на десяти-портовых соединениях.
|
Оборудование |
Алгоритм |
Порт 1 |
Порт 2 |
Итого |
Вывод |
|
Cisco 2960 |
src-mac |
991 |
0 |
991 |
Все 10 потоков = один хеш, следовательно распределения между портами не происходит. |
|
Cisco 2960 |
src-dst-ip |
989 |
0 |
989 |
src-dst-ip НЕ учитывает TCP порты. Весь трафик проходит через один порт. |
|
Eltex MES2324 |
src-mac |
987 |
0 |
987 |
MAC одинаковые следовательно ысе проходит через один порт. |
|
Eltex MES2324 |
src-dst-ip |
984 |
0 |
984 |
IP = один хеш , все через один порт. |
|
MikroTik |
layer-2 |
990 |
0 |
990 |
Layer-2 не распределяет при одной паре MAC. |
|
MikroTik |
layer-3-and-4 |
523 |
477 |
1000 |
Layer-3-and-4 учитывает TCP порты. Распределение происходит. |
РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ
1. Анализ работы Cisco Catalyst
При настройке по умолчанию (src-mac) вся нагрузка проходила через интерфейс Gi0/1, интерфейс Gi0/2 простаивал. После применения команды port-channel load-balance src-dst-ip, трафик выровнялся с погрешностью до 5-15%.
2. Анализ работы Eltex MES.
Коммутатор Eltex показал схожее с Cisco поведение. Однако было замечено, что алгоритм src-dst-ip-port позволяет добиться почти идеального распределения трафика.
3. Анализ работы MikroTik
MikroTik продемонстрировал наибольшую гибкость программной настройки. В режиме transmit-hash-policy=layer-2 наблюдалось поведение, аналогичное Cisco. В режиме layer-3-and-4 устройство успешно балансировало даже трафик между двумя хостами, используя разные source/destination порты TCP для вычисления хеша. Это позволило получить стабильную фильтрацию трафика между портами, что невозможно на чистом L2-хешировании.
ЗАКЛЮЧЕНИЕ
Проведенное исследование позволило детально изучить работу механизмов балансировки нагрузки в агрегированных каналах LACP.