Протокол множественного связующего дерева (Multiple Spanning Tree, MST)

Протокол множественного связующего дерева (Multiple Spanning Tree, MST)

Routing & SwitchingКоммутация (Switching)

В данной статье будут рассмотрены особенности протокола множественного связующего дерева MST (Multiple Spanning Tree), его сравнение с другими версиями протокола STP. Также будут показаны базовые настройки протокола и показаны некоторые тонкости реализации.

По умолчанию коммутаторы Cisco Catalyst используют PVST+ или Rapid PVST+ (Per VLAN Spanning Tree). Это означает, что каждая VLAN сопоставляется с одним экземпляром связующего дерева. Когда на коммутаторе 20 сетей VLAN, это означает, что имеется 20 экземпляров связующего дерева.

Это проблема? Скоро узнаем… пока давайте посмотрим на пример:

Протокол множественного связующего дерева (Multiple Spanning Tree, MST)

 

 

Взгляните на эту топологию. Есть три коммутатора и множество сетей VLAN. Всего насчитывается 201 VLAN. Если запускаем PVST или Rapid PVST, это означает, что у нас есть 201 вычисление для каждой VLAN. Это требует процессорное время и много памяти.

Когда SW2 является корневым мостом для VLAN 100-200 и SW3 для VLAN 201-300, топологии spanning-tree будут выглядеть так:

cisco-mst-two-topologies

 

 

SW2 является корневым мостом для VLAN от 100 до VLAN 200. Это означает, что интерфейс fa0/17 на SW1 или интерфейс fa0/14 на SW3 будет заблокирован. Будет 100 вычислений связующего дерева (spanning tree), но все они выглядят одинаково для этих VLAN

То же самое относится и к VLAN 201-300. SW3 является корневым мостом для VLAN от 201 до 300. Интерфейс fa0/14 на SW1 или SW2 будет заблокирован для всех этих VLAN.

Два разных результата, но у меня все еще есть 201 различных экземпляров связующего дерева. Ну разве это не пустая трата ресурсов процессора и памяти?

MST (Multiple Spanning Tree), описанный в стандарте IEEE 802.1s, решит эту проблему. Вместо вычисления связующего дерева для каждой VLAN можно использовать экземпляры (instance) и сопоставлять VLANы с каждым экземпляром. Для сети выше можно сделать что-то вроде этого:

  • Экземпляр 1: VLAN 100 — 200
  • Экземпляр 2: VLAN 201 — 300

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

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

Протокол множественного связующего дерева (Multiple Spanning Tree, MST)

 

 

 

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

  • Имя конфигурации MST.
  • Номер версии конфигурации MST.
  • Экземпляр MST для таблицы сопоставления VLAN.

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

Имя конфигурации MST — это тот атрибут, который можно указать, чтобы использовать его для идентификации региона MST. Номер ревизии конфигурации MST также нужно задать самостоятельно, и идея этого номера заключается в том, что можно его менять, меняя конфигурацию.

В пределах региона MST будет один экземпляр связующего дерева, которое создаст свободную от петель топологию в регионе. При настройке MST всегда существует один экземпляр по умолчанию, используемый для вычисления топологии в регионе. Он называется IST (Internal Spanning Tree). По умолчанию Cisco будет использовать экземпляр 0 для запуска IST. На самом деле это rapid spanning tree, которое запущено в MST.

MST-Region-Instance-0

 

 

Я хочу создать экземпляр 1 для VLAN 100-200 и экземпляр 2 для VLAN 201-300. В зависимости от того, какой коммутатор станет корневым мостом для каждого экземпляра, будет разные порты будут заблокированы. Это будет выглядеть так:

Протокол множественного связующего дерева (Multiple Spanning Tree, MST)

 

 

Коммутатор вне области MST не видит, как выглядит область MST. Для этого коммутатора это похоже на общение с одним большим коммутатором или «черным ящиком»:

MST-Region-Outside

 

 

Давайте немного поиграемся с конфигурацией.

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

Я буду использовать следующую топологию:

Протокол множественного связующего дерева (Multiple Spanning Tree, MST)

 

 

