Что такое lag в коммутаторах

Агрегирование портов. LACP.

Агрегирование порта

Что делать, если одного соединения пропускной способности в 100M/1G/10G/100G недостаточно для ваших нужд? Теоретическим, мы можем соединить оборудование несколькими линками, но без агрегирования мы получим только петлю на оборудовании, в результате чего положим сеть, если, конечно, не будет включен протокол Spanning Tree, который воспримет эти соединения как петли и не выключит лишние линки. Почему образуется петля? Это связано с работой коммутаторов, подробнее можно прочитать тут

Давайте рассмотрим, что такое агрегация и агрегированные порты и зачем это надо.

В терминологии CISCO это Etherchannel, Brocade — LAG, Extreme — sharing… Стандартизированное решение — LACP(Link Aggregation Control Protocol) — протокол, который не зависит от вендора (производителя) оборудования. Все реализации объединения/агрегирования портов выполняют одну функцию, а именно, объединение физических портов в 1 логический с суммарной пропускной способностью.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

Протокол LACP

Рассмотрим, как работает агрегация на примере протокола LACP.

1. Пассивный режим, при котором оборудование ждет от соседа LACPDU пакеты и только тогда начинает высылать свои.

2. Активный режим, при котором оборудование постоянно шлет LACPDU пакеты.

Для того, чтобы LACP заработал, требуется одинаковая скорость и емкость каналов.

В результате установления работы протокола LACP коммутаторы обмениваются:

• System Identifier (priority + MAC)
• Port Identifier (priority + номер порта)
• Operational Key (параметры порта)

Это требуется для того, чтобы лаг не собрался как-нибудь не так, например как показано на рисунке 2.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Балансировка трафика в лаге

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

Источник

Что такое lag в коммутаторах

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

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

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

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

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

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

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

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

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

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

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

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

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

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

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

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

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

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

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

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

config t

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

int range gigabitEthernet 1/1-2

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

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

Режим PAgPautodesirable
autoEtherChannel
desirableEtherChannelEtherChannel
Режим LACPpassiveactive
passiveEtherChannel
activeEtherChannelEtherChannel

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

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

sh etherchannel summary

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

sh etherchannel port-channel

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

Настройка LACP

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

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

config t

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

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

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

config t

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

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

channel-group 1 mode active

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Что такое и как настроить 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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Что такое и как настроить 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

switchport trunk encapsulation dot1q

switchport mode trunk

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

Источник

LAG и средства обнаружения проблем

Кому из нас не приходилось иметь дело с агрегацией каналов, настраивать LACP и медитировать на идеальную балансировку?

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Оптический порт перейдёт в состояние Down только если на его входе нет сигнала. То есть в вышеуказанном примере порт GE1/1/4 на R2 упадёт, а на R1 – нет. LACP на R2 отработает, а на R1 нет. Налицо потери трафика.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

То есть между двумя маршрутизаторами ещё сеть SDH. OSN принимает Ethernet-кадры, инкапсулирует их в SDH-фреймы и отправляет их в плавание. С другого конца другой OSN вылавливает их, декапсулирует обратно Ethernet и возвращает их назад в IP-сеть.

Инженер остановил свой выбор на Ethernet OAM для детектирования проблемы и. ошибся. Сам я прежде не сталкивался с данным протоколом, поэтому в лаборатории собрал тестовый стенд без SDH сети – всё работает. SDH не стал настраивать по той простой причине, что это транспорт – какая ему разница, что передавать? Резать и дропать он ничего не должен – что получил, то и отправил. У меня работает, у заказчика нет – начинаем углубляться в детали.

Для начала разберёмся, что такое OAM вообще и как применяется.

OAM – Operation, Administration and Maintenance

Существует их два вида:

EFM OAM – Ethernet in First Mile. Преследует следующие цели: обнаружение партнёра, мониторинг линка, уведомление об авариях, Remote Loopback. EFM OAM соответствует стандарту 802.3ah и ориентирован на отслеживание состояния простого линка.

Ethernet CFM – Connectivity Fault Management – 802.3ag. Это механизм масштаба сети и призван обеспечивать End-to-End связность. Это достаточно мощный протокол и теоретически может использоваться для данных целей, но это всё равно, что поднимать OSPF между своим DLink и компьютером. Можно, но зачем?

