17.10 Настройка Multi-Link
17.10.1 Введение в функционал
Multi-Link — простая, но практичная технология быстрой защиты связи. Это решение, специально разработанное для multi-uplink сетей, которое обеспечивает резервирование и быструю миграцию между соединениями.
Эта функция схожа с Smart Link, но поддерживает до четырех подключений вместо двух.
17.10.2 Конфигурация

Рисунок 17-18: Типичная топология Multi-Link
На приведенном выше рисунке показано типичное применение Multi-Link. Switch1 настроен как группа Multi-Link. Switch2, Switch3, Switch4 и Switch5 настроены как приемники пакетов flush Multi-Link.
Перед настройкой группы Multi-Link необходимо выполнить несколько предварительных шагов:
- Настроить VLAN.
- Настроить экземпляр MSTP.
- Отключить Spanning-tree на интерфейсе.
- Подробнее о вышеуказанных конфигурациях см. в соответствующих разделах документации.
Если ID коммутатора не указан, следующие настройки должны быть выполнены на всех коммутаторах.
Шаг 1: Перейдите в режим конфигурации
Switch# configure terminal
Шаг 2: Перейдите в режим настройки VLAN и создайте VLAN
Switch(config)# vlan database
Switch(config-vlan)# vlan 2-10
Switch(config-vlan)# exit
Шаг 3: Установите режим spanning-tree и создайте экземпляр MSTP
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 1
Switch(config-mst)# instance 2 vlan 2
Switch(config-mst)# instance 3 vlan 3
Switch(config-mst)# instance 4 vlan 4-10
Switch(config-mst)# exit
Шаг 4: Перейдите в режим настройки интерфейса и задайте параметры интерфейса
Настройка интерфейса для Switch1:
Switch(config)# interface range eth-0-1 - 4
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Настройка интерфейсов для Switch1 ~ 5:
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# multi-link flush receive control-vlan 10 password simple test
Switch(config-if)# no shutdown
Switch(config-if)# exit
Шаг 5: Создайте группу Multi-Link и задайте ее параметры
Создание группы Multi-Link на Switch1:
Switch(config)# multi-link group 1
Switch(config-multilk-group)# interface eth-0-1 priority 1
Switch(config-multilk-group)# interface eth-0-2 priority 2
Switch(config-multilk-group)# interface eth-0-3 priority 3
Switch(config-multilk-group)# interface eth-0-4 priority 4
Switch(config-multilk-group)# protected mstp instance 1
Switch(config-multilk-group)# protected mstp instance 2
Switch(config-multilk-group)# protected mstp instance 3
Switch(config-multilk-group)# protected mstp instance 4
Switch(config-multilk-group)# load-balance instance 2 priority 2
Switch(config-multilk-group)# load-balance instance 3 priority 3
Switch(config-multilk-group)# load-balance instance 4 priority 4
Switch(config-multilk-group)# restore time 40
Switch(config-multilk-group)# restore enable
Switch(config-multilk-group)# flush send control-vlan 10 password simple test
Switch(config-multilk-group)# group enable
Switch(config-multilk-group)# exit
Шаг 6: Выйдите из режима конфигурации
Switch(config)# end
Шаг 7: Проверка
Вывод результата на Switch1:
Switch# show multi-link group 1
Multi-link group 1 information:
The multi-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
enabled 40 0 N/A
============================================================
Protected instance: 1 2 3 4
Load balance instance: 2(to P2) 3(to P3) 4(to P4)
Flush sender , Control-vlan ID: 10 Password:test
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
PRI1 eth-0-1 0 N/A 1 2016/09/05,07:13:24
PRI2 eth-0-2 0 N/A 1 2016/09/05,07:13:24
PRI3 eth-0-3 0 N/A 1 2016/09/05,07:13:24
PRI4 eth-0-4 0 N/A 1 2016/09/05,07:13:24
============================================================
Instance states in the member interfaces:
A - ACTIVE , B -BLOCK , D-The interface is link-down
Map-instance-ID P1(eth-0-1 ) P2(eth-0-2 ) P3(eth-0-3 ) P4(eth-0-4 )
1 A B B B
2 B A B B
3 B B A B
4 B B B A
Вывод результата на Switch2~5:
Switch# show multi-link
Relay multi-link flush packet is enabled
Multi-link flush receiver interface:
eth-0-13 control-vlan:10 password:test
Multi-link received flush packet number:0
Multi-link processed flush packet number:0
Multi-link tcn is disabled
Multi-link tcn query count :2
Multi-link tcn query interval :10
Multi-link Group Number is 0.
17.10.3 Примеры применения
Настройка Multi-Link Enhance
Расширенный метод увеличивает защиту Multi-Link. Если все интерфейсы группы Multi-Link отключены, можно включить другой интерфейс для отправки расширенных пакетов peer-устройству, чтобы один из интерфейсов изменил состояние с "блокирован" на "активен". Это позволяет избежать состояния изоляции коммутатора.
Когда две группы multi-link на разных коммутаторах резервируют друг друга, участники multi-link на одном из коммутаторов блокируются и не могут защищать трафик.
В данном примере:
- Основные коммутаторы A и B, а также коммутаторы доступа A и B формируют полносвязную топологию.
- На коммутаторе доступа A включен multi-link с приоритетом для связей a/b/c: 1/2/3.
- На коммутаторе доступа B включен multi-link с приоритетом для связей d/e: 1/2.
В нормальных условиях связи b/c/e блокируются, а связи a/d активны, как показано на рисунке:

