Агрегирование каналов — технология, которая позволяет объединить несколько физических каналов в один логический. Такое объединение позволяет увеличивать пропускную способность и надежность канала.
Агрегирование каналов может быть настроено между двумя коммутаторами, коммутатором и маршрутизатором, между коммутатором и хостом.
Для агрегирования каналов существуют другие названия:
- 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.
Общая информация об агрегировании каналов
Агрегирование каналов позволяет решить две задачи:
- повысить пропускную способность канала
- обеспечить резерв на случай выхода из строя одного из каналов
Большинство технологий по агрегированию позволяют объединять только параллельные каналы. То есть такие, которые начинаются на одном и том же устройстве и заканчиваются на другом.
Если рассматривать избыточные соединения между коммутаторами, то без использования специальных технологий для агрегирования каналов, передаваться данные будут только через один интерфейс, который не заблокирован STP. Такой вариант позволяет обеспечить резервирование каналов, но не дает возможности увеличить пропускную способность.
(Без использования 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).
На схеме, число после команды channel-group указывает какой номер будет у логического интерфейса Port-channel. Номера логических интерфейсов с двух сторон агрегированного канала не обязательно должны совпадать. Номера используются для того чтобы отличать разные группы портов в пределах одного коммутатора.
Общие правила настройки 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 интерфейсу
- изменения, которые применяются к физическому порту влияют только на порт на котором были сделаны изменения
Синтаксис команды channel-group
Синтаксис команды channel-group:
sw(config-if)# channel-group <channel-group-number> mode <<auto [non-silent] |
desirable [non-silent] | on> | <active | passive>>
Параметры команды:
- active — Включить LACP,
- passive — Включить LACP только если придет сообщение LACP,
- desirable — Включить PAgP,
- auto — Включить PAgP только если придет сообщение PAgP,
- on — Включить только Etherchannel.
Комбинации режимов при которых поднимется EtherChannel:
Режим PAgP | auto | desirable |
---|---|---|
auto | — | EtherChannel |
desirable | EtherChannel | EtherChannel |
Режим LACP | passive | active |
---|---|---|
passive | — | EtherChannel |
active | EtherChannel | EtherChannel |
Интерфейсы в состоянии suspended
Если настройки физического интерфейса не совпадают с настройками агрегированного интерфейса, он переводится в состояние suspended. Это будет видно в нескольких командах.
Просмотр состояния интерфейсов:
sw1#sh int status
Port Name Status Vlan Duplex Speed Type
...
Fa0/9 notconnect 1 auto auto 10/100BaseTX
Fa0/10 notconnect 1 auto auto 10/100BaseTX
Fa0/11 connected trunk a-full a-100 10/100BaseTX
Fa0/12 connected trunk a-full a-100 10/100BaseTX
Fa0/13 suspended 1 a-full a-100 10/100BaseTX
Fa0/14 connected trunk a-full a-100 10/100BaseTX
...
Po1 connected trunk a-full a-100
Просмотр информации о EtherChannel:
sw1#sh etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) LACP Fa0/11(P) Fa0/12(P) Fa0/13(s)
Fa0/14(P)
Команды просмотра информации
sw# show etherchannel summary
sw1#sh etherchannel port-channel
Подробная информация:
sw1#sh etherchannel detail
Настройка EtherChannel 2го уровня
Настройка статического EtherChannel 2го уровня
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# shutdown
sw1(config-if-range)# channel-group 3 mode on
Creating a port-channel interface Port-channel 3
Настройка EtherChannel на sw2:
sw2(config)# interface range f0/11-14
sw2(config-if-range)# channel-group 3 mode on
Creating a port-channel interface Port-channel 3
Включение физических интерфейсов на sw1:
sw1(config-if-range)# no sh
Просмотр информации
Суммарная информация о состоянии Etherchannel:
sw1# sh etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
3 Po3(SU) - Fa0/11(P) Fa0/12(P) Fa0/13(P)
Fa0/14(P)
Информация о port-channel на sw1:
sw1# sh etherchannel port-channel
Channel-group listing:
----------------------
Group: 3
----------
Port-channels in the group:
---------------------------
Port-channel: Po3
------------
Age of the Port-channel = 0d:00h:00m:51s
Logical slot/port = 1/0 Number of ports = 4
GC = 0x00000000 HotStandBy port = null
Port state = Port-channel Ag-Inuse
Protocol = -
Port security = Disabled
Ports in the Port-channel:
Index Load Port EC state No of bits
------+------+------+------------------+-----------
0 00 Fa0/11 On 0
0 00 Fa0/12 On 0
0 00 Fa0/13 On 0
0 00 Fa0/14 On 0
Time since last port bundled: 0d:00h:00m:44s Fa0/14
Настройка EtherChannel 2го уровня с помощью LACP
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# shutdown
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)# 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
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) LACP Fa0/11(P) Fa0/12(P) Fa0/13(P)
Fa0/14(P)
Информация о port-channel на sw1:
sw1#sh etherchannel port-channel
Channel-group listing:
----------------------
Group: 1
----------
Port-channels in the group:
---------------------------
Port-channel: Po1 (Primary Aggregator)
------------
Age of the Port-channel = 0d:00h:14m:21s
Logical slot/port = 1/0 Number of ports = 4
HotStandBy port = null
Port state = Port-channel Ag-Inuse
Protocol = LACP
Port security = Disabled
Ports in the Port-channel:
Index Load Port EC state No of bits
------+------+------+------------------+-----------
0 00 Fa0/11 Active 0
0 00 Fa0/12 Active 0
0 00 Fa0/13 Active 0
0 00 Fa0/14 Active 0
Time since last port bundled: 0d:00h:01m:49s Fa0/13
Time since last port Un-bundled: 0d:00h:04m:20s Fa0/14
Информация о port-channel на sw2:
sw2#sh etherchannel port-channel
Channel-group listing:
----------------------
Group: 1
----------
Port-channels in the group:
---------------------------
Port-channel: Po1 (Primary Aggregator)
------------
Age of the Port-channel = 0d:00h:13m:49s
Logical slot/port = 2/1 Number of ports = 4
HotStandBy port = null
Port state = Port-channel Ag-Inuse
Protocol = LACP
Port security = Disabled
Ports in the Port-channel:
Index Load Port EC state No of bits
------+------+------+------------------+-----------
0 00 Fa0/11 Passive 0
0 00 Fa0/12 Passive 0
0 00 Fa0/13 Passive 0
0 00 Fa0/14 Passive 0
Time since last port bundled: 0d:00h:03m:48s Fa0/13
Time since last port Un-bundled: 0d:00h:06m:18s Fa0/14
Информация LACP о локальном коммутаторе:
sw1#sh lacp 1 internal
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1
LACP port Admin Oper Port Port
Port Flags State Priority Key Key Number State
Fa0/11 SA bndl 32768 0x1 0x1 0xC 0x3D
Fa0/12 SA bndl 32768 0x1 0x1 0xD 0x3D
Fa0/13 SA bndl 32768 0x1 0x1 0x16 0x3D
Fa0/14 SA bndl 32768 0x1 0x1 0x17 0x3D
sw1#
Информация LACP об удаленном коммутаторе:
sw1#show lacp 1 neighbor
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1 neighbors
Partner's information:
LACP port Admin Oper Port Port
Port Flags Priority Dev ID Age key Key Number State
Fa0/11 SP 32768 000a.b8ab.eb80 5s 0x0 0x1 0x10E 0x3C
Fa0/12 SP 32768 000a.b8ab.eb80 13s 0x0 0x1 0x10F 0x3C
Fa0/13 SP 32768 000a.b8ab.eb80 5s 0x0 0x1 0x110 0x3C
Fa0/14 SP 32768 000a.b8ab.eb80 16s 0x0 0x1 0x111 0x3C
sw1#
Счетчики LACP:
sw1# show lacp 1 counters
LACPDUs Marker Marker Response LACPDUs
Port Sent Recv Sent Recv Sent Recv Pkts Err
---------------------------------------------------------------------
Channel group: 1
Fa0/11 13 11 0 0 0 0 0
Fa0/12 13 10 0 0 0 0 0
Fa0/13 25 22 0 0 0 0 0
Fa0/14 13 11 0 0 0 0 0
LACP system ID:
sw1# sh lacp sys-id
32768, 0012.0111.e580
Standby-интерфейсы
LACP позволяет агрегировать до 16ти портов, 8 из которых будут активными, а остальные в режиме standby.
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
sw1(config)# interface range f0/11-20
sw1(config-if-range)# shutdown
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-20
sw2(config-if-range)# channel-group 1 mode passive
Creating a port-channel interface Port-channel 1
Включение физических интерфейсов на sw1:
sw1(config-if-range)# no sh
Суммарная информация о состоянии Etherchannel (интерфейсы fa0/19
, fa0/20
в режиме standby):
sw1#sh etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) LACP Fa0/11(P) Fa0/12(P) Fa0/13(P)
Fa0/14(P) Fa0/15(P) Fa0/16(P)
Fa0/17(P) Fa0/18(P) Fa0/19(H)
Fa0/20(H)
Информация о port-channel на sw1 (интерфейсы fa0/19
, fa0/20
в режиме standby):
sw1#sh etherchannel port-channel
Channel-group listing:
----------------------
Group: 1
----------
Port-channels in the group:
---------------------------
Port-channel: Po1 (Primary Aggregator)
------------
Age of the Port-channel = 0d:00h:03m:08s
Logical slot/port = 1/0 Number of ports = 8
HotStandBy port = Fa0/19 Fa0/20
Port state = Port-channel Ag-Inuse
Protocol = LACP
Port security = Disabled
Ports in the Port-channel:
Index Load Port EC state No of bits
------+------+------+------------------+-----------
0 00 Fa0/11 Active 0
0 00 Fa0/12 Active 0
0 00 Fa0/13 Active 0
0 00 Fa0/14 Active 0
0 00 Fa0/15 Active 0
0 00 Fa0/16 Active 0
0 00 Fa0/17 Active 0
0 00 Fa0/18 Active 0
Time since last port bundled: 0d:00h:00m:57s Fa0/18
Time since last port Un-bundled: 0d:00h:00m:59s Fa0/19
Информация LACP о локальном коммутаторе (интерфейсы fa0/19
, fa0/20
в режиме standby)
sw1#sh lacp internal
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1
LACP port Admin Oper Port Port
Port Flags State Priority Key Key Number State
Fa0/11 SA bndl 32768 0x1 0x1 0xC 0x3D
Fa0/12 SA bndl 32768 0x1 0x1 0xD 0x3D
Fa0/13 SA bndl 32768 0x1 0x1 0x16 0x3D
Fa0/14 SA bndl 32768 0x1 0x1 0x17 0x3D
Fa0/15 SA bndl 32768 0x1 0x1 0x18 0x3D
Fa0/16 SA bndl 32768 0x1 0x1 0x19 0x3D
Fa0/17 SA bndl 32768 0x1 0x1 0xE 0x3D
Fa0/18 SA bndl 32768 0x1 0x1 0xF 0x3D
Fa0/19 SA hot-sby 32768 0x1 0x1 0x10 0x5
Fa0/20 SA hot-sby 32768 0x1 0x1 0x11 0x5
Информация LACP об удаленном коммутаторе:
sw1#sh lacp neighbor
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1 neighbors
Partner's information:
LACP port Admin Oper Port Port
Port Flags Priority Dev ID Age key Key Number State
Fa0/11 SP 32768 000a.b8ab.eb80 27s 0x0 0x1 0x10E 0x3C
Fa0/12 SP 32768 000a.b8ab.eb80 25s 0x0 0x1 0x10F 0x3C
Fa0/13 SP 32768 000a.b8ab.eb80 27s 0x0 0x1 0x110 0x3C
Fa0/14 SP 32768 000a.b8ab.eb80 6s 0x0 0x1 0x111 0x3C
Fa0/15 SP 32768 000a.b8ab.eb80 26s 0x0 0x1 0x112 0x3C
Fa0/16 SP 32768 000a.b8ab.eb80 27s 0x0 0x1 0x113 0x3C
Fa0/17 SP 32768 000a.b8ab.eb80 25s 0x0 0x1 0x114 0x3C
Fa0/18 SP 32768 000a.b8ab.eb80 27s 0x0 0x1 0x115 0x3C
Fa0/19 SP 32768 000a.b8ab.eb80 2s 0x0 0x1 0x116 0x4
Fa0/20 SP 32768 000a.b8ab.eb80 2s 0x0 0x1 0x117 0x4
Интерфейсы в режиме standby не передают трафик, поэтому по CDP сосед не виден через эти порты:
sw1#sh cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
sw2 Fas 0/18 123 R S I WS-C3560- Fas 0/18
sw2 Fas 0/15 179 R S I WS-C3560- Fas 0/15
sw2 Fas 0/14 179 R S I WS-C3560- Fas 0/14
sw2 Fas 0/12 179 R S I WS-C3560- Fas 0/12
sw2 Fas 0/16 178 R S I WS-C3560- Fas 0/16
sw2 Fas 0/17 178 R S I WS-C3560- Fas 0/17
sw2 Fas 0/11 178 R S I WS-C3560- Fas 0/11
sw2 Fas 0/13 178 R S I WS-C3560- Fas 0/13
sw2 Fas 0/1 147 R S I WS-C3560- Fas 0/1
Настройка EtherChannel 2го уровня с помощью PAgP
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# shutdown
sw1(config-if-range)# channel-group 2 mode desirable
Creating a port-channel interface Port-channel 2
Настройка EtherChannel на sw2:
sw2(config)# interface range f0/11-14
sw2(config-if-range)# channel-group 2 mode auto
Creating a port-channel interface Port-channel 2
Включение физических интерфейсов на sw1:
sw1(config)# interface range f0/11-14
sw1(config-if-range)# no shut
Просмотр информации
Суммарная информация о состоянии Etherchannel:
sw1#sh etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
2 Po2(SU) PAgP Fa0/11(P) Fa0/12(P) Fa0/13(P)
Fa0/14(P)
Информация о port-channel на sw1:
sw1#sh etherchannel port-channel
Channel-group listing:
----------------------
Group: 2
----------
Port-channels in the group:
---------------------------
Port-channel: Po2
------------
Age of the Port-channel = 0d:00h:01m:20s
Logical slot/port = 1/0 Number of ports = 4
GC = 0x00020001 HotStandBy port = null
Port state = Port-channel Ag-Inuse
Protocol = PAgP
Port security = Disabled
Ports in the Port-channel:
Index Load Port EC state No of bits
------+------+------+------------------+-----------
0 00 Fa0/11 Desirable-Sl 0
0 00 Fa0/12 Desirable-Sl 0
0 00 Fa0/13 Desirable-Sl 0
0 00 Fa0/14 Desirable-Sl 0
Time since last port bundled: 0d:00h:00m:59s Fa0/14
Time since last port Un-bundled: 0d:00h:01m:02s Fa0/14
Информация PAgP о локальном коммутаторе:
sw1#sh pagp internal
Flags: S - Device is sending Slow hello. C - Device is in Consistent state.
A - Device is in Auto mode. d - PAgP is down
Timers: H - Hello timer is running. Q - Quit timer is running.
S - Switching timer is running. I - Interface timer is running.
Channel group 2
Hello Partner PAgP Learning Group
Port Flags State Timers Interval Count Priority Method Ifindex
Fa0/11 SC U6/S7 H 30s 1 128 Any 30
Fa0/12 SC U6/S7 H 30s 1 128 Any 30
Fa0/13 SC U6/S7 H 30s 1 128 Any 30
Fa0/14 SC U6/S7 H 30s 1 128 Any 30
Информация PAgP об удаленном коммутаторе:
sw1#sh pagp neighbor
Flags: S - Device is sending Slow hello. C - Device is in Consistent state.
A - Device is in Auto mode. P - Device learns on physical port.
Channel group 2 neighbors
Partner Partner Partner Partner Group
Port Name Device ID Port Age Flags Cap.
Fa0/11 sw2 000a.b8ab.eb80 Fa0/11 26s SAC 20001
Fa0/12 sw2 000a.b8ab.eb80 Fa0/12 4s SAC 20001
Fa0/13 sw2 000a.b8ab.eb80 Fa0/13 18s SAC 20001
Fa0/14 sw2 000a.b8ab.eb80 Fa0/14 14s SAC 20001
Счетчики PAgP:
sw1#sh pagp counters
Information Flush PAgP
Port Sent Recv Sent Recv Err Pkts
---------------------------------------------------
Channel group: 2
Fa0/11 8 9 0 0 0
Fa0/12 35 6 0 0 0
Fa0/13 50 8 0 0 0
Fa0/14 24 12 0 0 0
Настройка EtherChannel 3го уровня
Настройка EtherChannel 3го уровня очень мало отличается от настройки EtherChannel 2го уровня. Поэтому в этом разделе показан только один пример настройки, с использованием LACP. Остальные варианты настраиваются аналогично, с изменением режима агрегирования. Команды просмотра аналогичны, их можно посмотреть в предыдущих разделах.
Для EtherChannels 3-го уровня IP-адрес присваивается логическому интерфейсу port-channel, а не физическим интерфейсам.
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка логического интерфейса на sw1:
sw1(config)# int port-channel 2
sw1(config-if)# no switchport
sw1(config-if)# ip address 192.168.12.1 255.255.255.0
Настройка физических интерфейсов на sw1:
sw1(config)# int ran fa0/11 - 14
sw1(config-if-range)# shutdown
sw1(config-if-range)# no switchport
sw1(config-if-range)# channel-group 2 mode active
Создание логического интерфейса на sw2:
sw2(config)# int port-channel 2
sw2(config-if)# no switchport
sw2(config-if)# ip address 192.168.12.2 255.255.255.0
Настройка физических интерфейсов на sw2:
sw2(config)# int ran fa0/11 - 14
sw2(config-if-range)# no switchport
sw2(config-if-range)# channel-group 2 mode active
Включение физических интерфейсов на sw1:
sw1(config)# int ran fa0/11 - 14
sw1(config-if-range)# no shutdown
Просмотр информации
Суммарная информация о состоянии Etherchannel:
sw1# show etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 2
Number of aggregators: 2
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
2 Po2(RU) LACP Fa0/11(P) Fa0/12(P) Fa0/13(P)
Fa0/14(P)
Настройка агрегирования каналов на маршрутизаторе
Особенности настройки агрегирования на маршрутизаторе:
- Поддерживается только статическое агрегирование, без использования протоколов
- Можно создать только 2 агрегированных интерфейса
- Максимальное количество интерфейсов в EtherChannel – 4
- Метод балансировки использует IP-адреса отправителя и получателя, включен по умолчанию и не может быть изменен
- Агрегировать можно только те интерфейсы, которые находятся на модулях одинакового типа
Создание агрегированного интерфейса на маршрутизаторе:
R1(config)# interface port-channel 1
router(config-if)# ip address 10.0.1.101 255.255.255.0
Добавление физических интерфейсов в EtherChannel:
R1(config)# interface range fa0/0 - 1
R1(config-if-range)# channel-group 1
FastEthernet0/0 added as member-1 to port-channel1
FastEthernet0/1 added as member-2 to port-channel1
Пример настройки агрегирования каналов между коммутатором и маршрутизатором
Конфигурация 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 на sw1:
sw2#show etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+-----------------------------------------------
1 Po1(SU) - Fa0/3(P) Fa0/5(P)
r1#sh int port-channel 1
Port-channel1 is up, line protocol is up
Hardware is FEChannel, address is 001b.d4f0.1098 (bia 001b.d4f0.1098)
Internet address is 10.0.1.101/24
MTU 1500 bytes, BW 200000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation 802.1Q Virtual LAN, Vlan ID 1., loopback not set
Keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 04:00:00
No. of active members in this channel: 2
Member 0 : FastEthernet0/0 , Full-duplex, 100Mb/s
Member 1 : FastEthernet0/1 , Full-duplex, 100Mb/s
No. of Non-active members in this channel: 0
Last input never, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/150/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/80 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog
0 input packets with dribble condition detected
9 packets output, 564 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out
Балансировка нагрузки
Метод балансировки нагрузки повлияет на распределение трафика во всех 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
sw2# test etherchannel load-balance int po 3 mac 0000.0001.0600 0000.0002.0005
Would select Fa0/11 of Po3
sw2# test etherchannel load-balance int po 3 mac 0000.0001.0800 0000.0002.0005
Would select Fa0/14 of Po3
sw2# test etherchannel load-balance int po 3 mac 0000.0001.1800 0000.0002.0005
Would select Fa0/11 of Po3
Взаимодействие Etherchannel с другими функциями
- Dynamic Trunking Protocol (DTP) и Cisco Discovery Protocol (CDP) отправляют и получают пакеты через физические интерфейсы в EtherChannel.
- Trunk ports отправляют и получают PAgP и LACP PDU через VLAN с наименьшим номером.
- Spanning tree отправляет пакеты через первый интерфейс в EtherChannel.
- MAC-адрес EtherChannel 3го уровня это MAC-адрес первого порта в port-channel.
- PAgP отправляет и получает PAgP PDU только с интерфейсов на которых PAgP включен в режиме
auto
илиdesirable
. - LACP отправляет и получает LACP PDU только с интерфейсов на которых LACP включен в режиме
active
илиpassive
.
Привет ребята!
Я новичек в Cisco , но задачу мне все же поставили и я должен ее решить, но столкнулся с проблемкой и прошу Вашей помощи.
Задача стоит перенести аплинки со свитча Cisco Catalyst c2960x-48ts (два линка по 1 Gbps агрегированных LACP ) на свитч Cisco Nexus 9372PX-E (тут уже будет два линка по 10Gbps так же агрегированных с LACP) и так как за catalyst еще живут клиенты то переносить нужно поочередно. Причем делается это все удаленно без физического контакта с оборудованием…
В этом дата центра аплинком выступает Arista 7260cx3 и даже при конфигурировании старого доброго catalyst тоже были проблемы которые решились добавлением следующих опций в конфигурацию:
service unsupported-transceive spanning-tree mode rapid-pvst spanning-tree extend system-id no errdisable detect cause gbic-invalid no errdisable detect cause sfp-config-mismatch errdisable recovery cause gbic-invalid
Ну и конфигурация интерфейсов тоже специфична:
interface Port-channel1 switchport mode access switchport nonegotiate speed nonegotiate interface GigabitEthernet1/0/49 switchport mode access switchport nonegotiate speed nonegotiate channel-protocol lacp channel-group 1 mode active ! interface GigabitEthernet1/0/50 switchport mode access switchport nonegotiate speed nonegotiate channel-protocol lacp channel-group 1 mode active !
Только в такой конфигурации это все завелось и работает по сей день. Сейчас линк из 50 го интерфейса переставили в Nexus , пока я не добавляю новый интерфейс в channel-group он вроди бы работает исправно:
sh int e 1/48 Ethernet1/48 is up admin state is up, Dedicated Interface Hardware: 1000/10000 Ethernet, address: 00c8.8bcc.4091 (bia 00c8.8bcc.4091) MTU 1500 bytes, BW 10000000 Kbit , DLY 10 usec reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is access full-duplex, 10 Gb/s, media type is 10G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 00:00:15 Last clearing of "show interface" counters 01:23:34 4 interface resets Load-Interval #1: 30 seconds 30 seconds input rate 720 bits/sec, 0 packets/sec 30 seconds output rate 344 bits/sec, 0 packets/sec input rate 720 bps, 0 pps; output rate 344 bps, 0 pps Load-Interval #2: 5 minute (300 seconds) 300 seconds input rate 16 bits/sec, 0 packets/sec 300 seconds output rate 16 bits/sec, 0 packets/sec input rate 16 bps, 0 pps; output rate 16 bps, 0 pps RX 0 unicast packets 375 multicast packets 0 broadcast packets 375 input packets 64968 bytes 0 jumbo packets 0 storm suppression packets 0 runts 0 giants 0 CRC 0 no buffer 0 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause TX 0 unicast packets 266 multicast packets 0 broadcast packets 266 output packets 44686 bytes 0 jumbo packets 0 output error 0 collision 0 deferred 0 late collision 0 lost carrier 0 no carrier 0 babble 0 output discard 0 Tx pause
но стоит добавить его в channel-group как он тут же переходит в статус suspend:
sh int e 1/48 Ethernet1/48 is down (suspended) admin state is up, Dedicated Interface Belongs to Po1 Hardware: 1000/10000 Ethernet, address: 00c8.8bcc.4091 (bia 00c8.8bcc.4091) MTU 1500 bytes, BW 10000000 Kbit , DLY 10 usec reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is access auto-duplex, auto-speed, media type is 10G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 00:00:31 Last clearing of "show interface" counters 00:00:33 4 interface resets Load-Interval #1: 30 seconds 30 seconds input rate 800 bits/sec, 0 packets/sec 30 seconds output rate 312 bits/sec, 0 packets/sec input rate 800 bps, 0 pps; output rate 312 bps, 0 pps Load-Interval #2: 5 minute (300 seconds) 300 seconds input rate 48 bits/sec, 0 packets/sec 300 seconds output rate 200 bits/sec, 0 packets/sec input rate 48 bps, 0 pps; output rate 200 bps, 0 pps RX 0 unicast packets 27 multicast packets 0 broadcast packets 27 input packets 3557 bytes 0 jumbo packets 0 storm suppression packets 0 runts 0 giants 0 CRC 0 no buffer 0 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause TX 0 unicast packets 6 multicast packets 0 broadcast packets 6 output packets 1146 bytes 0 jumbo packets 0 output error 0 collision 0 deferred 0 late collision 0 lost carrier 0 no carrier 0 babble 0 output discard 0 Tx pause
на новом месте конфигурировать пытаюсь так:
— int e1/47-48
— switchport
— switchport mode access
— channel-group 1 mode active
— no shutdown
— int port-channel 1
— switchport
— switchport mode access
— no shutdown
Состояние этого порта сейчас такое:
sh port-channel summary Flags: D - Down P - Up in port-channel (members) I - Individual H - Hot-standby (LACP only) s - Suspended r - Module-removed b - BFD Session Wait S - Switched R - Routed U - Up (port-channel) p - Up in delay-lacp mode (member) M - Not in use. Min-links not met -------------------------------------------------------------------------------- Group Port- Type Protocol Member Ports Channel -------------------------------------------------------------------------------- 1 Po1(SD) Eth LACP Eth1/47(D) Eth1/48(s)
В логах есть одна неприятная строчка:
2011 Jan 5 03:00:08 just-sw1 %ETHPORT-3-IF_UNSUPPORTED_TRANSCEIVER: Transceiver on interface Ethernet1/48 is not supported
Но меня смущает что при этом интерфейс то поднимается без LACP ….
Лог предшестующий остановке интерфейса выглядит так:
2011 Jan 5 04:57:17 just-sw1 %ETHPORT-5-SPEED: Interface Ethernet1/48, operatio nal speed changed to 10 Gbps 2011 Jan 5 04:57:17 just-sw1 %ETHPORT-5-IF_DUPLEX: Interface Ethernet1/48, oper ational duplex mode changed to Full 2011 Jan 5 04:57:17 just-sw1 %ETHPORT-5-IF_RX_FLOW_CONTROL: Interface Ethernet1 /48, operational Receive Flow Control state changed to off 2011 Jan 5 04:57:17 just-sw1 %ETHPORT-5-IF_TX_FLOW_CONTROL: Interface Ethernet1 /48, operational Transmit Flow Control state changed to off 2011 Jan 5 04:57:17 just-sw1 %ETHPORT-5-IF_UP: Interface Ethernet1/48 is up in mode access 2011 Jan 5 04:59:19 just-sw1 %ETHPORT-5-IF_DOWN_CHANNEL_MEMBERSHIP_UPDATE_IN_PR OGRESS: Interface Ethernet1/48 is down (Channel membership update in progress) 2011 Jan 5 04:59:21 just-sw1 %ETHPORT-5-SPEED: Interface Ethernet1/48, operatio nal speed changed to 10 Gbps 2011 Jan 5 04:59:21 just-sw1 %ETHPORT-5-IF_DUPLEX: Interface Ethernet1/48, oper ational duplex mode changed to Full 2011 Jan 5 04:59:21 just-sw1 %ETHPORT-5-IF_RX_FLOW_CONTROL: Interface Ethernet1 /48, operational Receive Flow Control state changed to off 2011 Jan 5 04:59:21 just-sw1 %ETHPORT-5-IF_TX_FLOW_CONTROL: Interface Ethernet1 /48, operational Transmit Flow Control state changed to off 2011 Jan 5 04:59:21 just-sw1 %ETHPORT-5-SPEED: Interface port-channel1, operati onal speed changed to 10 Gbps 2011 Jan 5 04:59:21 just-sw1 %ETHPORT-5-IF_DUPLEX: Interface port-channel1, ope rational duplex mode changed to Full 2011 Jan 5 04:59:21 just-sw1 %ETHPORT-5-IF_RX_FLOW_CONTROL: Interface port-chan nel1, operational Receive Flow Control state changed to off 2011 Jan 5 04:59:21 just-sw1 %ETHPORT-5-IF_TX_FLOW_CONTROL: Interface port-chan nel1, operational Transmit Flow Control state changed to off 2011 Jan 5 04:59:46 just-sw1 %ETH_PORT_CHANNEL-5-PORT_SUSPENDED: Ethernet1/48: Ethernet1/48 is suspended
Вот и вся вводная информация, подскажите пожалуйста в какую сторону копать, что можно попробовать?
I’ve seen a few suspended ports in etherchannels lately. Not everyone is familiar with this port status. So let’s take a minute to talk about this:
There is one important rule when configuring etherchannels: All interfaces in the etherchannel need the same speed and duplex settings, trunking encapsulation (dot1q/isl) or the same access VLAN in case of an access port, same STP cost and last but not least: no etherchannel port can be configured in a monitor session (SPAN port).
When the switchports in a etherchannel meet all the requirements, the output of a “sh etherchannel summ” looks like:
Flags: D - down P - bundled in port-channel I - stand-alone s - suspended R - Layer3 S - Layer2 U - in use f - failed to allocate aggregator M - not in use, minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 62 Po62(SU) - Gi2/5(P) Gi2/6(P)
All switchports in the etherchannel (Gi2/5 and Gi2/6) do have a ‘P’ flag which means: life is good 🙂
In case of some port mismatch, lets say: encapsulation mismatch, the output of “sh etherchannel summ” will look like:
Flags: D - down P - bundled in port-channel I - stand-alone s - suspended R - Layer3 S - Layer2 U - in use f - failed to allocate aggregator M - not in use, minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 62 Po62(SU) - Gi2/5(P) Gi2/6(s)
You will also get a syslog message:
EC-5-CANNOT_BUNDLE2: Gi2/5 is not compatible with Gi2/6 and will be suspended (trunk encap of Gi2/5 is dot1q, Gi2/6 is isl)
The switchport Gi2/6 is flagged with a ‘s’. This ‘s’ shows us that there is a mismatch in some of the described requirements. When you check the “sh int status” output, the port state will be suspended:
Port Name Status Vlan Duplex Speed Type Gi2/6 Trunk suspended trunk full 1000 1000BaseSX
Recently I had to troubleshoot an etherchannel of 2x fibre uplinks between a Core switch and an access switch which had gone down.
The status of the etherchannel interfaces from the Core was showing as follows:
Group Port-channel Protocol Ports
——+————-+———–+———————————————–
11 Po11(SD) LACP Gi1/0/3(s) Gi2/0/3(s)
The Flags entry ón the help menu for status ‘s’ is ‘s – suspended’.
Logs showed the following related error messages:
> .Jan 7 00:53:31.714: %EC-5-L3DONTBNDL2: Gi1/0/3 suspended: LACP currently not enabled on the remote port.
> .Jan 7 00:53:31.746: %EC-5-L3DONTBNDL2: Gi2/0/3 suspended: LACP currently not enabled on the remote port.
Usually when there is a layer 2 problem or either of the links is down for another reason, the status will show as ‘D’ for down, which is quite common.
The log error messages suggested that LACP (Link Aggregation Control Protocol) was not configured on the access switch end; the Core switch etherchannel interfaces were configured as follows:
> channel-group 11 mode active
‘active’ means it will use LACP and in order for the etherchannel to successfully come up, the access switch side configuration will also need to configured to use LACP in either active or passive mode.
I connected via console to the access switch and quickly realised that part of the config was missing as there wasn’t even a port-channel configured. I configured the port-channel and associated interfaces to use LACP in active mode and the etherchannel promptly came up.
I used the following config:
interface Port-channel 1
switchport mode trunk
switchport nonegotiate
interface Gigabitethernet 0/1
switchport mode trunk
switchport nonegotiate
channel-group 1 mode active
interface Gigabitethernet 0/2
switchport mode trunk
switchport nonegotiate
channel-group 1 mode active
Notes:
Port-channel number is only locally significant i.e. doesn’t need to match the port-channel number used on the Core switch.
All interfaces that are members of a port-channel need to have the same configuration when it comes to speed,duplex, switchport mode.