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

Материал из Xgu.ru

Перейти к: навигация, поиск
Автор: Наташа Самойленко
Короткий URL: link_aggregation

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

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

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

Содержание

[править] Общая информация об агрегировании каналов

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

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

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

Aggr.png

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

No ether.png

Note-icon.gif

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

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

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

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

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

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

[править] Агрегирование каналов в 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.png

Эти термины используются при настройке, в командах просмотра, независимо от того, какой вариант агрегирования используется (какой протокол, какого уровня 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го уровня

EtherChannel3.png

Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на 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

EtherChannel2.png

Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на 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.

EtherChannel2 standby.png

Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на 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

EtherChannel2 pagp.png

Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на 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. Остальные варианты настраиваются аналогично, с изменением режима агрегирования. Команды просмотра аналогичны, их можно посмотреть в предыдущих разделах.

Ether3 lacp.png

Для 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

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

EtherChannel router.png

Конфигурация 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: EtherChannel balance.png

Аналогично, если коммутатор 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.

[править] Агрегирование каналов в ProCurve

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

  • Количество портов в агрегированном канале (4 или 8) и количество агрегированных каналов зависит от модели коммутатора;
  • Если один из портов в агрегированном канале выходит из строя, агрегированный канал работает. Он остается работоспособным до тех пор пока есть хотя бы один порт;
  • Динамическое агрегирование каналов с помощью LACP поддерживает standby порты, которые позволяют настраивать резервные порты, на случай если один из портов в агрегированном канале выйдет из строя;
  • Так как без агрегирования порты образуют петлю в коммутируемой сети, то, до тех пор пока не настроено агрегирование каналов, соответствующие порты должны быть или выключены или не соединены физически;
  • Коммутаторы не поддерживают агрегирование каналов через промежуточные устройства, такие как хаб;
  • Порты, которые объединяются в агрегированный канал должны быть с одинаковыми:
    • типом среды передачи,
    • скоростью,
    • duplex,
    • режим flow control.

[править] Статическое агрегирование каналов без использования протоколов

Настройка статического транка:

sw(config)# trunk 21-25 trk1 trunk

После того как порты добавлены в транк, в настройках фигурирует имя транка (например, trk1). Например, если необходимо чтобы порты в транке передавали тегированный трафик, то добавлять в соответствующие VLAN надо транк.

Удалить порты из транка:

sw(config)# no trunk 21-25

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

Однако коммутатор работает с данными полученными через порты, как-будто они получены из транка, независимо от того настроен ли транк с другой стороны.

[править] Статическое агрегирование каналов с помощью LACP

Статическое агрегирование каналов с помощью LACP стоит использовать в таких ситуациях:

  • когда устройство с другой стороны настроено для работы в режиме static LACP,
  • когда необходимо настроить IGMP или STP для агрегированного канала с настройками не по умолчанию,
  • когда необходимо чтобы агрегированный канал принадлежал не только VLAN 1, а GVRP должен быть отключен,
  • когда необходимо зеркалировать трафик с агрегированного канала.

Статический транк LACP будет установлен, если с другой стороны настроен транк:

  • Active LACP
  • Passive LACP
  • статический транк (trunk)

Настройка статического агрегированного канала с помощью LACP:

sw(config)# trunk 21-25 trk1 lacp

После того как порты добавлены в транк, в настройках фигурирует имя транка (например, trk1). Например, если необходимо чтобы порты в транке передавали тегированный трафик, то добавлять в соответствующие VLAN надо транк.

Этот вариант настройки транка очень мало отличается от статического транка. Доступны все преимущества, что и в статическом транке. Кроме того, LACP отслеживает состояние транка.

[править] Динамическое агрегирование каналов с помощью LACP

Динамическое агрегирование каналов с помощью LACP стоит использовать в таких ситуациях:

  • когда устройство с другой стороны настроено для работы в режиме active или passive LACP,
  • когда существует необходимость чтобы в агрегированном канале было максимальное количество портов (например, 8) постоянно. LACP позволяет некоторым портам работать в режиме standby и в случае, если один из портов в агрегированном канале выйдет из строя, поднимать standby порт вместо него.

Перевод портов в режим active для динамического агрегирования каналов:

sw(config)# interface 21-25 lacp active

Менять режим LACP для портов можно только, если порты не находятся с рабочем агрегированном канале.

Если порты находятся в рабочем агрегированном канале, то их необходимо сначала удалить оттуда, а потом поменять режим:

sw(config)# no int 21-25 lacp
sw(config)# int 21-25 lacp passive

Недостатки динамического транка:

  • динамический транк находится в VLAN 1. Для того чтобы добавить его в другие VLAN, необходимо настраивать GVRP.

[править] Балансировка нагрузки

Все методы агрегирования каналов в коммутаторах ProCurve используют одни и те же методы балансировки нагрузки.

[править] Балансировка нагрузки по MAC-адресам или IP-адресам

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

Если метод был изменен на балансировку по портам, то можно включить его:

sw(config)# trunk-load-balance L3-based

Балансировка выполняется для исходящего трафика на основании пары адресов отправителя/получателя (SA/DA). По значению хеш от SA/DA определяется через какой порт агрегированного канала передать данные.

Aggreg.png

Такой метод балансировки не всегда дает хорошие результаты.

Например, если есть два коммутатора, которые соединены между собой транком из 4 портов, и к каждому из коммутаторов будет подключен только один компьютер, то балансировки не будет. Потому что каждый коммутатор выберет для данной пары адресов один порт для передачи данных. И использоваться будет один порт.

Каждый коммутатор независимо от других решает по какому порту передавать данные. То есть, в приведенном примере, есть вероятность, что коммутаторы выберут разные порты. И трафик идущий от A к B будет идти, например, по первому порту, а трафик от B к A по 3му.

Чем больше хостов с разных сторон транка, тем лучше будет балансировка. То есть, трафик будет распределяться равномернее между портами транка.

Выбор метода балансировки:

  1. Для IP-пакетов в которых нет информации о портах, использовать балансировку по IP-адресам;
  2. Для остальных пакетов, использовать балансировку по MAC-адресам.

[править] Балансировка нагрузки по портам

Изменение метода балансировки на балансировку по портам применит его ко всем транкам на коммутаторе.

Балансировка нагрузки с учетом портов работает только для не фрагментированного трафика. Для фрагментированного будет использоваться балансировка по MAC-адресам.

Порядок выбора метода балансировки:

  1. Для IP-пакетов в которых есть информация о портах, использовать балансировку по портам;
  2. Для IP-пакетов в которых нет информации о портах, использовать балансировку по IP-адресам;
  3. Для остальных пакетов, использовать балансировку по MAC-адресам.

Включение балансировки по портам:

sw(config)# trunk-load-balance L4-based

[править] Тестирование балансировки

Тестирование балансировки (команда появилась в версии K.15.06):

sw# show trunks load-balance interface trk2 mac 00a345-b637a1 00a365-b627a5 inbound-port a23
Traffic in this flow will be forwarded out port 7 based on the configured L2 load balancing.

Порт не может быть определен если:

  • все порты в транке в состоянии down,
  • задан MAC-адрес состоящий из всех 0,
  • MAC-адрес отправителя широковещательный или мультикаст

[править] Просмотр информации об агрегированных каналах

Проверить работу транков LACP (статических и динамических):

sw# sh lacp
sw# sh lacp local
sw# sh lacp peer
sw# sh lacp counters

Проверить работу транков (статических без протокола и статических LACP):

sw# sh trunks

[править] Взаимодействие с другими функциями

[править] Spanning-Tree

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

[править] VLAN

Note-icon.gif

После того как порты добавлены в транк они все в default vlan'е. Надо добавить trunk group в нужный vlan

sw# show vlans 1
sw# show vlans 12

Добавить trunk group в нужный vlan:

sw(config)# vlan 10 tagged trk1

GVRP

[править] Port Security

На физических портах, которые объединены в транк или на логическом порту, нельзя настроить port security.

[править] Распределенное агрегирование (Distributed Trunking)

В коммутаторах HP серий 5400, 3500, 8200, поддерживается распределенное агрегирование портов. Распределенное агрегирование позволяет объединять порты, которые находятся на разных коммутаторах. С помощью сообщений проприетарного протокола, пара коммутаторов согласовывает настройки и для остальных устройств распределенный транк выглядит как транк с одним коммутатором.

На каждом из пары коммутаторов, между которыми настраивается распределенный транк должны быть настроены два специальных интерфейса:

  • ISC-интерфейс (InterSwitch-Connect) — через этот интерфейс коммутаторы обмениваются информацией для того чтобы пара коммутаторов для других устройств выглядела как один коммутатор. Это может быть один физический интерфейс или транк.
  • Keepalive-интерфейс — интерфейс 3го уровня, который используется для передачи сообщений keepalive при падении ISC-интерфейса, для того чтобы определить вышел из строя ISC-интерфейс или весь коммутатор.

Ограничения распределенного агрегирования:

  • распределенный транк можно настроить только между двумя коммутаторами
  • на каждом из коммутаторов в одном распределенном транке может быть не более 4 портов
  • распределенный транк может быть настроен только как статический транк: LACP или без протокола.

Для того чтобы распределенный транк работал корректно, должны быть согласованы такие настройки коммутаторов:

  • У коммутаторов должны быть одинаковые версии ОС
  • ISC-интерфейс должен быть настроен на обоих коммутаторах с одинаковыми VLAN
  • Все интерфейсы, которые объединяются в распределенный транк должны быть настроены с одинаковыми VLAN
  • Имя транка и тип транка должны быть одинаковыми
  • Настройки DHCP snooping на коммутаторах должны быть одинаковыми. ISC-интерфейс должен быть доверенным на обоих коммутаторах. Время должно быть синхронизировано
  • Настройки IGMP snooping должны быть одинаковыми
  • Настройки loop protection должны быть одинаковыми

[править] Правила работы

Distr trunk term.png

Терминология:

  • DT-коммутаторы (distributed trunking switch) -- коммутаторы участвующие в организации распределенного транка.
  • DT-интерфейсы -- интерфейсы, которые принадлежат распределенному транку
  • DTD (distributed trunking device) -- устройства, которые подключаются к распределенному транку (коммутаторы, сервера)

DT-коммутаторы выбирают между собой основное устройство и вторичное. Тот коммутатор у которого меньше системный MAC-адрес становится основным устройством. Эти роли определяются для того, чтобы определить какое устройство будет передавать трафик, если ISC-интерфейс отключен.

Если ISC-интерфейс падает, каждый коммутатор запускает таймер hold. В это время не передаются сообщения keepalive. Когда таймер заканчивается, оба коммутатора начинают обмениваться keepalive-сообщениями. Если в течении интервала timeout сообщения keepalive не пришли, коммутатор считает, что сосед не работоспособен и передает трафик самостоятельно.

Если после падения ISC-интерфейса, на вторичный коммутатор пришли сообщения keepalive от основного, то вторичный коммутатор отключает все DT-интерфейсы. Основной коммутатор всегда передает трафик, независимо от того получил он keepalive-сообщения от вторичного или нет.

При восстановлении ISC-интерфейса, коммутаторы восстанавливают нормальный режим работы.

[править] ISC-интерфейс

ISC-интерфейс (InterSwitch-Connect) — интерфейс через который коммутаторы обмениваются информацией для того чтобы пара коммутаторов для других устройств выглядела как один коммутатор. Через ISC-интерфейс могут передаваться обычные данные сети.

ISC-интерфейсом можно назначить:

  • физический интерфейс
  • статический транк
  • статический LACP-транк

Настройка ISC-интерфейса:

switch(conf)# switch-interconnect <port|trk>

[править] Keepalive-интерфейс

Keepalive-интерфейс — интерфейс 3го уровня, который используется для передачи сообщений keepalive при падении ISC-интерфейса, для того чтобы определить вышел из строя ISC-интерфейс или весь коммутатор. Если ISC-интерфейс работает нормально, то сообщения keepalive не передаются.

Правила настройки keepalive-интерфейса:

  • На VLAN, который используется как keepalive-интерфейс, должен быть назначен IP-адрес. Этот адрес должен быть настроен как получатель сообщений keepalive на соседнем коммутаторе
  • В выбранном VLAN передаются только сообщения keepalive. Данные или информация для синхронизации коммутаторов, не передаются.
  • На keepalive-интерфейсе не работает STP
  • В VLAN для keepalive может быть только один порт
  • Порт не может принадлежать VLAN для keepalive и обычному VLAN
  • DEFAULT VLAN не может быть VLAN для keepalive

Настройка keepalive-сообщений:

switch(conf)# distributed-trunking [hold-timer <3-10>] 
[peer-keepalive <destination <ip-address>> | 
vlan <vid>> [interval <400-10000>] [timeout <3-20>] [udp-port <1024-49151>]]

Параметры команды distributed-trunking для настройки сообщений keepalive:

  • hold-timer <3-10> — время ожидания после падения ISC-интерфейса. От 3 до 10 секунд. По умолчанию 3 секунды
  • peer-keepalive:
    • destination — IP-адрес, который используется коммутатором для отправки keepalive-сообщений
    • vlan <vid> — номер VLAN, который будет использоваться только для приема и отправки keepalive
    • interval <400-10000> — интервал между сообщениями keepalive в миллисекундах. По умолчанию 1000 миллисекунд
    • timeout <3-20> — таймаут для сообщений keepalive. По умолчанию 5 секунд
    • udp-port <1024-49151> — UDP-порт, который используется для отправки сообщений keepalive

[править] Передача трафика через распределенный транк

В распределенном транке STP отключен:

  • на DT-интерфейсах
  • на keepalive-интерфейсах

Unicast на известные адреса получателя может передаваться по всем портам без ограничений. Передача конкретного фрейма зависит от того на какой порт попал фрейм при балансировке нагрузки и где находится хост (через какой порт коммутатор выучил его MAC-адрес).

На схеме изображена передача unicast фреймов:

  • От хоста D к хосту A:
    • sw3 использовал свой метод балансировки нагрузки для того чтобы определить через какой порт передать фрейм
    • В данном примере фрейм попал на порт, который ведет на коммутатор SW2
    • SW2 передал фрейм через ISC-интерфейс коммутатору SW1
    • SW1 передал фрейм хосту A
  • От хоста C к хосту A
  • От хоста D к хосту E

DT forw.png

При передаче multicast, broadcast или unknown unicast действуют такие правила:

  • если фрейм был получен из распределенного транка, то он передается на все интерфейсы, в том числе и на ISC, кроме того, из которого был получен
  • если фрейм был получен из ISC-интерфейса, то он не передается в интерфейсы распределенного транка. Фрейм передается только на порты не участвующие в распределенном транке
    • Исключение: если распределенный транк на соседнем устройстве отключен. Тогда фрейм полученный из ISC-интерфейса передается в соответствующий транк

[править] Настройка распределенного агрегирования

Distr trunk.png

Настройка будет выполняться на примере сети изображенной на схеме. Конфигурации коммутаторов выложены в конце этого раздела.

Перед настройкой лучше отключить интерфейсы, которые будут объединены в транк.

Настройки коммутаторов HP1 и HP2 выполняются одинаково, отличия только в номерах портов и адресах.

Настройка ISC-интерфейса:

HP1(conf)# switch-interconnect a9

Настройка статического распределенного транка LACP:

HP1(conf)# trunk a1-a4 trk10 dt-lacp

Подготовка VLAN для настройки keepalive:

HP1(conf)# vlan 100 untagged A10 
HP1(conf)# vlan 100 ip address 10.0.100.1/24 

Настройка интерфейса для keepalive:

HP1(conf)# distributed-trunking peer-keepalive vlan 100
HP1(conf)# distributed-trunking peer-keepalive destination 10.0.100.2

На коммутаторе sw3400 настраивается статический транк LACP:

sw3400(conf)# trunk 1-8 trk10 lacp

На коммутаторе sw3400 транк выглядит как одно целое:

sw3400# show lacp

   PORT   LACP      TRUNK     PORT      LACP      LACP
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS
   ----   -------   -------   -------   -------   -------
   1      Active    Trk10     Up        Yes       Success
   2      Active    Trk10     Up        Yes       Success
   3      Active    Trk10     Up        Yes       Success
   4      Active    Trk10     Up        Yes       Success
   5      Active    Trk10     Up        Yes       Success
   6      Active    Trk10     Up        Yes       Success
   7      Active    Trk10     Up        Yes       Success
   8      Active    Trk10     Up        Yes       Success
   9      Passive   9         Down      No        Success
   10     Passive   10        Down      No        Success
   11     Passive   11        Up        No        Success
   12     Passive   12        Down      No        Success
   13     Passive   13        Down      No        Success
.....

[править] Просмотр информации

Просмотр информации о LACP транках:

HP2(config)# show lacp

                                   LACP

          LACP      Trunk     Port                LACP      Admin   Oper
   Port   Enabled   Group     Status    Partner   Status    Key     Key
   ----   -------   -------   -------   -------   -------   ------  ------
   A5     Active    Trk10     Up        Yes       Success   0        299
   A6     Active    Trk10     Up        Yes       Success   0        299
   A7     Active    Trk10     Up        Yes       Success   0        299
   A8     Active    Trk10     Up        Yes       Success   0        299

Информация о распределенном транке на коммутаторе HP1:

HP1# show lacp distributed

                             Distributed LACP

Local Port Status:

       LACP    Trunk   Port            LACP    Admin  Oper
  Port Enabled Group   Status  Partner Status  Key    Key
  ---- ------- ------- ------- ------- ------- ------ ------
  A1   Active  Trk10   Up      Yes     Success 0      0
  A2   Active  Trk10   Up      Yes     Success 0      0
  A3   Active  Trk10   Up      Yes     Success 0      0
  A4   Active  Trk10   Up      Yes     Success 0      0

Remote Port Status:

          LACP      Trunk     Port                LACP      Oper
   Port   Enabled   Group     Status    Partner   Status    Key
   ----   -------   -------   -------   -------   -------   ------
   A5     Active    Trk10     Up        Yes       Success   61
   A6     Active    Trk10     Up        Yes       Success   61
   A7     Active    Trk10     Up        Yes       Success   61
   A8     Active    Trk10     Up        Yes       Success   61

Информация о распределенном транке на коммутаторе HP2:

HP2(config)# show lacp distributed

                             Distributed LACP

Local Port Status:

       LACP    Trunk   Port            LACP    Admin  Oper
  Port Enabled Group   Status  Partner Status  Key    Key
  ---- ------- ------- ------- ------- ------- ------ ------
  A5   Active  Trk10   Up      Yes     Success 0      0
  A6   Active  Trk10   Up      Yes     Success 0      0
  A7   Active  Trk10   Up      Yes     Success 0      0
  A8   Active  Trk10   Up      Yes     Success 0      0

Remote Port Status:

          LACP      Trunk     Port                LACP      Oper
   Port   Enabled   Group     Status    Partner   Status    Key
   ----   -------   -------   -------   -------   -------   ------
   A1     Active    Trk10     Up        Yes       Success   61
   A2     Active    Trk10     Up        Yes       Success   61
   A3     Active    Trk10     Up        Yes       Success   61
   A4     Active    Trk10     Up        Yes       Success   61

Информация

HP2(config)# show lacp local

LACP Local Information.


System ID: 0017a4-814b00


              LACP                 Tx     Rx Timer
  Port Trunk  Mode     Aggregated  Timer  Expired
  ---- ------ -------- ----------- ------ --------
  A5   Trk10  Active   Yes         Slow   No
  A6   Trk10  Active   Yes         Slow   No
  A7   Trk10  Active   Yes         Slow   No
  A8   Trk10  Active   Yes         Slow   No
HP2(config)# show lacp peer

LACP Peer Information.


System ID: 0017a4-814b00


  Local  Local                       Port      Oper    LACP     Tx
  Port   Trunk  System ID      Port  Priority  Key     Mode     Timer
  ------ ------ -------------- ----- --------- ------- -------- -----
  A5     Trk10  001560-ea4e00  5     0         61      Active   Slow
  A6     Trk10  001560-ea4e00  6     0         61      Active   Slow
  A7     Trk10  001560-ea4e00  7     0         61      Active   Slow
  A8     Trk10  001560-ea4e00  8     0         61      Active   Slow

Информация об ISC-интерфейсе,

HP1(config)# show switch-interconnect
Port         : A9
Status       : Up
Active VLANs : 1,10,2100

Информация о keepalive:

HP2(config)# show distributed-trunking peer-keepalive

 Distributed Trunking peer-keepalive parameters

  Destination   : 10.0.100.1

  VLAN          : 100
  UDP Port      : 1024
  Interval(ms)  : 1000
  Timeout(sec)  : 5

Статистика по keepalive:

HP2(config)# show distributed-trunking statistics peer-keepalive
DT peer-keepalive Status : Up

 DT peer-keepalive Statistics

 ---------------------------------

  Tx Count : 31
  Rx Count   : 10

Статистика по ISC-интерфейсу:

HP2(config)# show distributed-trunking statistics switch-interconnect
Switch Interconnect Port     : 9
Switch Interconnect Status   : Up

 Switch Interconnect Statistics

 ---------------------------------

  Protocol Packets Sent       : 411
  Protocol Packets Received   : 285
  MAC Learns Sent             : 7
  MAC Learns Received         : 7
  MAC Age-Outs Sent           : 11
  MAC Age-Outs Received       : 10

[править] Команды отладки (debug)

HP2(config)# debug distributed-trunking
 events                Display DT event debug messages
 iscp                  Display DT ISC protocol debug messages
 keepalive             Display DT-KeepAlive debug messages.

[править] Проверка согласованности настроек

HP2(config)# show distributed-trunking consistency-parameters global
                              Local          Peer
                              -----          ----

Image Version                 K.15.06.0006    K.15.06.0006
IP Routing                    Disabled        Disabled
Peer-keepalive interval       1000            1000

IGMP enabled VLANs on Local          :
IGMP enabled VLANs on Peer           :

DHCP-snooping enabled VLANs on Local :
DHCP-snooping enabled VLANs on Peer  :

Loop-protect enabled VLANs on Local  :
Loop-protect enabled VLANs on Peer   :
HP2(config)# show distributed-trunking consistency-parameters trunk trk10

Allowed VLANs on Local : 1
Allowed VLANs on Peer  : 1

Name            Local Value     Peer Value
----            -----------     ----------
Loop Protect    Disabled        Disabled

[править] Распределенное агрегирование и маршрутизация

Note-icon.gif

Начиная с ОС версии 15.05 поддерживается одновременная работа распределенного агрегирования и маршрутизации. Поддерживаются такие функции и протоколы: статические IPv4 маршруты, RIP, OSPF, IGMP snooping, DHCP snooping, VRRP.

[править] Пример настройки

Конфигурация коммутатора HP1:

; J8697A Configuration Editor; Created on release #K.15.06.0006
; Ver #01:0d:0c
hostname "HP1" 

switch-interconnect A9 
trunk A1-A4 Trk10 dt-lacp 
interface Trk10 
   unknown-vlans Disable 
exit
vlan 1 
   name "DEFAULT_VLAN" 
   untagged A5-A9,A11-A24,B1-B24,Trk10 
   ip address dhcp-bootp 
   no untagged A10 
   exit 
vlan 100 
   name "VLAN100" 
   untagged A10 
   ip address 10.0.100.1 255.255.255.0 
   exit 

distributed-trunking peer-keepalive vlan 100
distributed-trunking peer-keepalive destination 10.0.100.2

Конфигурация коммутатора HP2:

; J8697A Configuration Editor; Created on release #K.15.06.0006
; Ver #01:0d:0c
hostname "HP2"

switch-interconnect A9 
trunk A5-A8 Trk10 dt-lacp 
interface Trk10 
   unknown-vlans Disable 
exit
vlan 1 
   name "DEFAULT_VLAN" 
   untagged A1-A4,A9,A11-A24,Trk10 
   ip address 192.168.100.2 255.255.255.0 
   no untagged A10
   exit 
vlan 100 
   name "VLAN100" 
   untagged A10 
   ip address 10.0.100.2 255.255.255.0 
   exit 

distributed-trunking peer-keepalive vlan 100
distributed-trunking peer-keepalive destination 10.0.100.1

Конфигурация коммутатора 3400:

; J4906A Configuration Editor; Created on release #M.10.68

hostname "sw3400" 
!
trunk 1-8 Trk10 LACP
!
vlan 1 
   name "DEFAULT_VLAN" 
   untagged 9-48,Trk10 
   ip address 192.168.100.7 255.255.255.0 
   exit 
spanning-tree Trk10 priority 4

[править] Агрегирование каналов в ExtremeXOS

Основная страница: Link Aggregation в ExtremeXOS

[править] Агрегирование каналов в UNIX/Linux-системах

[править] Агрегирование каналов в Linux

Основная страница: Linux_Bonding

Дополнительная информация:

Статья "На пути повышения надёжности и скорости: Linux bonding"

[править] Агрегирование каналов в FreeBSD

Основная страница: FreeBSD_Port_Trunking

В FreeBSD агрегирование каналов обеспечивается специальным модулем ядра, который называется lagg (Link Aggregation and Failover).

Модуль поддерживает несколько режимов агрегирования:

  • Failover -- работает один канал, если он упал, тогда второй;
  • Cisco FastEtherchannel;
  • LACP;
  • Round Robin.

Пример настройки канала в режиме LACP.

На FreeBSD (одна сторона):

# ifconfig lagg0 create 
# ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1

На Cisco (другая сторона):

interface FastEthernet0/1
 channel-group 1 mode active
 channel-protocol lacp
!
interface FastEthernet0/2
 channel-group 1 mode active
 channel-protocol lacp

Подробнее:

[править] Агрегирование каналов в NetBSD

Основная страница: NetBSD_Port_Trunking

В ядро NetBSD входит драйвер agr, который обеспечивает поддержку протокола LACP (802.3ad).

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

pseudo-device         agr

После этого нужно настроить агрегированный интерфейс. Это можно сделать обычным способом, который используется для всех остальных сетевых интерфейсов. Пример конфигурационного файла /etc/ifconfig.agr0:

create
agrport sip0
agrport sip1
inet 10.0.0.50 netmask 0xffffff00

Подробнее:

[править] Агрегирование каналов в OpenBSD

Основная страница: OpenBSD_Port_Trunking
# ifconfig rl0 up
# ifconfig rl1 up
# ifconfig trunk0 trunkport rl0 up
# ifconfig trunk0 trunkport rl1 up
# ifconfig trunk0 trunkproto roundrobin 10.14.15.27 netmask 255.255.255.0 up

Для того чтобы результаты сохранялись после перезагрузки:

# echo "up" > /etc/hostname.rl0
# echo "up" > /etc/hostname.rl1
# echo "trunkproto roundrobin trunkport rl0 trunkport rl1 10.14.15.27 netmask 255.255.255.0" > /etc/hostname.trunk0
# shutdown -r +0

Конфигурация сетевых интерфейсов после этого:

# ifconfig -a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33208
        groups: lo
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:11:2f:34:7d:a5
        trunk: trunkdev trunk0
        media: Ethernet autoselect (100baseTX full-duplex)
        status: active
        inet6 fe80::211:2fff:fe34:7da5%rl0 prefixlen 64 scopeid 0x1
rl1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:11:2f:34:7d:a5
        trunk: trunkdev trunk0
        media: Ethernet autoselect (100baseTX full-duplex)
        status: active
        inet6 fe80::2c0:26ff:feac:5c63%rl1 prefixlen 64 scopeid 0x2
enc0: flags=0<> mtu 1536
trunk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:11:2f:34:7d:a5
        trunk: trunkproto roundrobin
                trunkport rl1 active
                trunkport rl0 master,active
        groups: trunk egress
        media: Ethernet autoselect
        status: active
        inet6 fe80::211:2fff:fe34:7da5%trunk0 prefixlen 64 scopeid 0x5
        inet 10.14.15.27 netmask 0xffffff00 broadcast 10.14.15.255

Подробнее:

[править] Агрегирование каналов в Mac OS X

Основная страница: Mac_OS_X_port_trunking

Mac OS X поддерживает агрегирование каналов с помощью протокола LACP.

Для того чтобы создать агрегированный канал в Mac OS X[1]:

  1. Подключиться к серверу с правами администратора.
  2. Открыть System Preferences.
  3. Открыть Network.
  4. Нажать на кнопку Gear и выбрать Manage Virtual Interfaces в всплывающем меню.
  5. Нажать на кнопку Add (+) и выбрать New Link Aggregate в всплывающем меню. (Замечание: опция видна, только если в системе есть более одного Ethernet-интерфейса).
  6. В поле Name нужно ввести имя агрегированного интерфейса.
  7. Выбрать порты, которые должны быть агрегированы, из списка.
  8. Нажать Create.
  9. Нажать Done.

По умолчанию система даёт агрегированным интерфейсам имя bond<num>, где число <num> указывает на то, какой по счёту агрегированный интерфейс этот интерфейс в системе. Нумерация начинается с нуля. Первый интерфейс будет называться bond0, второй — bond1 и так далее.

После этого в выводе ifconfig -a должен появиться новый интерфейс:

% ifconfig bond0
bond0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::2e0:edff:fe08:3ea6 prefixlen 64 scopeid 0xc
inet 10.0.0.12 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:e0:ed:08:3e:a6
media: autoselect (100baseTX <full-duplex>) status: active
supported media: autoselect
bond interfaces: en1 en2 en3 en4

[править] Агрегирование каналов в Solaris

Основная страница: Solaris_Port_Trunking

Просмотреть информацию об интерфейсах канального уровня:

# dladm show-link
vsw0            type: non-vlan  mtu: 1500       device: vsw0
e1000g0         type: non-vlan  mtu: 1500       device: e1000g0
e1000g1         type: non-vlan  mtu: 1500       device: e1000g1
e1000g2         type: non-vlan  mtu: 1500       device: e1000g2

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

# dladm show-linkprop
LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
vsw0         zone            --             --             --
e1000g0      zone            --             --             --
e1000g1      zone            --             --             --
e1000g2      zone            --             --             --

Создать агрегированный канал (в данном случае создать канал LACP):

# dladm create-aggr -l passive -d e1000g0 -d e1000g1 -d e1000g2 1
# ifconfig aggr1 plumb

Просмотреть свойства агрегированного канала:

# dladm show-aggr
key: 1 (0x0001) policy: L4      address: XX:XX:XX:XX:XX (auto)
device       address                 speed   duplex  link    state
e1000g0      XX:XX:XX:XX:XX    0     Mbps    half    unknown standby
e1000g1      <unknown>         0     Mbps    half    unknown standby
e1000g2      <unknown>         0     Mbps    half    unknown standby

Удалить один из интерфейсов из канала:

# dladm remove-aggr -d e1000g2 1

Удалить сам канал:

# dladm delete-aggr  1

Дополнительная информация:

[править] Агрегирование каналов в Windows

Основная страница: Windows_Port_Trunking

В Windows Server 2012 эта функция называется NIC Teaming и настраивается с помощью мастера настройки NIC Teaming либо с помощью PowerShell.

Например:

New-NetLbfoTeam –Name Team1 –TeamMembers NIC1,NIC2

Данная команда создает агрегированный интерфейс с именем Team1 из сетевых интерфейсов NIC1 и NIC2.

Или вот еще пример:

Set-NetLbfoTeam -Name Team1 –TeamingMode LACP

Данная команда изменяет режим работы агрегированного интерфейса Team1 на режим LACP.

Информация по командам PowerShell для NIC Teaming тут [1]

Больше информации о Microsoft NIC Teaming тут [2]

В Windows младше версии 2012 нет встроенной поддержки агрегирования каналов. Однако, есть программное обеспечение, которое позволяет объединять несколько сетевых адаптеров в один.

[править] Пример агрегирования для серверов HP

Агрегирование называется NIC teaming. Это понятие немного шире, чем обычное агрегирование, так как допускает также варианты в которых одна сетевая служит для другой резервом, а не используются обе. Кроме того, не все варианты используют подключение к одному коммутатору.

Два общих варианта:

  • Fault tolerance — режимы которые обеспечивают автоматическую избыточность. Если основная сетевая выйдет из строя, то вторая автоматически её заменит.
  • Load Balancing — режимы, которые обеспечивают балансировку нагрузки между сетевыми картами.

До настройки NIC teaming, необходимо проверить следующее:

  • установлены как минимум две сетевые карты
  • сетевые карты должны быть в одной и той же сети
  • сетевые карты должны быть настроены на получение адреса по DHCP, не должен быть указан DNS-сервер
  • режим дуплекса и скорость сетевых карт должна быть установлена в значения по умолчанию

Note-icon.gif

Утилита для агрегирования сетевых карт может работать нестабильно, если статические IP-адреса, подсети, адреса DNS были установлены до агрегирования.

[править] Типы NIC teaming

Типы NIC teaming:

  • Automatic (Recommended) — это не самостоятельный тип настройки. Этот тип выбирает между Transmit Load Balancing (TLB) или 802.3ad Dynamic:
    • Если все порты присоединены к коммутатору, который поддерживает IEEE 802.3ad LACP, и все порты установили связь с с коммутатором по LACP, тогда будет выбран режим 802.3ad Dynamic.
    • Если коммутатор не поддерживает LACP или если один из портов в team, не установил связь с коммутатором по LACP, то будет выбран режим TLB.
  • Network Fault Tolerance Only (NFT) — в режиме NFT от двух до восьми портов объединены вместе. Однако только один порт (primary port) используется для приема и передачи данных. Остальные порты находятся в режиме standby. Если основной порт выходит из строя, то другой порт заменяет его. Этот режим работает во всех остальных типах NIC teaming.
  • Network Fault Tolerance Only with Preference Order Network — аналогичен типу NFT. Единственное отличие заключается в том, что этот тип позволяет административно назначить порядок в котором порты будут становиться основными.
  • Switch-assisted Load Balancing with Fault Tolerance (SLB) — позволяет балансировать нагрузку для входящего и исходящего трафика. SLB работает только при условии, что коммутатор поддерживает какой-то вариант агрегирования портов (EtherChannel, MultiLink Trunking, статическое агрегирование без использования протоколов и др.). Этот вариант требует чтобы все сетевые интерфейсы сервера были подключены к одному коммутатору.
  • 802.3ad Dynamic with Fault Tolerance — идентичен типу SLB, но коммутатор должен поддерживать LACP. На портах коммутатора, к которым подключены сетевые интерфейсы сервера, должен быть включен LACP.
  • Transmit Load Balancing with Fault Tolerance (TLB) — позволяет серверу балансировать исходящий трафик. TLB не зависит от коммутатора и позволяет портам в team быть подключенными к разным коммутаторам в одной и той же сети. Входящий трафик не балансируется. Основной (primary) порт в team отвечает за получение входящего трафика. В случае выхода из строя основного порта, механизм NFT отвечает за то что будет выбран другой порт на эту роль.
  • Transmit Load Balancing with Fault Tolerance and Preference Order — аналогичен типу TLB. Единственное отличие заключается в том, что этот тип позволяет административно назначить порядок в котором порты будут становиться основными.

[править] Методы балансировки нагрузки

Методы балансировки нагрузки для исходящего трафика:

  • Automatic (Recommended) — метод балансировки, который сохраняет порядок фреймов. Этот метод балансирует нагрузку на основании самого высокого уровня информации во фрейме. Например, если в фрейме есть TCP-заголовок со значениями портов TCP, то фрейм будет балансироваться по TCP-сессии. Если в фрейме есть IP заголовок с IP-адресом, но нет TCP-заголовка, тогда фрейм балансируется по IP-адресу получателя. Если в фрейме нет IP заголовка, то он балансируется по MAC-адресу получателя. Этот метод эквивалентен типу TCP Connection.
  • TCP Connection — метод балансировки, который сохраняет порядок фреймов. Этот метод балансирует нагрузку на основании информации о TCP портах в заголовке TCP. Метод комбинирует TCP порты отправителя и получателя для идентификации TCP-сессии. Если в фрейме есть IP заголовок с IP-адресом, но нет TCP-заголовка, тогда фрейм балансируется по IP-адресу получателя. Если в фрейме нет IP заголовка, то он балансируется по MAC-адресу получателя. Алгоритм по которому выбирается какой интерфейс сервера использовать для конкретной сессии, аналогичен алгоритмам в методах балансировки по IP-адресу и MAC-адресу.
  • Destination IP Address — метод балансировки, который пытается сохранять порядок фреймов. Этот метод балансирует нагрузку на основании IP-адреса получателя. Последние три бита IP-адреса получателя используются для того чтобы определить какой интерфейс сервера использовать для передачи фрейма. IP-адрес получателя это адрес хоста, который получит фрейм. Если в фрейме нет IP заголовка, то он балансируется по MAC-адресу получателя.
  • Destination MAC Address — метод балансировки, который пытается сохранять порядок фреймов. Этот метод балансирует нагрузку на основании MAC-адреса получателя. MAC-адрес получателя это MAC-адрес следующего сетевого устройства, которое получит фрейм. Это может быть и конечный хост (если хост и сервер в одной сети) и промежуточное устройство, например, маршрутизатор, который используется для передачи фрейма получателю. Последние три бита MAC-адреса получателя используются для того чтобы определить какой интерфейс сервера использовать для передачи фрейма.
  • Round Robin (Packet order not guaranteed) — метод балансировки, который не сохраняет порядок фреймов. Этот метод балансирует нагрузку по фреймам. Каждый следующий исходящий фрейм передается через другой рабочий интерфейс сервера. Все порты в team используются как равнозначные.

Дополнительная информация:

[править] Дополнительная информация

Cisco:

Распределенное агрегирование:

[править] Примечания

  1. Mac OS X Server Advanced Server Administration, стр. 166