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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


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