Мы начнем с одного региона MST со следующими атрибутами:

 

  1. Имя конфигурации MST: «REGION-1»
  2. Номер версии конфигурации MST: 1
  3. Экземпляр MST для таблицы сопоставления VLAN:
    • Экземпляр 2: VLAN 10, 20 и 30.
    • Экземпляр 3: VLAN 40, 50 и 60.

Вот что мы будем делать в первую очередь:

SW1(config)#spanning-tree mode mst

 

SW2(config)#spanning-tree mode mst

 

SW3(config)#spanning-tree mode mst

 

Так включается MST на коммутаторах. Давайте посмотрим на экземпляр MST по умолчанию:

SW1#show spanning-tree mst configuration
Name []
Revision 0 Instances configured 1

Instance Vlans mapped
-------- ---------------------------------------------------------------------
0 1-4094
-------------------------------------------------------------------------------

 

SW2#show spanning-tree mst configuration
Name []
Revision 0 Instances configured 1

Instance Vlans mapped
-------- ---------------------------------------------------------------------
0 1-4094
-------------------------------------------------------------------------------

 

SW3#show spanning-tree mst configuration
Name []
Revision 0 Instances configured 1

Instance Vlans mapped
-------- ---------------------------------------------------------------------
0 1-4094
-------------------------------------------------------------------------------

 

 

Можно использовать команду show spanning-tree mst configuration, чтобы увидеть экземпляры MST. Никаких дополнительных экземпляров не было создано, поэтому доступен только экземпляр 0. Можно видеть, что все VLAN в настоящее время сопоставлены с экземпляром 0. Давайте посмотрим, что еще можно увидеть:

SW1#show spanning-tree mst

##### MST0 vlans mapped: 1-4094
Bridge address 0011.bb0b.3600 priority 32768 (32768 sysid 0)
Root address 000f.34ca.1000 priority 32768 (32768 sysid 0)
port Fa0/17 path cost 0
Regional Root address 000f.34ca.1000 priority 32768 (32768 sysid 0)
internal cost 200000 rem hops 19
Operational hello time 2 , forward delay 15, max age 20, txholdcount 6
Configured hello time 2 , forward delay 15, max age 20, max hops 20

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Desg FWD 200000 128.16 P2p
Fa0/17 Root FWD 200000 128.19 P2p

 

 

Можно также использовать команду show spanning-tree mst. Здесь будет видно отображение VLAN, а также информацию о корневом мосте. Прежде чем добавить дополнительные экземпляры, нужно добавить некоторые VLAN и настроить связи между коммутаторами в виде транков:

SW1(config)#interface fa0/14
SW1(config-if)#switchport trunk encapsulation dot1q
SW1(config-if)#switchport mode trunk
SW1(config)#interface fa0/17
SW1(config-if)#switchport trunk encapsulation dot1q
SW1(config-if)#switchport mode trunk

 

SW2(config)#interface fa0/14
SW2(config-if)#switchport trunk encapsulation dot1q
SW2(config-if)#switchport mode trunk
SW2(config)#interface fa0/16
SW2(config-if)#switchport trunk encapsulation dot1q
SW2(config-if)#switchport mode trunk

 

SW3(config)#interface fa0/14
SW3(config-if)#switchport trunk encapsulation dot1q
SW3(config-if)#switchport mode trunk
SW3(config)#interface fa0/16
SW3(config-if)#switchport trunk encapsulation dot1q
SW3(config-if)#switchport mode trunk

 

Теперь настроим VLAN:

SW1, SW2 & SW3:
(config)#vlan 10
(config-vlan)#vlan 20
(config-vlan)#vlan 30
(config-vlan)#vlan 40
(config-vlan)#vlan 50
(config-vlan)#vlan 60
(config-vlan)#exit

 

Теперь можно настроить MST и экземпляры:

SW1(config)#spanning-tree mst configuration
SW1(config-mst)#name Networklessons
SW1(config-mst)#revision 1
SW1(config-mst)#instance 2 vlan 10,20,30
SW1(config-mst)#instance 3 vlan 40,50,60
SW1(config-mst)#exit

 

SW2(config)#spanning-tree mst configuration
SW2(config-mst)#name Networklessons
SW2(config-mst)#revision 1
SW2(config-mst)#instance 2 vlan 10,20,30
SW2(config-mst)#instance 3 vlan 40,50,60
SW2(config-mst)#exit

 

