Page tree
Skip to end of metadata
Go to start of metadata


1.1. Общие сведения о MSTP

Изначально для защиты сетей с кольцевыми топологиями использовались STP и его модификация RSTP, которые строили единое для всех VLAN покрывающее дерево. Это было просто с точки зрения эксплуатации, но не позволяло гибко управлять трафиком, разнося разные VLAN по разным физическим каналам. Проблема гибкости была решена в проприетарном PerVLAN Spanning Tree (PVST), который создавал отдельный процесс построения покрывающего дерева для каждого VLAN. Данный подход был довольно прост с точки зрения эксплуатации и очень гибок, но при большом количестве VLAN вызывал перегрузки CPU коммутатора. Так как трафик большинства VLAN использовал идентичные пути, смысла в разделении процессов STP для них не было, соответственно концепция протокола была доработана. Так появился Multiple Spanning Tree Protocol (MSTP), в котором создаются независимые экземпляры покрывающего дерева (MSTI - Multiple Spanning Tree Instance) для отдельных групп VLAN.

Соответствия VLAN-MSTI задаются администратором вручную. Формат MSTP BPDU аналогичен RSTP BPDU. Для снижения нагрузки на коммутаторы, все BPDU различных MSTI коммутатора объединяются в один BPDU.

1.1.1. Регионы MSTP

Новая концепция вызывала сложности в эксплуатации, так как было необходимо идентично конфигурировать соответствие VLAN-MSTI на всех коммутаторах. Для упрощения и поддержания обратной совместимости с STP и RSTP была разработана концепция регионов.
Регион MSTP может быть образован из нескольких смежных коммутаторов с одинаковыми MSID (MST Configuration Identification), состоящими из:

  • Имя региона MSTP;

  • Ревизия конфигурации;

  • Дайджест соответствий VLAN-MSTI.

MSID добавляется к MSTP BPDU так, что сохраняется совместимость с STP и RSTP. При этом MSTP BPDU, отправленные разными коммутаторами одного региона, воспринимаются смежными STP/RSTP-коммутаторами как RSTP BPDU одного коммутатора (Рисунок 29.1). Таким образом кольцевая топология на разных коммутаторах по-прежнему поддерживается и в регионе MSTP сохраняется гибкость управления трафиком.


Рисунок 29.1 - Регион MST в сети

MSTP внутри региона

Для каждого региона выбирается региональный корневой коммутатор, относительно которого строится внутреннее покрывающее дерево (IST - Internal Spanning Tree), объединяющее все коммутаторы региона. Региональный корневой коммутатор выбирается по наименьшему приоритету коммутатора, а при равных по минимальной стоимости пути до корневого коммутатора всей сети (либо региона, в котором находится корневой коммутатор). Если таких коммутаторов несколько, то среди них выбирается один с наименьшим ID.

MSTP между регионами

Для защиты топологий соединения различных регионов и отдельных коммутаторов строится общее покрывающее дерево (CST - Common Spanning Tree). В качестве корневой коммутатора в CST выбирается коммутатор с наименьшим приоритетом, а при равных с наименьшим ID. Каждый регион MSTP представляется для CST как отдельный виртуальный коммутатор.

CST совместно с IST всех регионов формируют полное покрывающее дерево сети (CIST - Common and Internal Spanning Tree).

1.1.2. Роли портов

В CIST порты имеют все те же роли, что есть в RSTP:

  • Root port

Порт с наименьшей стоимостью пути до корневого коммутатора

(регионального в MSTI).

  • Designated port

Порт , предоставляющий подключенной к нему сети самый дешевый путь до корневого коммутатора (регионального в MSTI).

  • Alternate port

Резерв Root port.

  • Backup port

Резерв Designated port.

Также в MSTI доступна новая роль - Master port - это порт с наименьшей стоимостью пути из региона до корневого коммутатора CIST.

1.1.3. Балансировка трафика в MSTP

Параметры коммутатора и его портов могут быть изменены для каждого MSTI в отдельности, таким образом трафик разных групп VLAN может быть отправлен по разным путям, распределяя нагрузку по всей сети.

1.2. Конфигурация MSTP

  1. Включить spanning-tree и выбрать режим;

  2. Сконфигурировать MSTI;

  3. Определить параметры региона MSTP;

  4. Определить таймеры MSTP;

  5. Включить механизмы ускорения сходимости;

  6. Выбрать формат MSTP BPDU;

  7. Определить параметры порта;

  8. Сконфигурировать аутентификацию;

  9. Определить метод перестроения spanning-tree.


  1. Включение spanning-tree и выбор режима

Команда

Описание

spanning-tree

no spanning-tree

!  В режиме глобальной конфигурации

Включение функции spanning-tree. Команда no отключает эту функцию.

spanning-tree mode {stp|rstp|mstp}

no spanning-tree mode

!  В режиме глобальной конфигурации

Выбор режима spanning-tree. Команда no устанавливает режим по-умолчанию.

spanning-tree mcheck

!  В режиме конфигурации порта

Отслеживание режима подключенной сети и переключение на STP при необходимости.


2. Конфигурация MSTI

Команда

Описание

spanning-tree priority <bridge-priority>

no spanning-tree priority

!  В режиме глобальной конфигурации

Установка приоритета spanning-tree коммутатора. Команда no устанавливает приоритет по-умолчанию.

spanning-tree mst <instance-id> priority <bridge-priority>

no spanning-tree mst <instance-id> priority

!  В режиме глобальной конфигурации

Установка приоритета коммутатора для указанного MSTI. Команда no устанавливает приоритет по-умолчанию.


spanning-tree mst <instance-id> cost <cost>

no spanning-tree mst <instance-id> cost

!  В режиме конфигурации порта

Установка стоимости пути через порт в указанном MSTI. Команда no устанавливает стоимость по-умолчанию.

spanning-tree mst <instance-id> port-priority <port-priority>

no spanning-tree mst <instance-id> port-priority

!  В режиме конфигурации порта

Установка приоритета порта spanning-tree в указанном MSTI. Команда no устанавливает приоритет по-умолчанию.

spanning-tree [mst <instance-id>] rootguard

no spanning-tree mst <instance-id> rootguard

!  В режиме конфигурации порта

Включение/выключения функционала rootguard для порта spanning-tree в указанном MSTI.

Порт с включенным rootguard не может стать root port.

spanning-tree [mst <instance-id>] loopguard

no spanning-tree [mst <instance-id>] loopguard

!  В режиме конфигурации порта

Включение/выключение функционала loopguard для порта spanning-tree в указанном MSTI.

Loopguard блокирует петли, возникающие при некорректной разблокировке порта spanning-tree (например, при отсутствии BPDU от подключенной к порту сети).


3. Определение параметров региона MSTP

Команда

Описание

spanning-tree mst configuration

no spanning-tree mst configuration

!  В режиме глобальной конфигурации

Переход в режим конфигурации MSTI.

Команда с приставкой no сбрасывает настройки всех MSTI.

show

!  В режиме конфигурации MSTI

Отображает информацию о текущей конфигурации MSTI.

instance <instance-id> vlan <vlan-list>

no instance <instance-id> [vlan <vlan-list>]

!  В режиме конфигурации MSTI

Установка соответствий VLAN-MSTI.

name <name>

no name

!  В режиме конфигурации MSTI

Установка имени региона MSTP.

revision-level <level>

no revision-level

!  В режиме конфигурации MSTI

Установка уровня ревизии для региона MSTP.

abort

!  В режиме конфигурации MSTI

Выход из режима конфигурации MSTI без сохранения примененной конфигурации.


4. Определение таймеров MSTP

Команда

Описание

spanning-tree forward-time <time>

no spanning-tree forward-time

!  В режиме глобальной конфигурации

Установка значения таймера Bridge_Forward_Delay для коммутатора.

Bridge_Forward_Delay - таймер перехода порта из статуса blocking в forwarding.

spanning-tree hello-time <time>

no spanning-tree hello-time

!  В режиме глобальной конфигурации

Установка значения таймера Bridge_Hello_Time для коммутатора.

Bridge_Hello_Time - таймер отправки spanning-tree BPDU.

spanning-tree maxage <time>

no spanning-tree maxage

!  В режиме глобальной конфигурации

Установка значения таймера Bridge_Max_Age для коммутатора.

Bridge_Max_Age - таймер времени жизни лучшего полученного spanning-tree BPDU.

spanning-tree max-hop <hop-count>

no spanning-tree max-hop

!  В режиме глобальной конфигурации

Установка значения счетчика Max_Hop, который определяет какое количество коммутаторов может пройти BPDU, до того как будет отброшен.


5. Включение механизма ускорения сходимости

Команда

Описание

spanning-tree link-type p2p {auto|force-true|force-false}




no spanning-tree link-type

!  В режиме конфигурации порта

Выбор механизма определения типа подключенной к порту сети.

auto - автоматическое определение типа соединения;

force-true - всегда point-to-point;

force-false - всегда shared.

spanning-tree portfast [bpdufilter| bpduguard] [recovery <30-3600>]


no spanning-tree portfast

!  В режиме конфигурации порта

Включение/выключение механизма portfast определяющего порт spanning-tree как граничный.

bpdufilter - отбрасывает поступающие на порт BPDU;

bpduguard - отключает порт при получении BPDU.


6. Выбор формата MSTP BPDU

Команда

Описание

spanning-tree format standard

spanning-tree format privacy

spanning-tree format auto


no spanning-tree format

!  В режиме конфигурации порта

Установка формата BPDU.

standard - стандарт IEEE;

privacy - CIsco-совместимый формат;

auto - автоматическое определение формата по поступающим BPDU.


7. Определение параметров порта

Команда

Описание

spanning-tree cost

no spanning-tree cost

!  В режиме конфигурации порта

Установка стоимости пути через порт spanning-tree.

spanning-tree port-priority

no spanning-tree port-priority

!  В режиме конфигурации порта

Установка приоритета порта spanning-tree в указанном MSTI.

spanning-tree rootguard

no spanning-tree rootguard

!  В режиме конфигурации порта

Включение/выключения функционала rootguard для порта spanning-tree.

Порт с включенным rootguard не может стать root port.

spanning-tree transmit-hold-count <tx-hold-count-value>

no spanning-tree transmit-hold-count

!  В режиме глобальной конфигурации

Установка количества BPDU отправляемых в течение интервала Bridge_Hello_Time.

spanning-tree cost-format {dot1d | dot1t}





!  В режиме глобальной конфигурации

Установка формата стоимости пути.

dot1d - значения в интервале

1-65535;

dot1t - значения в интервале

1-200000000.


8. Конфигурация аутентификации

Команда

Описание

spanning-tree digest-snooping

no spanning-tree digest-snooping

!  В режиме конфигурации порта

Включение/выключение аутентификации spanning-tree.


9. Определение метода перестроения spanning-tree

Команда

Описание

spanning-tree tcflush {enable| disable| protect}




no spanning-tree tcflush

!  В режиме глобальной конфигурации

Установка режима перестроения топологии spanning-tree.

disable - FDB не сбрасывается при перестроении топологии;

enable - FDB сбрасывается при перестроении топологии;

protect - FDB сбрасывается не чаще чем раз в 10 секунд при перестроении топологии.

spanning-tree tcflush {enable| disable| protect}

no spanning-tree tcflush

!  В режиме конфигурации порта

Установка режима перестроения топологии spanning-tree для порта.

1.3. Пример конфигурации MSTP



Рисунок 29.2 - Пример сети с кольцевой топологией


На всех коммутаторах в сети (Рисунок 29.2) включен spanning-tree в режиме MSTP. Все праметры spanning-tree установлены по умолчанию и равны.

По умолчанию MSTP формирует древовидную топологию, растущую из SW1, блокируя избыточные соединения. Порты с пометкой X переведены в состояние blocking, остальные в состоянии forwarding.

Ниже представлена конфигурация коммутаторов по умолчанию.

Имя коммутатора

SW1

SW2

SW3

SW4

MAC-адрес

коммутатора

…00-00-01

…00-00-02

…00-00-03

…00-00-04

Приоритет

коммутатора

32768

32768

32768

32768

Приоритет порта

1

128

128

128


2

128

128

128


3


128

128


4


128


128

5


128


128

6



128

128

7



128

128

Стоимость пути

1

200000

200000

200000


2

200000

200000

200000


3


200000

200000


4


200000


200000

5


200000


200000

6



200000

200000

7



200000

200000

Сконфигурируем сеть:

  • Сконфигурируем VLAN:

    • Создадим VLAN 20, 30, 40, 50 на коммутаторах SW2, SW3 и SW4;

    • Переведем порты 1-7 коммутаторов SW2, SW3 и SW4 в режим trunk.

  • Сконфигурируем MSTP:

    • Определим коммутаторы SW2, SW3 и SW4 в регион MSTP;

    • Установим соответствие VLAN 20 и 30 - MSTI 3;

    • Установим соответствие VLAN 40 и 50 - MSTI 4.

  • Распределим нагрузку, определив корневые коммутаторы для каждого MSTI:

    • Установим приоритет коммутатора SW3 равным 0 в MSTI 3;

    • Установим приоритет коммутатора SW4 равным 0 в MSTI 4;


Конфигурация:

SW2

SW2(config)#vlan 20
SW2(Config-Vlan20)#exit
SW2(config)#vlan 30
SW2(Config-Vlan30)#exit
SW2(config)#vlan 40
SW2(Config-Vlan40)#exit
SW2(config)#vlan 50
SW2(Config-Vlan50)#exit
SW2(config)#spanning-tree mst configuration
SW2(Config-Mstp-Region)#name sw2-sw3-sw4
SW2(Config-Mstp-Region)#instance 3 vlan 20;30
SW2(Config-Mstp-Region)#instance 4 vlan 40;50
SW2(Config-Mstp-Region)#exit
SW2(config)#interface e1/0/1-7
SW2(Config-Port-Range)#switchport mode trunk
SW2(Config-Port-Range)#exit
SW2(config)#spanning-tree

SW3

SW3(config)#vlan 20
SW3(Config-Vlan20)#exit
SW3(config)#vlan 30
SW3(Config-Vlan30)#exit
SW3(config)#vlan 40
SW3(Config-Vlan40)#exit
SW3(config)#vlan 50
SW3(Config-Vlan50)#exit
SW3(config)#spanning-tree mst configuration
SW3(Config-Mstp-Region)#name sw2-sw3-sw4
SW3(Config-Mstp-Region)#instance 3 vlan 20;30
SW3(Config-Mstp-Region)#instance 4 vlan 40;50
SW3(Config-Mstp-Region)#exit
SW3(config)#interface e1/0/1-7
SW3(Config-Port-Range)#switchport mode trunk
SW3(Config-Port-Range)#exit
SW3(config)#spanning-tree
SW3(config)#spanning-tree mst 3 priority 0

SW4

SW4(config)#vlan 20
SW4(Config-Vlan20)#exit
SW4(config)#vlan 30
SW4(Config-Vlan30)#exit
SW4(config)#vlan 40
SW4(Config-Vlan40)#exit
SW4(config)#vlan 50
SW4(Config-Vlan50)#exit
SW4(config)#spanning-tree mst configuration
SW4(Config-Mstp-Region)#name sw2-sw3-sw4
SW4(Config-Mstp-Region)#instance 3 vlan 20;30
SW4(Config-Mstp-Region)#instance 4 vlan 40;50
SW4(Config-Mstp-Region)#exit
SW4(config)#interface e1/0/1-7
SW4(Config-Port-Range)#switchport mode trunk
SW4(Config-Port-Range)#exit
SW4(config)#spanning-tree
SW4(config)#spanning-tree mst 4 priority 0

После применения описанной конфигурации коммутатор SW1 остается корневым для MST 0 всей сети. В регионе sw2-sw3-sw4 коммутатор SW2 становится региональным корневым для MSTI 0, SW3 - для MSTI 3, SW4 - для MSTI 4.
MSTP генерирует топологии для MSTI 0, MSTI 3, и MSTI 4. Порты с пометкой X переведены в состояние blocking, остальные в состоянии forwarding.

Рисунок 29.3 - Топология MSTI 0

Рисунок 29.4 - Топология MSTI 3

Рисунок 29.5 - Топология MSTI 4

1.4. Решение проблем при конфигурации MSTP

  • Для включения MSTP на порту, MSTP должен быть включен глобально.

  • Параметры MSTP взаимосвязаны и следует соблюдать следующие соответствия, иначе MSTP может работать некорректно:

2 x (Bridge_Forward_Delay - 1 sec) >= Bridge_Max_Age
Bridge_Max_Age >= 2 x (Bridge_Hello_Time + 1 sec)
  • Нужно всегда помнить, что изменение параметров MSTP может вызвать изменение топологии.

  • No labels