Когда связи d/e выходят из строя, единственной выходящей связью для коммутатора доступа B становится связь c, которая соединяет коммутаторы доступа A и B.

Поскольку связь c блокируется, коммутатор доступа B оказывается в изолированном состоянии, как показано на рисунке.

Рисунок 17-19: Типичная топология Multi-link-enhance
На рисунке выше показано типичное приложение multi-link. Коммутаторы Switch1 и Switch2 настроены в группе multi-link. У Switch1 есть интерфейс, принимающий пакеты multi-link-enhance, а у Switch2 — интерфейс, отправляющий эти пакеты.
Для настройки группы multi-link требуется предварительная конфигурация:
- Должны быть настроены VLAN.
- Должна быть настроена MSTP-инстанция.
- Spanning-tree должно быть отключено на интерфейсе.
- Подробности по этим настройкам смотрите в соответствующей документации.
- Перед настройкой интерфейса multi-link-enhance необходимо настроить control VLAN и пароль для отправки flush-пакетов.
Если ID коммутатора не указан, следующие настройки должны быть выполнены на всех коммутаторах.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Вход в режим конфигурации VLAN и создание VLAN
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 30
Switch(config-vlan)# vlan 40
Switch(config-vlan)# exit
Шаг 3: Настройка режима спаннинг-дерева и создание MSTP-инстанции
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10
Switch(config-mst)# instance 1 vlan 30
Switch(config-mst)# instance 2 vlan 20
Switch(config-mst)# instance 2 vlan 40
Switch(config-mst)# exit
Шаг 4: Настройка атрибутов интерфейсов
Для Switch1:
Switch1(config)# interface range eth-0-9
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan all
Switch1(config-if)# spanning-tree port disable
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
Switch1(config)# interface range eth-0-13
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan all
Switch1(config-if)# spanning-tree port disable
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
Switch1(config)# interface range eth-0-17
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan all
Switch1(config-if)# spanning-tree port disable
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
Для Switch2:
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# multi-link flush receive control-vlan 30 password simple a
Switch(config-if)# exit
Для Switch3:
Switch(config)# interface eth-0-13
Switch(config-if)# multi-link flush receive control-vlan 30 password simple a
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# multi-link flush receive control-vlan 30 password simple b
Switch(config-if)# exit
Для Switch4:
Switch(config)# interface eth-0-13
Switch(config-if)# multi-link flush receive control-vlan 30 password simple b
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# multi-link flush receive control-vlan 30 password simple a
Switch(config-if)# exit
Шаг 5: Создание группы multi-link и настройка ее атрибутов
На Switch1:
Switch(config)# multi-link group 1
Switch(config-multilk-group)# interface eth-0-13 priority 1
Switch(config-multilk-group)# interface eth-0-17 priority 2
Switch(config-multilk-group)# interface eth-0-9 priority 3
Switch(config-multilk-group)# protected mstp instance 1
Switch(config-multilk-group)# protected mstp instance 2
Switch(config-multilk-group)# flush send control-vlan 30 password simple a
Switch(config-multilk-group)# multilink-enhance receive control-vlan 10 password b interface eth-0-9
Switch(config-multilk-group)# group enable
Switch(config-multilk-group)# end
На Switch2:
Switch(config)# multi-link group 1
Switch(config-multilk-group)# interface eth-0-13 priority 1
Switch(config-multilk-group)# interface eth-0-17 priority 2
Switch(config-multilk-group)# protected mstp instance 1
Switch(config-multilk-group)# protected mstp instance 2
Switch(config-multilk-group)# flush send control-vlan 10 password simple b
Switch(config-multilk-group)# multilink-enhance interface eth-0-9
Switch(config-multilk-group)# group enable
Switch(config-multilk-group)# exit
Шаг 6: Выход из режима конфигурации
Switch(config)# end
Шаг 7: Проверка
На Switch1:
Switch1# show multi-link group 1
Multi-link group 1 information:
The multi-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
disabled 60 0 N/A
============================================================
Protected instance: 1 2
Load balance instance:
Flush sender , Control-vlan ID: 30 Password: a
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
PRI1 eth-0-13 0 N/A 5 2017/05/15,07:50:11
PRI2 eth-0-17 0 N/A 0 N/A
PRI3 eth-0-9 1 2017/05/15,07:48:46 5 2017/05/15,07:50:11
PRI4 N/A 0 N/A 0 N/A
============================================================
Instance states in the member interfaces:
A-ACTIVE , B-BLOCK , A(E)-ENHANCE_ACTIVE D-The interface is link-down
Map-instance-ID P1(eth-0-13) P2(eth-0-17) P3(eth-0-9) P4(N/A)
1 A B B D
2 A B B D
Switch# show multi-link
Relay multi-link flush packet is enabled
Multi-link enhance receiver interface:
eth-0-9 control-vlan:10 password:b
Multi-link received flush packet number : 0
Multi-link processed flush packet number: 0
Multi-link received enhance packet number : 4
Multi-link processed enhance packet number: 4
Multi-link tcn is disabled
Multi-link tcn query count : 2
Multi-link tcn query interval : 10
Multi-link Group Number is 1.
Group-ID State Pri-1 Pri-2 Pri-3 Pri-4
1 enabled eth-0-13 eth-0-17 eth-0-9 N/A
На Switch2:
Switch# show multi-link group1
Multi-link group 1 information:
The multi-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
disabled 60 0 N/A
============================================================
Protected instance: 1 2
Load balance instance:
Flush sender , Control-vlan ID: 10 Password: b
Multilk enhance interface: eth-0-9, Control-vlan ID: 10 Password: b
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
PRI1 eth-0-13 1 2017/05/15,07:49:15 0 N/A
PRI2 eth-0-17 2 2017/05/15,07:50:03 3 2017/05/15,07:50:11
PRI3 N/A 0 N/A 0 N/A
PRI4 N/A 0 N/A 0 N/A
============================================================
ENHANCE INTERFACE:
Role Member DownCount Last-Down-Time EnhanceCount Last-SendEnhance-Ti
me
M-En eth-0-9 0 N/A 0 N/A
============================================================
Instance states in the member interfaces:
A-ACTIVE , B-BLOCK , A(E)-ENHANCE_ACTIVE D-The interface is link-down
Map-instance-ID P1(eth-0-13) P2(eth-0-17) P3(N/A) P4(N/A)
1 A B D D
2 A B D D
Switch# show multi-link
Relay multi-link flush packet is enabled
Multi-link received flush packet number : 0
Multi-link processed flush packet number: 0
Multi-link received enhance packet number : 0
Multi-link processed enhance packet number: 0
Multi-link tcn is disabled
Multi-link tcn query count : 2
Multi-link tcn query interval : 10
Multi-link Group Number is 1.
Group-ID State Pri-1 Pri-2 Pri-3 Pri-4
1 enabled eth-0-13 eth-0-17 N/A N/A