SW3(config)#spanning-tree mst configuration
SW3(config-mst)#name Networklessons
SW3(config-mst)#revision 1
SW3(config-mst)#instance 2 vlan 10,20,30
SW3(config-mst)#instance 3 vlan 40,50,60
SW3(config-mst)#exit

 

Так настраивается MST. Сначала понадобится команда конфигурации spanning-tree mst, чтобы войти в конфигурацию MST. Устанавливаем имя, используя команду name. Не забудьте установить номер версии и сопоставить экземпляры с помощью команды instance. Давайте проверим работу:

SW1#show spanning-tree mst configuration
Name [Networklessons]
Revision 1 Instances configured 3

Instance Vlans mapped
-------- ---------------------------------------------------------------------
0 1-9,11-19,21-29,31-39,41-49,51-59,61-4094
2 10,20,30
3 40,50,60
-------------------------------------------------------------------------------

 

 

Используем команду show spanning-tree mst configuration, чтобы проверить конфигурацию. Можно видеть, что есть два экземпляра. VLANы сопоставляются с экземплярами 2 и 3. Все остальные VLAN все еще сопоставляются с экземпляром 0.

Пока что так хорошо, давайте немного поэкспериментируем с MST и изменим корневой мост:

Я хочу убедиться, что SW1 является корневым мостом в регионе. Нужно будет изменить приоритет для IST:

SW1(config)#spanning-tree mst 0 priority 4096

 

Вот как изменяется приоритет для экземпляра MST 0.

SW1#show spanning-tree mst

##### MST0 vlans mapped: 1-9,11-19,21-29,31-39,41-49,51-59,61-4094
Bridge address 0011.bb0b.3600 priority 4096 (4096 sysid 0)
Root this switch for the CIST

 

 

Здесь можно увидеть, что SW1 является корневым мостом для IST. В нем говорится о CIST, который обозначает Common and Internal Spanning Treee.

Давайте рассмотрим интерфейсы:

SW1#show spanning-tree mst 0 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Desg FWD 200000 128.16 P2p
Fa0/17 Desg FWD 200000 128.19 P2p

 

SW2#show spanning-tree mst 0 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Root FWD 200000 128.16 P2p
Fa0/16 Altn BLK 200000 128.18 P2p

 

SW3#show spanning-tree mst 0 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Root FWD 200000 128.14 P2p
Fa0/16 Desg FWD 200000 128.16 P2p

 

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

 

 

Теперь я хочу внести некоторые изменения в экземпляр 2, поэтому теперь SW2 будет корневым мостом:

SW2(config)#spanning-tree mst 2 priority 4096

 

Мы изменим приоритет на SW2 для экземпляра 2.

SW2#show spanning-tree mst 2

MST2 vlans mapped: 10,20,30
Bridge address 0019.569d.5700 priority 4098 (4096 sysid 2)
Root this switch for MST2

 

 

Эта команда доказывает, что SW2 является корневым мостом для экземпляра 2. Давайте проверим интерфейсы:

SW1#show spanning-tree mst 2 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Root FWD 200000 128.16 P2p
Fa0/17 Altn BLK 200000 128.19 P2p

 

SW2#show spanning-tree mst 2 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Desg FWD 200000 128.16 P2p
Fa0/16 Desg FWD 200000 128.18 P2p

 

SW3#show spanning-tree mst 2 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Desg FWD 200000 128.14 P2p
Fa0/16 Root FWD 200000 128.16 P2p

 

Вот как выглядит экземпляр 2. Давайте превратим код представленный выше в приятную картинку:

 

 

Вот причудливая картина экземпляра 2, которая показывает роли порта. Обратите внимание, что эта топология выглядит иначе, чем та, что для экземпляра 0.

И последнее, но не менее важное: теперь я сделаю некоторые изменения в экземпляре 3:

SW3(config)#spanning-tree mst 3 priority 4096

 

SW3 станет корневым мостом, например 3.

SW3#show spanning-tree mst 3

MST3 vlans mapped: 40,50,60
Bridge address 000f.34ca.1000 priority 4099 (4096 sysid 3)
Root this switch for MST3

 

 

SW3 теперь является корневым мостом экземпляра 3. Давайте посмотрим на интерфейсы:

SW1#show spanning-tree mst 3 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Desg FWD 200000 128.16 P2p
Fa0/17 Root FWD 200000 128.19 P2p

 

SW2#show spanning-tree mst 3 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Altn BLK 200000 128.16 P2p
Fa0/16 Root FWD 200000 128.18 P2p

 

SW3#show spanning-tree mst 3 | begin Interface
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/14 Desg FWD 200000 128.14 P2p
Fa0/16 Desg FWD 200000 128.16 P2p

 

Теперь мы можем сделать еще одну картину топологии:

 

 

Давайте сравним экземпляры 2 и 3 рядом друг с другом:

 

 

Слева вы видите экземпляр 2, а справа — экземпляр 3.

Изменяя экземпляр корневого моста, мы получаем разные топологии:

  • Экземпляр 2: fa0/17 на SW1 заблокирован для VLAN 10, 20 и 30.
  • Экземпляр 3: fa0/14 на SW2 заблокирован для VLAN 40, 50 и 60.

 

Что произойдёт, когда я добавлю другой коммутатор, который работает с PVST, в топологию? Давайте выясним!

SW4(config)#spanning-tree mode pvst

 

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

SW4(config)#interface fa0/16
SW4(config-if)#switchport trunk encapsulation dot1q
SW4(config-if)#switchport mode trunk
SW4(config)#interface fa0/19
SW4(config-if)#switchport trunk encapsulation dot1q
SW4(config-if)#switchport mode trunk

 

SW4(config)#vlan 10
SW4(config-vlan)#vlan 20
SW4(config-vlan)#vlan 30
SW4(config-vlan)#vlan 40
SW4(config-vlan)#vlan 50
SW4(config-vlan)#vlan 60
SW4(config-vlan)#exit

 

Я хочу убедиться, что у нас есть транк для SW2 и SW3, и что SW4 знает обо всех VLAN. Давайте посмотрим, что SW4 думает обо всем этом:

SW4#show spanning-tree vlan 1

VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 4096
Address 0011.bb0b.3600
Cost 19
Port 19 (FastEthernet0/19)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0009.7c36.2880
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/16 Altn BLK 19 128.16 P2p
Fa0/19 Root FWD 19 128.19 P2p

 

 

Это то, что SW4 видит в сети VLAN 1. Имейте в виду, что эта VLAN была сопоставлена ​​с экземпляром 0. Он видит SW1 в качестве корневого моста, и вы можете видеть, какой порт находится в режиме пересылки и блокировки.

SW4#show spanning-tree vlan 10

VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 4096
Address 0011.bb0b.3600
Cost 19
Port 19 (FastEthernet0/19)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 0009.7c36.2880
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/16 Altn BLK 19 128.16 P2p
Fa0/19 Root FWD 19 128.19 P2p

 

 

VLAN 10, сопоставляется с экземпляром 2. SW4 рассматривает SW1 как корневой мост для этой VLAN, хотя мы сконфигурировали SW2 как корневой мост для экземпляра 2. Это совершенно нормально, потому что MST будет рассылать BPDU из IST во внешний мир. Мы не увидим никакой информации из экземпляра 2 или экземпляра 3 на SW4.

SW4#show spanning-tree vlan 40

VLAN0040
Spanning tree enabled protocol ieee
Root ID Priority 4096
Address 0011.bb0b.3600
Cost 19
Port 19 (FastEthernet0/19)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32808 (priority 32768 sys-id-ext 40)
Address 0009.7c36.2880
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Fa0/16 Altn BLK 19 128.16 P2p
Fa0/19 Root FWD 19 128.19 P2p

 

 

VLAN 40 сопоставляется с экземпляром 3, но вы можете видеть, что SW4 видит SW1 в качестве корневого моста. SW4 получает тот же BPDU для всех сетей VLAN.

Надеюсь, эта статья была полезна для вас, и вы узнали много нового.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Routing & SwitchingКоммутация (Switching)

Больше похожих постов

Протоколы MST, PVST+ и их совместимость

Протоколы MST, PVST+ и их совместимость

71
0
Протоколы MST (Multiple Spanning Tree) и PVST+ (Per VLAN Spanning Tree) предназначены для вычисления в избыточной сети дерева кратчайших маршрутов без петель,…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню