Link aggregation control protocol что это

Обновлено: 05.07.2024

Link Aggregation Control Protocol (LACP)

Агрегирование каналов (агрегация каналов, англ. link aggregation) — технология, которая позволяет объединить несколько физических каналов в один логический. Такое объединение позволяет увеличивать пропускную способность и надежность канала. Агрегирование каналов может быть настроено между двумя коммутаторами, коммутатором и маршрутизатором, между коммутатором и хостом.

Для агрегирования каналов существуют другие названия:

  • Port Trunking (в Cisco trunk'ом называется тегированный порт, поэтому с этим термином путаницы больше всего),
  • EtherChannel (в Cisco так называется агрегирование каналов, это может относиться как к настройке статических агрегированных каналов, так и с использованием протоколов LACP или PAgP)
  • И еще множество других: Ethernet trunk, NIC Teaming, Port Channel, Port Teaming, LAG (link aggregation), Link Bundling, Multi-Link Trunking (MLT), DMLT, SMLT, DSMLT, R-SMLT, NIC bonding, Network Fault Tolerance (NFT), Fast EtherChannel.

Общая информация об агрегировании каналов

Агрегирование каналов позволяет решить две задачи:

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

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

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-0

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-0

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

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-01

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-01

Без использования STP такое избыточное соединение создаст петлю в сети.

Технологии по агрегированию каналов позволяют использовать все интерфейсы одновременно. При этом устройства контролируют распространение широковещательных фреймов (а также multicast и unknown unicast), чтобы они не зацикливались. Для этого коммутатор, при получении широковещательного фрейма через обычный интерфейс, отправляет его в агрегированный канал только через один интерфейс. А при получении широковещательного фрейма из агрегированного канала, не отправляет его назад.

Хотя агрегирование каналов позволяет увеличить пропускную способность канала, не стоит рассчитывать на идеальную балансировку нагрузки между интерфейсами в агрегированном канале. Технологии по балансировке нагрузки в агрегированных каналах, как правило, ориентированы на балансировку по таким критериям: MAC-адресам, IP-адресам, портам отправителя или получателя (по одному критерию или их комбинации).

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

Некоторые проприетарные разработки позволяют агрегировать каналы, которые соединяют разные устройства. Таким образом резервируется не только канал, но и само устройство. Такие технологии в общем, как правило, называются распределенным агрегированием каналов (у многих производителей есть своё название для этой технологии).

На этой странице рассматривается в основном агрегирование параллельных каналов. Для распределенного агрегирования выделен отдельный раздел в котором указаны соответствующие технологии некоторых производителей. Распределенное агрегирование в коммутаторах HP (ProCurve) рассмотрено более подробно.

Настройка статической агрегации Etherchannel

Предположим есть две Cisco 2960 и компы, каждая Cisco на своем этаже, одного гигабитного порта не хватает, нужно сделать агрегирование. Схема представлена ниже.

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-04

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-04

Настроим наше оборудование на Etherchannel. Подключаемся к первой Cisco через ssh или терминал.

enable

config t

Я буду использовать гигабитные интерфейсы gi1/1 и gi1/2. Выберем сразу диапазон интерфейсов.

int range gigabitEthernet 1/1-2

channel-group 1 mode on (только Etherchanne)
end
wr

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-05

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-05

На второй Cisco делаем тоже самое, один в один.

Комбинации режимов при которых поднимется EtherChannel:

Интерфейсы в состоянии suspended

Если настройки физического интерфейса не совпадают с настройками агрегированного интерфейса, он переводится в состояние suspended. Это будет видно в нескольких командах.

Просмотр состояния интерфейсов:

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-06

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-06

Просмотр информации о EtherChannel

sh etherchannel summary

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-07

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-07

sh etherchannel port-channel

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-08

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-08

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

Основы компьютерных сетей. Тема №8. Протокол агрегирования каналов: Etherchannel



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

P.S. Возможно, со временем список дополнится.

Итак, начнем с простого.

Etherchannel — это технология, позволяющая объединять (агрегировать) несколько физических проводов (каналов, портов) в единый логический интерфейс. Как правило, это используется для повышения отказоустойчивости и увеличения пропускной способности канала. Обычно, для соединения критически важных узлов (коммутатор-коммутатор, коммутатор-сервер и др.). Само слово Etherchannel введено компанией Cisco и все, что связано с агрегированием, она включает в него. Другие вендоры агрегирование называют по-разному. Huawei называет это Link Aggregation, D-Link называет LAG и так далее. Но суть от этого не меняется.


Разберем работу агрегирования подробнее.

Есть 2 коммутатора, соединенных между собой одним проводом. К обоим коммутаторам подключаются сети отделов, групп (не важен размер). Главное, что за коммутаторами сидят некоторое количество пользователей. Эти пользователи активно работают и обмениваются данными между собой. Соответственно им ни в коем случае нельзя оставаться без связи. Встает 2 вопроса:

  1. Если линк между коммутаторами откажет, будет потеряна связь. Работа встанет, а администратор в страхе побежит разбираться в чем дело.
  2. Второй вопрос не настолько критичен, но с заделом на будущее. Компания растет, появляются новые сотрудники, трафика становится больше, а каналы все те же. Нужно как-то увеличивать пропускную способность.
  1. 1) LACP или Link Aggregation Control Protocol — это открытый стандарт IEEE.
  2. 2) PAgP или Port Aggregation Protocol — проприетарный протокол Cisco.
  3. Ручное агрегирование.
  • Одинаковый Duplex
  • Одинаковая скорость интерфейсов
  • Одинаковые разрешенные VLAN-ы и Native VLAN
  • Одинаковый режим интерфейсов (access, trunk)

Теперь об их отличии. Первые 2 позволяют динамически согласоваться и в случае отказа какого-то из линков уведомить об этом.

Режим Active Passive
Active Да Да
Passive Да Нет


Теперь перейдем к лабораторке и закрепим в практической части.

Есть 2 коммутатора, соединенные 2 проводами. Как видим, один линк активный (горит зеленым), а второй резервный (горит оранжевым) из-за срабатывания протокола STP. Это хорошо, протокол отрабатывает. Но мы хотим оба линка объединить воедино. Тогда протокол STP будет считать, что это один провод и перестанет блокировать.

Заходим на коммутаторы и агрегируем порты.


На этом настройка на первом коммутаторе закончена. Для достоверности можно набрать команду show etherchannel port-channel:


Видим, что есть такой port-channel и в нем присутствуют оба интерфейса.

Переходим ко второму устройству.

После этого канал согласуется. Посмотреть на это можно командой show etherchannel summary:


Здесь видно группу port-channel, используемый протокол, интерфейсы и их состояние. В данном случае параметр SU говорит о том, что выполнено агрегирование второго уровня и то, что этот интерфейс используется. А параметр P указывает, что интерфейсы в состоянии port-channel.


Все линки зеленые и активные. STP на них не срабатывает.

Сразу предупрежу, что в packet tracer есть глюк. Суть в том, что интерфейсы после настройки могут уйти в stand-alone (параметр I) и никак не захотят из него выходить. На момент написания статьи у меня случился этот глюк и решилось пересозданием лабы.

Теперь немного углубимся в работу LACP. Включаем режим симуляции и выбираем только фильтр LACP, чтобы остальные не отвлекали.




И вот эти адреса они будут записывать в поля LACP.


С ходу это может не сразу лезет в голову. С картинками думаю полегче ляжет. В CPT немного кривовато показан формат LACP, поэтому приведу скрин реального дампа.



И все действия, производимые на данном интерфейсе автоматически будут приводить к изменениям на физических портах. Вот пример:


Стоило перевести port-channel в режим trunk и он автоматически потянул за собой физические интерфейсы. Набираем show running-config:


И действительно это так.

Теперь расскажу про такую технологию, которая заслуживает отдельного внимания, как Load-Balance или на русском «балансировка». При создании агрегированного канала надо не забывать, что внутри него физические интерфейсы и пропускают трафик именно они. Бывают случаи, что вроде канал агрегирован, все работает, но наблюдается ситуация, что весь трафик идет по одному интерфейсу, а остальные простаивают. Как это происходит объясню на обычном примере. Посмотрим, как работает Load-Balance в текущей лабораторной работе.



На данный момент он выполняет балансировку исходя из значения MAC-адреса. По умолчанию балансировка так и выполняется. То есть 1-ый MAC-адрес она пропустит через первый линк, 2-ой MAC-адрес через второй линк, 3-ий MAC-адрес снова через первый линк и так будет чередоваться. Но такой подход не всегда верен. Объясняю почему.

Вот есть некая условная сеть. К SW1 подключены 2 компьютера. Далее этот коммутатор соединяется с SW2 агрегированным каналом. А к SW2 поключается маршрутизатор. По умолчанию Load-Balance настроен на src-mac. И вот что будет происходить. Кадры с MAC-адресом 111 будут передаваться по первому линку, а с MAC-адресом 222 по второму линку. Здесь верно. Переходим к SW2. К нему подключен всего один маршрутизатор с MAC-адресом 333. И все кадры от маршрутизатора будут отправляться на SW1 по первому линку. Соответственно второй будет всегда простаивать. Поэтому логичнее здесь настроить балансировку не по Source MAC-адресу, а по Destination MAC-адресу. Тогда, к примеру, все, что отправляется 1-ому компьютеру, будет отправляться по первому линку, а второму по второму линку.

Это очень простой пример, но он отражает суть этой технологии. Меняется он следующим образом:


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

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

Тем, кому этого показалось мало, могут добить LACP здесь, здесь и здесь. И вдобавок ссылка на данную лабораторку.

Теперь про коллегу PAgP. Как говорилось выше — это чисто «цисковский» протокол. Его применяют реже (так как сетей, построенных исключительно на оборудовании Cisco меньше, чем гетерогенных). Работает и настраивается он аналогично LACP, но Cisco требует его знать и переходим к рассмотрению.

У PAgP тоже 2 режима:

Режим Desirable Auto
Desirable Да Да
Auto Да Нет


И переходим к SW1:


Теперь переходим к настройке SW2 (не забываем, что на SW1 интерфейсы выключены и следует после к ним вернуться):


Возвращаемся к SW1 и включаем интерфейсы:


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


Последнее, что осталось — это ручное агрегирование. У него с агрегированием все просто:

При остальных настройках канал не заработает.

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


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


И аналогично на SW2:


Настройка закончена. Проверим командой show etherchannel summary:


Порты с нужными параметрами, а в поле протокол "-". То есть дополнительно ничего не используется.

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

Под завершение статьи приведу небольшой Best Practice по правильному агрегированию. Во всех лабораторках для агрегирования использовались 2 кабеля. На самом деле можно использовать и 3, и 4 (вплоть до 8 интерфейсов в один port-channel). Но лучше использовать 2, 4 или 8 интерфейсов. А все из-за алгоритма хеширования, который придумала Cisco. Алгоритм высчитывает значения хэша от 0 до 7.

4 2 1 Десятичное значение
0 0 0 0
0 0 1 1
0 1 1 3
1 0 0 4
0 0 1 1
1 0 1 5
1 1 0 6
1 1 1 7

Данная таблица отображает 8 значений в двоичном и десятичном виде.

На основании этой величины выбирается порт Etherchannel и присваивается значение. После этого порт получает некую «маску», которая отображает величины, за которые тот порт отвечает. Вот пример. У нас есть 2 физических интерфейса, которые мы объединяем в один port-channel.

Значения раскидаются следующим образом:

1) 0x0 — fa0/1
2) 0x1 — fa0/2
3) 0x2 — fa0/1
4) 0x3 — fa0/2
5) 0x4 — fa0/1
6) 0x5 — fa0/2
7) 0x6 — fa0/1
8) 0x7 — fa0/2

В результате получим, что половину значений или паттернов возьмет на себя fa0/1, а вторую половину fa0/2. То есть получаем 4:4. В таком случае балансировка будет работать правильно (50/50).

Теперь двинемся дальше и объясню, почему не рекомендуется использовать, к примеру 3 интерфейса. Составляем аналогичное сопоставление:

1) 0x0 — fa0/1
2) 0x1 — fa0/2
3) 0x2 — fa0/3
4) 0x3 — fa0/1
5) 0x4 — fa0/2
6) 0x5 — fa0/3
7) 0x6 — fa0/1
8) 0x7 — fa0/2

Здесь получаем, что fa0/1 возьмет на себя 3 паттерна, fa0/2 тоже 3 паттерна, а fa0/3 2 паттерна. Соответственно нагрузка будет распределена не равномерно. Получим 3:3:2. То есть первые два линка будут всегда загруженнее, чем третий.

Все остальные варианты я считать не буду, так как статья растянется на еще больше символов. Можно только прикинуть, что если у нас 8 значений и 8 линков, то каждый линк возьмет себе по паттерну и получится 1:1:1:1:1:1:1:1. Это говорит о том, что все интерфейсы будут загружены одинаково. Еще есть некоторое утверждение, что агрегировать нужно только четное количество проводов, чтобы добиться правильной балансировки. Но это не совсем верно. Например, если объединить 6 проводов, то балансировка будет не равномерной. Попробуйте посчитать сами. Надеюсь алгоритм понятен.

У Cisco на сайте по этому делу есть хорошая статья с табличкой. Можно почитать по данной ссылке. Если все равно останутся вопросы, пишите!

Раз уж так углубились, то расскажу про по увеличение пропускной способности. Я специально затронул эту тему именно в конце. Бывают случаи, что срочно нужно увеличить пропускную способность канала. Денег на оборудование нет, но зато есть свободные порты, которые можно собрать и пустить в один «толстый» поток. Во многих источниках (книги, форумы, сайты) утверждается, что соединяя восемь 100-мегабитных портов, мы получим поток в 800 Мбит/с или восемь гигабитных портов дадут 8 Гбит/с. Вот кусок текста из «цисковской» статьи.


Теоретически это возможно, но на практике почти недостижимо. Я по крайней мере не встречал. Если есть люди, которые смогли этого добиться, я буду рад услышать. То есть, чтобы это получить, нужно учесть кучу формальностей. И вот те, которые я описывал, только часть. Это не значит, что увеличения вообще не будет. Оно, конечно будет, но не настолько максимально.

На этом статья подошла к концу. В рамках данной статьи мы научились агрегировать каналы вручную, а также, при помощи протоколов LACP и PAgP. Узнали, что такое балансировка, как ею можно управлять и как правильно собирать Etherchannel для получения максимального распределения нагрузки. До встречи в следующей статье!

Основы компьютерных сетей. Тема №8. Протокол агрегирования каналов: Etherchannel



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

P.S. Возможно, со временем список дополнится.

Итак, начнем с простого.

Etherchannel — это технология, позволяющая объединять (агрегировать) несколько физических проводов (каналов, портов) в единый логический интерфейс. Как правило, это используется для повышения отказоустойчивости и увеличения пропускной способности канала. Обычно, для соединения критически важных узлов (коммутатор-коммутатор, коммутатор-сервер и др.). Само слово Etherchannel введено компанией Cisco и все, что связано с агрегированием, она включает в него. Другие вендоры агрегирование называют по-разному. Huawei называет это Link Aggregation, D-Link называет LAG и так далее. Но суть от этого не меняется.


Разберем работу агрегирования подробнее.

Есть 2 коммутатора, соединенных между собой одним проводом. К обоим коммутаторам подключаются сети отделов, групп (не важен размер). Главное, что за коммутаторами сидят некоторое количество пользователей. Эти пользователи активно работают и обмениваются данными между собой. Соответственно им ни в коем случае нельзя оставаться без связи. Встает 2 вопроса:

  1. Если линк между коммутаторами откажет, будет потеряна связь. Работа встанет, а администратор в страхе побежит разбираться в чем дело.
  2. Второй вопрос не настолько критичен, но с заделом на будущее. Компания растет, появляются новые сотрудники, трафика становится больше, а каналы все те же. Нужно как-то увеличивать пропускную способность.
  1. 1) LACP или Link Aggregation Control Protocol — это открытый стандарт IEEE.
  2. 2) PAgP или Port Aggregation Protocol — проприетарный протокол Cisco.
  3. Ручное агрегирование.
  • Одинаковый Duplex
  • Одинаковая скорость интерфейсов
  • Одинаковые разрешенные VLAN-ы и Native VLAN
  • Одинаковый режим интерфейсов (access, trunk)

Теперь об их отличии. Первые 2 позволяют динамически согласоваться и в случае отказа какого-то из линков уведомить об этом.

Режим Active Passive
Active Да Да
Passive Да Нет


Теперь перейдем к лабораторке и закрепим в практической части.

Есть 2 коммутатора, соединенные 2 проводами. Как видим, один линк активный (горит зеленым), а второй резервный (горит оранжевым) из-за срабатывания протокола STP. Это хорошо, протокол отрабатывает. Но мы хотим оба линка объединить воедино. Тогда протокол STP будет считать, что это один провод и перестанет блокировать.

Заходим на коммутаторы и агрегируем порты.


На этом настройка на первом коммутаторе закончена. Для достоверности можно набрать команду show etherchannel port-channel:


Видим, что есть такой port-channel и в нем присутствуют оба интерфейса.

Переходим ко второму устройству.

После этого канал согласуется. Посмотреть на это можно командой show etherchannel summary:


Здесь видно группу port-channel, используемый протокол, интерфейсы и их состояние. В данном случае параметр SU говорит о том, что выполнено агрегирование второго уровня и то, что этот интерфейс используется. А параметр P указывает, что интерфейсы в состоянии port-channel.


Все линки зеленые и активные. STP на них не срабатывает.

Сразу предупрежу, что в packet tracer есть глюк. Суть в том, что интерфейсы после настройки могут уйти в stand-alone (параметр I) и никак не захотят из него выходить. На момент написания статьи у меня случился этот глюк и решилось пересозданием лабы.

Теперь немного углубимся в работу LACP. Включаем режим симуляции и выбираем только фильтр LACP, чтобы остальные не отвлекали.




И вот эти адреса они будут записывать в поля LACP.


С ходу это может не сразу лезет в голову. С картинками думаю полегче ляжет. В CPT немного кривовато показан формат LACP, поэтому приведу скрин реального дампа.



И все действия, производимые на данном интерфейсе автоматически будут приводить к изменениям на физических портах. Вот пример:


Стоило перевести port-channel в режим trunk и он автоматически потянул за собой физические интерфейсы. Набираем show running-config:


И действительно это так.

Теперь расскажу про такую технологию, которая заслуживает отдельного внимания, как Load-Balance или на русском «балансировка». При создании агрегированного канала надо не забывать, что внутри него физические интерфейсы и пропускают трафик именно они. Бывают случаи, что вроде канал агрегирован, все работает, но наблюдается ситуация, что весь трафик идет по одному интерфейсу, а остальные простаивают. Как это происходит объясню на обычном примере. Посмотрим, как работает Load-Balance в текущей лабораторной работе.



На данный момент он выполняет балансировку исходя из значения MAC-адреса. По умолчанию балансировка так и выполняется. То есть 1-ый MAC-адрес она пропустит через первый линк, 2-ой MAC-адрес через второй линк, 3-ий MAC-адрес снова через первый линк и так будет чередоваться. Но такой подход не всегда верен. Объясняю почему.

Вот есть некая условная сеть. К SW1 подключены 2 компьютера. Далее этот коммутатор соединяется с SW2 агрегированным каналом. А к SW2 поключается маршрутизатор. По умолчанию Load-Balance настроен на src-mac. И вот что будет происходить. Кадры с MAC-адресом 111 будут передаваться по первому линку, а с MAC-адресом 222 по второму линку. Здесь верно. Переходим к SW2. К нему подключен всего один маршрутизатор с MAC-адресом 333. И все кадры от маршрутизатора будут отправляться на SW1 по первому линку. Соответственно второй будет всегда простаивать. Поэтому логичнее здесь настроить балансировку не по Source MAC-адресу, а по Destination MAC-адресу. Тогда, к примеру, все, что отправляется 1-ому компьютеру, будет отправляться по первому линку, а второму по второму линку.

Это очень простой пример, но он отражает суть этой технологии. Меняется он следующим образом:


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

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

Тем, кому этого показалось мало, могут добить LACP здесь, здесь и здесь. И вдобавок ссылка на данную лабораторку.

Теперь про коллегу PAgP. Как говорилось выше — это чисто «цисковский» протокол. Его применяют реже (так как сетей, построенных исключительно на оборудовании Cisco меньше, чем гетерогенных). Работает и настраивается он аналогично LACP, но Cisco требует его знать и переходим к рассмотрению.

У PAgP тоже 2 режима:

Режим Desirable Auto
Desirable Да Да
Auto Да Нет


И переходим к SW1:


Теперь переходим к настройке SW2 (не забываем, что на SW1 интерфейсы выключены и следует после к ним вернуться):


Возвращаемся к SW1 и включаем интерфейсы:


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


Последнее, что осталось — это ручное агрегирование. У него с агрегированием все просто:

При остальных настройках канал не заработает.

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


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


И аналогично на SW2:


Настройка закончена. Проверим командой show etherchannel summary:


Порты с нужными параметрами, а в поле протокол "-". То есть дополнительно ничего не используется.

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

Под завершение статьи приведу небольшой Best Practice по правильному агрегированию. Во всех лабораторках для агрегирования использовались 2 кабеля. На самом деле можно использовать и 3, и 4 (вплоть до 8 интерфейсов в один port-channel). Но лучше использовать 2, 4 или 8 интерфейсов. А все из-за алгоритма хеширования, который придумала Cisco. Алгоритм высчитывает значения хэша от 0 до 7.

4 2 1 Десятичное значение
0 0 0 0
0 0 1 1
0 1 1 3
1 0 0 4
0 0 1 1
1 0 1 5
1 1 0 6
1 1 1 7

Данная таблица отображает 8 значений в двоичном и десятичном виде.

На основании этой величины выбирается порт Etherchannel и присваивается значение. После этого порт получает некую «маску», которая отображает величины, за которые тот порт отвечает. Вот пример. У нас есть 2 физических интерфейса, которые мы объединяем в один port-channel.

Значения раскидаются следующим образом:

1) 0x0 — fa0/1
2) 0x1 — fa0/2
3) 0x2 — fa0/1
4) 0x3 — fa0/2
5) 0x4 — fa0/1
6) 0x5 — fa0/2
7) 0x6 — fa0/1
8) 0x7 — fa0/2

В результате получим, что половину значений или паттернов возьмет на себя fa0/1, а вторую половину fa0/2. То есть получаем 4:4. В таком случае балансировка будет работать правильно (50/50).

Теперь двинемся дальше и объясню, почему не рекомендуется использовать, к примеру 3 интерфейса. Составляем аналогичное сопоставление:

1) 0x0 — fa0/1
2) 0x1 — fa0/2
3) 0x2 — fa0/3
4) 0x3 — fa0/1
5) 0x4 — fa0/2
6) 0x5 — fa0/3
7) 0x6 — fa0/1
8) 0x7 — fa0/2

Здесь получаем, что fa0/1 возьмет на себя 3 паттерна, fa0/2 тоже 3 паттерна, а fa0/3 2 паттерна. Соответственно нагрузка будет распределена не равномерно. Получим 3:3:2. То есть первые два линка будут всегда загруженнее, чем третий.

Все остальные варианты я считать не буду, так как статья растянется на еще больше символов. Можно только прикинуть, что если у нас 8 значений и 8 линков, то каждый линк возьмет себе по паттерну и получится 1:1:1:1:1:1:1:1. Это говорит о том, что все интерфейсы будут загружены одинаково. Еще есть некоторое утверждение, что агрегировать нужно только четное количество проводов, чтобы добиться правильной балансировки. Но это не совсем верно. Например, если объединить 6 проводов, то балансировка будет не равномерной. Попробуйте посчитать сами. Надеюсь алгоритм понятен.

У Cisco на сайте по этому делу есть хорошая статья с табличкой. Можно почитать по данной ссылке. Если все равно останутся вопросы, пишите!

Раз уж так углубились, то расскажу про по увеличение пропускной способности. Я специально затронул эту тему именно в конце. Бывают случаи, что срочно нужно увеличить пропускную способность канала. Денег на оборудование нет, но зато есть свободные порты, которые можно собрать и пустить в один «толстый» поток. Во многих источниках (книги, форумы, сайты) утверждается, что соединяя восемь 100-мегабитных портов, мы получим поток в 800 Мбит/с или восемь гигабитных портов дадут 8 Гбит/с. Вот кусок текста из «цисковской» статьи.


Теоретически это возможно, но на практике почти недостижимо. Я по крайней мере не встречал. Если есть люди, которые смогли этого добиться, я буду рад услышать. То есть, чтобы это получить, нужно учесть кучу формальностей. И вот те, которые я описывал, только часть. Это не значит, что увеличения вообще не будет. Оно, конечно будет, но не настолько максимально.

На этом статья подошла к концу. В рамках данной статьи мы научились агрегировать каналы вручную, а также, при помощи протоколов LACP и PAgP. Узнали, что такое балансировка, как ею можно управлять и как правильно собирать Etherchannel для получения максимального распределения нагрузки. До встречи в следующей статье!

Агрегация каналов между Cisco Catalyst и Avaya ERS


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

Link Aggregation Control Protocol позволяет объединять от двух до восьми 100 Мибит/с, 1 Гибит/с или 10 Гибит/с портов Ethernet, работающего по витой паре или оптоволокну, что позволяет достичь результирующей скорости до 80 Гибит/с. Это позволяет увеличить пропускную способность каналов и повысить их надежность.

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

Несмотря на существование стандарта IEEE 802.3ad, многие компании ещё используют свои вендорские протоколы. В случае Cisco это PAgP. У Avaya это нортелевский MLT.

Объедени 47 и 48 порт и пустим через них две виртуальные сети, например для данных и для телефонии. Первый vlan тоже оставим.

Начнем с Cisco.


Создаем виртуальные сети. Второй vlan для данных.


Пятый для телефонии.


Раскидываем порты по виртуальным сетям.

1-2 порт будут в первом vlan.


C 3 по 24 мы выделим под голос.


С 25 по 46 под передачу данных.


Настраиваем непосредственно 47 и 48 порт. Сначала делаем их транковыми, чтобы прокинуть через них две виртуальные сети.


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


Назначаем ip для управления.


Проверяем как работает.


Теперь займёмся Avaya.


По аналогии создаем две виртуальные сети.


Обозначаем, что 47 и 48 порт будут транковыми. У Avaya нету как такого понятия. Мы просто указываем, что будем ставить метки по стандарту 802.1Q.


Добавляем порты в виртуальные сети. 1 и 2 порт оставляем в первом vlan, остальные порты доступа из него убираем. В пятый добавляем с 3 по 24 и транковые порты. Соответственно во второй — порты с 25 по 46, плюс транковые.


Настраиваем LACP. Здесь агрегационная группа обозначается параметром lacp key, можно поставить любую цифру, главное одинаковую.

Настройка LACP

Теперь представим что у нас есть ядро и два коммутатора доступа L2. И между L2 и ядром нужно настроить агрегацию с помощью протокола LACP.

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-09

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-09

Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.

Подключаемся ко второй Cisco через ssh или терминал.

enable

config t

Я буду использовать гигабитные интерфейсы fa0/23-24

interface range fa0/23-24
channel-protocol lacp (подготовка для lacp)
channel-group 1 mode passive (режим пассивный так как активный будет на ядре)

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-10

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-10

Посмотрим настройки show etherchannel summary

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-11

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-11

Делаем на втором коммутаторе L2 тоже самое.

Теперь настроим ядро на уровне L3.

Подключаемся к ядру Cisco через ssh или терминал.

enable

config t

Будем настраивать две пары портов fa0/1-2 и fa0/3-4

interface range fastEthernet 0/1-2
channel-protocol lacp

channel-group 1 mode active

exit

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-12

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-12

Аналогично настроим fa0/3-4

interface range fastEthernet 0/3-4
channel-protocol lacp

channel-group 2 mode passive

exit

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-13

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-1

Смотрим что настроили

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-14

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-14

Подключаем линки и видим что все ок

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-15

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-15

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-16

Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-16

LACP с VLAN

Если у вас есть vlan, то каждую port-channel Нужно перевести в режим trunk командой

switchport mode trunk

НА коммутаторе третьего уровня сначала нужно создать нужные vlan и задать им ip адреса, а уже потом переводить port-channel в режим trunk. Для примера создам vlan 2 и назначу ему ip.

ip address 192.168.2.251 255.255.255.0

int port-channel 1

switchport trunk encapsulation dot1q

switchport mode trunk

Для второй port-channel тоже самое, в итоге у вас будет работать вот такая схема.

Link Aggregation Control Protocol (LACP) на примере Cisco

Мы разобрали как настроить Link Aggregation Control Protocol (LACP) на примере Cisco.

Агрегирование каналов в Cisco

Для агрегирования каналов в Cisco может быть использован один из трёх вариантов:

  • LACP (Link Aggregation Control Protocol) стандартный протокол
  • PAgP (Port Aggregation Protocol) проприетарный протокол Cisco
  • Статическое агрегирование без использования протоколов

Так как LACP и PAgP решают одни и те же задачи (с небольшими отличиями по возможностям), то лучше использовать стандартный протокол. Фактически остается выбор между LACP и статическим агрегированием.

  • Преимущества:
    • Не вносит дополнительную задержку при поднятии агрегированного канала или изменении его настроек
    • Вариант, который рекомендует использовать Cisco
    • Нет согласования настроек с удаленной стороной. Ошибки в настройке могут привести к образованию петель

    Агрегирование с помощью LACP:

    • Преимущества:
      • Согласование настроек с удаленной стороной позволяет избежать ошибок и петель в сети.
      • Поддержка standby-интерфейсов позволяет агрегировать до 16ти портов, 8 из которых будут активными, а остальные в режиме standby
      • Вносит дополнительную задержку при поднятии агрегированного канала или изменении его настроек

      Терминология и настройка

      При настройке агрегирования каналов на оборудовании Cisco используется несколько терминов:

      • EtherChannel — технология агрегирования каналов. Термин, который использует Cisco для агрегирования каналов.
      • port-channel — логический интерфейс, который объединяет физические интерфейсы.
      • channel-group — команда, которая указывает какому логическому интерфейсу принадлежит физический интерфейс и какой режим используется для

      Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-03

      Что такое и как настроить Link Aggregation Control Protocol (LACP) на примере Cisco-03

      Эти термины используются при настройке, в командах просмотра, независимо от того, какой вариант агрегирования используется (какой протокол, какого уровня EtherChannel).

      На схеме, число после команды channel-group указывает какой номер будет у логического интерфейса Port-channel. Номера логических интерфейсов с двух сторон агрегированного канала не обязательно должны совпадать. Номера используются для того чтобы отличать разные группы портов в пределах одного коммутатора.

      Общие правила настройки EtherChannel

      LACP и PAgP группируют интерфейсы с одинаковыми:

      • скоростью (speed),
      • режимом дуплекса (duplex mode),
      • native VLAN,
      • диапазон разрешенных VLAN,
      • trunking status,
      • типом интерфейса.
      • Так как для объединения в EtherChannel на интерфейсах должны совпадать многие настройки, проще объединять их, когда они настроены по умолчанию. А затем настраивать логический интерфейс.
      • Перед объединением интерфейсов лучше отключить их. Это позволит избежать блокирования интерфейсов STP (или перевода их в состояние err-disable).
      • Для того чтобы удалить настройки EtherChannel достаточно удалить логический интерфейс. Команды channel-group удалятся автоматически.

      Создание EtherChannel для портов уровня 2 и портов уровня 3 отличается:

      • Для интерфейсов 3го уровня вручную создается логический интерфейс командой interface port-channel
      • Для интерфейсов 2го уровня логический интерфейс создается динамически
      • Для обоих типов интерфейсов необходимо вручную назначать интерфейс в EtherChannel. Для этого используется команда channel-group в режиме настройки интерфейса. Эта команда связывает вместе физические и логические порты

      После того как настроен EtherChannel:

      • изменения, которые применяются к port-channel интерфейсу, применяются ко всем физическим портам, которые присвоены этому port-channel интерфейсу
      • изменения, которые применяются к физическому порту влияют только на порт на котором были сделаны изменения

      Читайте также: