16.7. Настройка Smart-Link
Назначение
Smart-Link - это технология быстрой защиты каналов. Она предназначена для сетей с двумя uplink-каналами, для обеспечения резервирования и быстрой миграции активных и резервных каналов.
Описание
Каждая Smart-Link-группа включает в себя пару L2-портов, где один интерфейс настроен на работу в качестве основного, а второй в качестве резервного. Данная функция представляет собой альтернативу STP. Пользователи могут отключить STP и при этом сохранить резервирование каналов.
Функция также поддерживает балансировку нагрузки - оба интерфейса одновременно пересылают трафик.
Перед конфигурацией Smart-Link необходимо выполнить следующие действия:
Создать необходимые виртуальные сети (VLAN)
Создать экземпляры MSTP
Запретить протокол Spanning-Tree на Smart-Link интерфейсах»
Ниже показано типичное применение Smart-Link.

Порты “eth-0-1” и “eth-0-2” коммутатора “Switch A” формируют Smart-Link группу. Один из портов является Master-портом, а второй – Slave-портом. Один из этих портов всегда находится в состоянии Active и может передавать пакеты, второй находится в состоянии Block.
Когда оба порта в Smart-Link группе находятся в состоянии Up, Master-порт передает пакеты по Master-каналу, Slave-порт остается блокированным.
Технология Smart-Link защищает виртуальные сети (VLAN), передающие пользовательские данные, с использование экземпляров MSTP, к которым Smart-Link привязывает защищаемые VLAN. С не привязанными к экземплярам MSTP виртуальными сетями, Smart-Link не работает.
Для работы Smart-Link использует специальные широковещательные Flush-пакеты, которые распространяются по специальной контрольной VLAN.
Если Master-канал Smart-Link группы выходит из строя, происходит переключение каналов. В этом случае для быстрой адаптации изменений необходимо обновить существующие ARP и MAC-записи вышестоящих коммутаторов, так как существующие записи больше не отражают актуальную топологию сети. Для этого активный порт Smart-Link группы отправляет Flush-пакеты, заставляющие вышестоящие устройства обновить свои ARP и MAC-записи. Приняв Flush-пакет, вышестоящий коммутатор передает его далее по uplink-каналу следующему коммутатору.
Для посылки Flush-пакетов порты Smart-Link группы используют контрольную VLAN посылки (send control VLAN), для приема Flush-пакетов порты вышестоящих коммутаторов используют контрольную VLAN приема (receive control VLAN).
При восстановлении Master-канала доступно два варианта поведения коммутатора:
Первоначальный Master-канал остается заблокированным (режим Recovery disabled)
Передача переключается на первоначальный Master-канал (режим Recovery enabled)
По умолчанию Smart-Link использует только Master-канал, Slave-канал не передает данные. Однако, можно настроить Smart-Link на балансировку нагрузки - трафик VLAN, привязанных к экземпляру MSTP балансировки нагрузки, пересылается через Slave-канал, трафик остальных VLAN передается через Master-канал.
Настройка
Ниже показана настройка коммутаторов в соответствии с представленной конфигурацией сети. Порты “eth-0-13” и “eth-0-17” коммутаторов “Switch1” и “Switch2” добавляются в Smart-Link группы. Коммутатор “Switch5” является вышестоящим коммутатором.

В случае отсутствия конкретных указаний, настройка выполняется на всех коммутаторах.
Шаг 1: Вход в режим “Global config”
Switch# configure terminal
Шаг 2: Создание VLAN
Switch(config)# vlan database
Switch(config-vlan)# vlan 2-20
Switch(config-vlan)# exit
Шаг 3: Установка MSTP режима “Spanning tree” и создание нескольких экземпляров MSTP
На коммутаторах “Switch1” и “Switch2”:
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 10 vlan 10
Switch(config-mst)# exit
Шаг 4: Настройка портов
Настройка на коммутаторах “Switch1” и “Switch2” портов в trunk с передачей трафика всех VLAN и запретом STP:
Switch(config)# interface eth-0-13
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
Switch(config)# interface eth-0-17
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
Настройка downlink-портов на коммутаторах “Switch3” и “Switch4” в trunk с передачей трафика всех VLAN:
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# exit
Настройка downlink-портов коммутаторов “Switch3” и “Switch4” на прием Flush-пакетов для очистки MAC/ARP таблиц:
Switch(config)# interface eth-0-13
Switch(config-if)# smart-link flush receive control-vlan 10 password simple test
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# smart-link flush receive control-vlan 10 password simple test
Switch(config-if)# exit
Настройка uplink-порта коммутатора “Switch3” в trunk с передачей трафика всех VLAN:
Switch(config)# interface eth-0-19
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# exit
Настройка uplink-порта коммутатора “Switch4” в екгтл с передачей трафика всех VLAN::
Switch(config)# interface eth-0-21
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# exit
Настройка downlink-портов коммутатора “Switch5” в trunk с передачей трафика всех VLAN и приемом Flush-пакетов для очистки MAC/ARP таблиц:
Switch(config)# interface eth-0-19
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# smart-link flush receive control-vlan 10 password simple test
Switch(config-if)# exit
Switch(config)# interface eth-0-21
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# smart-link flush receive control-vlan 10 password simple test
Switch(config-if)# exit
Шаг 5: Создание группы Smart-Link и установка атрибутов группы
Ниже показано создание группы Smart-Link на коммутаторах “Switch1” и “Switch2”, включая:
Настройку Master- и Slave-портов
Настройку защищаемых экземпляров MSTP, к которым привязаны VLAN
Настройку экземпляра MSTP для балансировки нагрузки. Трафик привязанной к нему VLAN будет передаваться по Slave-каналу
Разрешение восстановления передачи по Master-каналу, в случае его восстановления и таймаут восстановления
Настройку контрольной VLAN и включение Smart-Link группы
Switch(config)# smart-link group 1
Switch(config-smlk-group)# interface eth-0-13 master
Switch(config-smlk-group)# interface eth-0-17 slave
Switch(config-smlk-group)# protected mstp instance 1
Switch(config-smlk-group)# protected mstp instance 2
Switch(config-smlk-group)# protected mstp instance 3
Switch(config-smlk-group)# protected mstp instance 10
Switch(config-smlk-group)# load-balance instance 3
Switch(config-smlk-group)# restore time 40
Switch(config-smlk-group)# restore enable
Switch(config-smlk-group)# flush send control-vlan 10 password simple test
Switch(config-smlk-group)# group enable
Switch(config-smlk-group)# exit
Шаг 6: Отключение функции Smart-Link Relay на коммутаторе “Switch5”
Выключение на вышестоящем коммутаторе “Switch5” функции ретрансляции Flush-пакетов для предотвращения зацикливания Flush-пакетов:
Switch(config)# no smart-link relay enable
Шаг 7: Выход из режима “Global config”
Switch(config)# end
Шаг 8: Проверка
Вывод результатов на коммутаторе “Switch1”:
Switch1# show smart-link group 1
Smart-link group 1 information:
The smart-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
enabled 40 0 N/A
============================================================
Protected instance: 1 2 3
Load balance instance: 3
Flush sender , Control-vlan ID: 10 Password:test
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
MASTER eth-0-13 0 N/A 0 N/A
SLAVE eth-0-17 0 N/A 0 N/A
============================================================
Instance states in the member interfaces:
A - ACTIVE , B -BLOCK , D-The interface is link-down
Map-instance-ID MASTER(eth-0-13) SLAVE(eth-0-17)
1 A B
2 A B
3 B A
Вывод результатов на коммутаторе “Switch2”:
Switch# show smart-link group 1
Smart-link group 1 information:
The smart-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
enabled 40 0 N/A
============================================================
Protected instance: 1 2 3
Load balance instance: 3
Flush sender , Control-vlan ID: 10 Password:test
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
MASTER eth-0-13 0 N/A 0 N/A
SLAVE eth-0-17 0 N/A 0 N/A
============================================================
Instance states in the member interfaces:
A - ACTIVE , B -BLOCK , D-The interface is link-down
Map-instance-ID MASTER(eth-0-13) SLAVE(eth-0-17)
1 A B
2 A B
3 B A
Вывод результатов на коммутаторе “Switch3”:
Switch# show smart-link
Relay smart-link flush packet is enabled
Smart-link flush receiver interface:
eth-0-13 control-vlan:10 password:test
eth-0-17 control-vlan:10 password:test
Smart-link received flush packet number:0
Smart-link processed flush packet number:0
Smart link Group Number is 0.
Вывод результатов на коммутаторе “Switch4”:
Switch# show smart-link
Relay smart-link flush packet is enabled
Smart-link flush receiver interface:
eth-0-13 control-vlan:10 password:test
eth-0-17 control-vlan:10 password:test
Smart-link received flush packet number:0
Smart-link processed flush packet number:0
Smart link Group Number is 0.
Вывод результатов на коммутаторе “Switch5”:
Switch# show smart-link
Relay smart-link flush packet is disabled
Smart-link flush receiver interface:
eth-0-21 control-vlan:10 password: test
eth-0-19 control-vlan:10 password:test
Smart-link received flush packet number:0
Smart-link processed flush packet number:0
Smart link Group Number is 0.
В соответствии с выполненными настройками, Smart-Link выполняет балансировку нагрузки внутри Smart-Link группы. Для передачи трафика VLAN, привязанной к экземпляру MSTP балансировки нагрузки используется Slave-канал, который активен для данного экземпляра MSTP. Master-канал для этой VLAN будет резервным.