Итак, поскольку был выбран EFM OAM, то копнём его поглубже.

EFM определяется на конкретном интерфейсе и может работать в двух режимах – Active и Passive. Только Active инициирует поиск соседа путём отправки OAMPDU в линк. Passive же слушает и отвечает на пришедшие запросы, но не может инициировать поиск соседа. Таким образом, хотя бы один из двух подключенных друг к другу интерфейсов должен иметь EFM в режиме Active. Вот типичная конфигурация:

interface GigabitEthernet1/1/4
eth-trunk 22
efm enable
efm trigger if-down

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

И вот тут, глядя на вид OAMPDU, я начинаю подозревать, что наличие SDH-сети в промежутке может играть фатальную роль. В качестве адреса отправителя стоит MAC-адрес Eth-trunk интерфейса, а вот в качестве получателя, какой-то специальный MAC-адрес, и EtherType – Slow Protocol.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Выдержка из Annex 57A к стандарту 802.3:

This address is within the range reserved by ISO/IEC 15802-3 (MAC Bridges) for link-constrained protocols. As such, frames sent to this address will not be forwarded by conformant MAC Bridges; its use is restricted to a single link

Дело в том, что EFM OAM относится к группе протоколов, скажем так, «одного линка». Их данные не могут покинуть один простой линк. Как только противоположное устройство принимает такой фрейм, оно его обрабатывает нужным образом и уничтожает, не передавая никуда дальше. То есть, когда с обратной стороны у нас стоит маршрутизатор/коммутатор с настроенным EFM на интерфейсе, он, приняв OAMPDU, проверяет его и отправляет ответ на R1, а старый кадр уничтожает. R1 получает OAMPDU от R2 и сессия установлена в лучшем виде.

В нашем же случае OSN, получив такой фрейм, просто отбрасывает его, потому что никакого EFM на нём не запущено.

Для очистки совести я собрал полностью аналогичную схему и увидел, что R1, как активный член партии отсылает данные, но ничего не получает в ответ. А на R2 совсем всё тихо.

debugging efm interface GigabitEthernet 1/1/4 all
Info: Operation succeeded.
May 14 2013 09:18:26.880.1+03:00 R1 EFM/7/OAMPDU:Slot=1;
EFM GigabitEthernet1/1/4 Send Packet
Flags:00 08
Code:00
01 10 01 00 00 00 0F 00 80 00 E0 FC 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00

May 14 2013 09:18:27.880.1+03:00 R1 EFM/7/OAMPDU:Slot=1;
EFM GigabitEthernet1/1/4 Send Packet
Flags:00 08
Code:00
01 10 01 00 00 00 0F 00 80 00 E0 FC 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00

May 14 2013 09:18:28.880.1+03:00 R1 EFM/7/OAMPDU:Slot=1;
EFM GigabitEthernet1/1/4 Send Packet
Flags:00 08
Code:00
01 10 01 00 00 00 0F 00 80 00 E0 FC 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00

Замечу также, что LACP в таком виде тоже отрабатывать не будет – его кадры тоже не будут доходить до удалённой стороны по той же причине.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Спасение

Единственный здесь выход – это использование BFD – Bidirectional Forwarding Detection. В то время, как EFM свои данные инкапсулирует напрямую в Ethernet, BFD использует IP и UDP. То есть для него никакой трудности не представляют промежуточные L2-устройства.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

BFD отправляет свои пакеты на мультикастовый адрес 224.0.0.184 и, если противоположное устройство настроено соответствующим образом, оно высылает ответные пакеты – BFD-сессия поднимается. Вот пример конфигурации, которая принуждает устройство погасить интерфейс в случае проблем:

R1
bfd TEST bind peer-ip default-ip interface GigabitEthernet1/1/4
discriminator local 10
discriminator remote 11
process-interface-status
commit

R2
bfd TEST bind peer-ip default-ip interface GigabitEthernet1/1/4
discriminator local 11
discriminator remote 10
process-interface-status
commit

Первой строкой задаём привязку BFD к физическому интерфейсу. Далее определяем дискриминаторы – обязательный параметр BFD, позволяющий различать сессии. И командой process-interface-status указываем, что устройство должно гасить интерфейс, если BFD обнаружил проблему.

В случае проблемы на линке BFD это сразу замечает:

May 14 2013 09:45:45+03:00 R2 %%01BFD/4/STACHG_TODWN(l)[23]:Slot=1;BFD session changed to Down. (SlotNumber=1, Discriminator=20, Diagnostic=DetectDown, Applications=IFNET, ProcessPST=False, BindInterfaceName=GigabitEthernet1/1/6, InterfacePhysicalState=Up, InterfaceProtocolState=Down)

Статус интерфейса принимает вид:

[R2]dis int br
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
(b): BFD down
(e): ETHOAM down
(d): Dampening Suppressed
InUti/OutUti: input utility/output utility
Interface PHY Protocol InUti OutUti inErrors outErrors
Aux0/0/1 down down 0% 0% 0 0
Eth-Trunk22 up up 0.05% 0.05% 0 0
GigabitEthernet1/1/4 up up 0.05% 0.05% 0 0
GigabitEthernet1/1/6 up up(b) 0% 0% 0 0

[R2]dis int gig1/1/6
GigabitEthernet1/1/6 current state : UP
Line protocol current state : UP(BFD status down)

Вообще говоря, многие устройства поддерживают команды, которые позволяют «прокидывать» данные Slow Protocls, но это от лукавого.

В общем решение предоставлено, инженер счастлив, а я узнал для себя что-то новое.

Источник

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

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

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

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

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

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

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

Начну с протокола LACP. Чтобы он заработал, его нужно перевести в режим active или passive. Отличие режимов в том, что режим active сразу включает протокол LACP, а режим passive включит LACP, если обнаружит LACP-сообщение от соседа. Соответственно, чтобы заработало агрегирование с LACP, нужно чтобы оба были в режиме active, либо один в active, а другой в passive. Составлю табличку.

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

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

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

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

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

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Видим, что SW1 отправляет соседу LACP-сообщение. Смотрим на поле Ethernet. В Source он записывает свой MAC-адрес, а в Destination мультикастовый адрес 0180.C200.0002. Этот адрес слушает протокол LACP. Ну и выше идет «длинная портянка» от LACP. Я не буду останавливаться на каждом поле, а только отмечу те, которые, на мой взгляд, важны. Но перед этим пару слов. Вот это сообщение используется устройствами для многих целей. Это синхронизация, сбор, агрегация, проверка активности и так далее. То есть у него несколько функций. И вот перед тем, как это все начинает работать, они выбирают себе виртуальный MAC-адрес. Обычно это наименьший из имеющихся.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах
И вот эти адреса они будут записывать в поля LACP.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

Выделенная строчка показывает для какой именно цели было послано данное сообщение. Вот суть его работы. Теперь это единый логический интерфейс port-channel. Можно зайти на него и убедиться:

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

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

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

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

На данный момент он выполняет балансировку исходя из значения MAC-адреса. По умолчанию балансировка так и выполняется. То есть 1-ый MAC-адрес она пропустит через первый линк, 2-ой MAC-адрес через второй линк, 3-ий MAC-адрес снова через первый линк и так будет чередоваться. Но такой подход не всегда верен. Объясняю почему.
Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах
Вот есть некая условная сеть. К 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 режима:

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

Теперь переходим в симуляцию и настраиваемся на фильтр PAgP. Видим, вылетевшее сообщение от SW2. Смотрим.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

То есть видим в Source MAC-адрес SW2. В Destination мультикастовый адрес для PAgP. Повыше протоколы LLC и SNAP. Они нас в данном случае не интересуют и переходим к PAgP. В одном из полей он пишет виртуальный MAC-адрес SW1 (выбирается он по тому же принципу, что и в LACP), а ниже записывает свое имя и порт, с которого это сообщение вышло.

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

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

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

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

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

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

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

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

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

421Десятичное значение
0000
0011
0113
1004
0011
1015
1106
1117

Данная таблица отображает 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 Гбит/с. Вот кусок текста из «цисковской» статьи.

Что такое lag в коммутаторах. Смотреть фото Что такое lag в коммутаторах. Смотреть картинку Что такое lag в коммутаторах. Картинка про Что такое lag в коммутаторах. Фото Что такое lag в коммутаторах

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *