EtherChannel

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

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

Агрегирование каналов в 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 — команда, которая указывает какому логическому интерфейсу
    принадлежит физический интерфейс и какой режим используется для агрегирования.
Общие правила настройки EtherChannel
LACP и PAgP группируют интерфейсы с одинаковыми:
• скоростью (speed),
• режимом дуплекса (duplex mode),
• native VLAN,
• диапазон разрешенных VLAN,
• trunking status,
• типом интерфейса.

Настройка EtherChannel:
  • Так как для объединения в EtherChannel на интерфейсах должны совпадать многие настройки, проще объединять их, когда они настроены по умолчанию. А затем настраивать логический интерфейс.
  • Перед объединением интерфейсов лучше отключить их. Это позволит избежать блокирования интерфейсов STP (или перевода их в состояние err-disable).
  • Для того чтобы удалить настройки EtherChannel достаточно удалить логический интерфейс. Команды channel-group удалятся автоматически.
Создание EtherChannel для портов уровня 2 и портов уровня 3 отличается:
  • Для интерфейсов 3го уровня вручную создается логический интерфейс командой interface port-channel
  • Для интерфейсов 2го уровня логический интерфейс создается динамически
  • Для обоих типов интерфейсов необходимо вручную назначать интерфейс в EtherChannel. Для этого используется команда channel-group в режиме настройки интерфейса. Эта команда связывает вместе физические и логические порты
После того как настроен EtherChannel:
  • изменения, которые применяются к port-channel интерфейсу, применяются ко всем физическим портам, которые присвоены этому port-channel интерфейсу
  • изменения, которые применяются к физическому порту влияют только на порт на котором были сделаны изменения

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

Настройка EtherChannel 2го уровня с помощью LACP
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# shutdown
sw1(config-if-range)# switchport trunk encapsulation dot1q
sw1(config-if-range)# switchport mode trunk
sw1(config-if-range)# channel-group 1 mode active
Creating a port-channel interface Port-channel 1
Настройка EtherChannel на sw2:
sw2(config)# interface range f0/11-14
sw2(config-if-range)# switchport trunk encapsulation dot1qsw1
sw2(config-if-range)# switchport mode trunk 
sw2(config-if-range)# channel-group 1 mode passive
Creating a port-channel interface Port-channel 1
Включение физических интерфейсов на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# no shutdown 
 
Просмотр информации 
Суммарная информация о состоянии Etherchannel: 
sw1# show etherchannel summary 

Информация о port-channel на sw1: 
sw1#sh etherchannel port-channel

Информация LACP о локальном коммутаторе: 
sw1#sh lacp 1 internal

Информация LACP об удаленном коммутаторе: 
sw1#show lacp 1 neighbor

Счетчики LACP: 
sw1# show lacp 1 counters

 

Пример настройки агрегирования каналов между коммутатором и маршрутизатором 

 

Конфигурация R1:
interface FastEthernet0/0
 channel-group 1
!
interface FastEthernet0/1
 channel-group 1
!
interface Port-channel1
 ip address 10.0.1.101 255.255.255.0
!
interface Port-channel1.10
 encapsulation dot1Q 10
 ip address 10.0.10.101 255.255.255.0
!
interface Port-channel1.20
 encapsulation dot1Q 20
 ip address 10.0.20.101 255.255.255.0
Конфигурация sw1:
interface FastEthernet0/3
 switchport mode trunk
 channel-group 1 mode on
!
interface FastEthernet0/5
 switchport mode trunk
 channel-group 1 mode on
!
interface Port-channel1
 switchport mode trunk
Информация о etherchannel:
sw2#show etherchannel summary
r1#sh int port-channel 1 

Балансировка нагрузки
Метод балансировки нагрузки повлияет на распределение трафика во всех EtherChannel, которые созданы на коммутаторе.
В зависимости от модели коммутатора, могут поддерживаться такие методы балансировки:
  • по MAC-адресу отправителя или MAC-адресу получателя или учитывая оба адреса
  • по IP-адресу отправителя или IP-адресу получателя или учитывая оба адреса
  • по номеру порта отправителя или номеру порта получателя или учитывая оба порта
Пример вариантов на коммутаторе 3560:
sw1(config)# port-channel load-balance ? 
dst-ip Dst IP Addr 
dst-mac Dst Mac Addr 
src-dst-ip Src XOR Dst IP Addr 
src-dst-mac Src XOR Dst Mac Addr 
src-ip Src IP Addr src-mac Src Mac Addr

При выборе метода балансировки, необходимо учитывать топологию сети, каким образом передается трафик.
Например, на схеме, все устройства находятся в одном VLAN. Шлюз по умолчанию маршрутизатор R1.
Если коммутатор sw2 использует метод балансировки по MAC-адресу отправителя, то балансировка выполняться не будет, так как у всех фреймов MAC-адрес отправителя будет адрес маршрутизатора R1

Аналогично, если коммутатор sw1 использует метод балансировки по MAC-адресу получателя, то балансировка выполняться не будет, так как у всех фреймов, которые будут проходить через агрегированный канал, MAC-адрес получателя будет адрес маршрутизатора R1:
Определение текущего метода балансировки:
sw1# show etherchannel load-balance

Тестирование балансировки нагрузки
Для того чтобы проверить через какой интерфейс, при настроенном методе балансировки, пойдет конкретный пакет или фрейм, можно использовать команду test etherchannel load-balance.
Проверка при задании IP-адресов:
sw1# test etherchannel load-balance int port-channel 1 ip 192.168.1.1 192.168.1.2
Would select Fa0/11 of Po1
Пример тестирования при задании MAC-адресов:
sw2# test etherchannel load-balance int po 3 mac 0000.0001.0601 0000.0002.0005
Would select Fa0/12 of Po3



НЕ МЕНЯТЬ VLANs в EHTHERCHENNEL когда он настроен транком, так как это развалит port-channel и etherChennel уведет порты в suspended mode


Remove the Port-channel1
#no interface po1









sw1
en
∟conf t
    port-channel load-balance dst-ip
    ∟int r e1/2-3
        ∟sh
            channel-group 1 mode active
            channel-protocol  lacp
            switchport trunk encapsulation dot1q
            switchport mode trunk 
            switchport trunk native vlan 900
            switchport trunk allowed vlan 10,20,900
end
sh int e1/2 switchport
sh vlan brief
sh int trunk

sw2
en
∟conf t
    port-channel load-balance dst-ip
    ∟int r e1/2-3
        ∟sh
            channel-group 1 mode active
            channel-protocol  lacp
            switchport trunk encapsulation dot1q
            switchport mode trunk 
            switchport trunk native vlan 900
            switchport trunk allowed vlan 10,20,900
end
sh int e1/2 switchport
sh vlan brief
sh int trunk

Comments

Popular posts from this blog

Петли L2, методы борьбы (PortFast, LoopGuard, BPDU guard, BPDU filter)

Проброска static маршрута в OSPF