В данной статье будут рассмотрены особенности протокола множественного связующего дерева MST (Multiple Spanning Tree), его сравнение с другими версиями протокола STP. Также будут показаны базовые настройки протокола и показаны некоторые тонкости реализации.
Содержание:
Введение
В современных сетях второй уровень (Data Link Layer) играет ключевую роль, но вместе с этим возникает риск образования петель. Для их предотвращения используется протокол Spanning Tree (STP) и его различные реализации. По умолчанию коммутаторы Cisco Catalyst работают с PVST+ или Rapid PVST+, где для каждой VLAN создается отдельное дерево связей. Такой подход удобен для балансировки нагрузки, но может существенно увеличивать нагрузку на процессор коммутатора.
Чтобы решить эту проблему, был разработан протокол MST (Multiple Spanning Tree), который позволяет объединять несколько VLAN в одну или несколько логических инстанций (instance) spanning-tree.
Проблема PVST+ и Rapid PVST+
Каждая VLAN в PVST+ или Rapid PVST+ получает собственный процесс построения spanning-tree. Например:
- 20 VLAN = 20 отдельных экземпляров STP.
- 200 VLAN = 200 независимых расчетов.
В крупной сети это приводит к значительным затратам CPU и памяти.
Представим сеть из трех коммутаторов и 201 VLAN. Если один коммутатор назначен корневым для VLAN 100–200, а другой — для VLAN 201–300, то фактически будет выполняться 200 одинаковых расчетов дерева связей. Это избыточная нагрузка, которая не приносит пользы:
Решение: Multiple Spanning Tree (MST)
MST (Multiple Spanning Tree), описанный в стандарте IEEE 802.1s, позволяет назначать множество VLAN на несколько инстанций (instance) STP, вместо создания отдельного дерева для каждой VLAN.
Например, для приведенной выше сети:
- Инстанция 1: VLAN 100–200
- Инстанция 2: VLAN 201–300
Таким образом, выполняется только 2 расчета spanning-tree вместо 200. Это экономит ресурсы и упрощает управление.
Концепция MST-регионов
Работа MST основана на понятии региона (MST Region):
Чтобы коммутаторы могли объединяться в один MST-регион, их параметры конфигурации должны совпадать. Основными атрибутами являются:
- Имя конфигурации MST (MST configuration name) — это текстовое имя региона. Его можно придумать самостоятельно, главное — чтобы оно было одинаковым на всех коммутаторах региона.
- Номер ревизии (MST configuration revision number) — это число, которое администратор меняет при изменении настроек MST. Конкретное значение роли не играет, но оно должно совпадать у всех устройств региона.
- Таблица сопоставления VLAN и инстанций (MST instance-to-VLAN mapping table) — именно здесь указывается, какие VLAN входят в какую инстанцию MST. Эту привязку администратор задает вручную.
Если эти параметры различаются, коммутатор будет рассматриваться как находящийся на границе региона. Он сможет взаимодействовать с другими MST-регионами или даже с устройствами, которые используют PVST+ или RSTP.
Внутреннее дерево MST (IST)
В каждом MST-регионе существует одно внутреннее дерево связей — IST (Internal Spanning Tree). По умолчанию оно работает в инстанции 0. Cisco использует для IST механизм Rapid Spanning Tree (RSTP).
Поверх IST администратор создает дополнительные инстанции и назначает им определенное количество VLAN. Например:
- Инстанция 1: VLAN 100–200 (корневым может быть S2).
- Инстанция 2: VLAN 201–300 (корневым может быть S3).
Таким образом, блокировка портов будет различаться для каждой группы VLAN, а балансировка нагрузки станет более гибкой:
Взаимодействие MST и других протоколов STP
Коммутатор, который находится вне MST-региона, воспринимает его как единое устройство («чёрный ящик»). Для внешней сети весь MST-регион выглядит как один большой коммутатор. Это упрощает интеграцию MST с PVST+ и RSTP:
Топология
Исследуемая топология состоит из трех коммутаторов (Cisco 2960 с ПО Cisco IOS 15.0(2)SE6 LAN Base). Допускается использование других моделей и версий программного обеспечения Cisco IOS. В зависимости от модели и версии программного обеспечения Cisco IOS доступные команды и полученные результаты могут отличаться от показанных в этой статье.
Схема топологии следующая:
Настройки коммутатора S1
Настройки коммутатора S2
Настройки коммутатора S3
Применение протокола MST и проверка работы
Три коммутатора соединены между собой каналами trunk и входят в один MST-регион с параметрами:
- Имя региона: SEDICOMM
- Ревизия конфигурации: 1
- Соответствие VLAN и инстанций:
- Instance 1: VLAN 10, 20, 30
- Instance 2: VLAN 40, 50, 60
Cначала на коммутаторах S1, S2 и S3 необходимо включить режим MST:
По умолчанию все VLAN привязаны к instance 0. Проверим текущие настройки на каждом коммутаторе с помощью команды show spanning-tree mst configuration
:
Коммутатор S1:
Коммутатор S2:
Коммутатор S3:
Результат показывает, что все VLAN (1–4094) назначены IST.
Также можно воспользоваться командой show spanning-tree mst
. С её помощью отображается привязка VLAN к инстанциям, а также информация о корневом мосте и другие полезные сведения:
Коммутатор S1:
Перед настройкой MST необходимо перевести интерфейсы между коммутаторами в режим trunk и создать VLAN. Настроим trunk на всех коммутаторах:
Коммутаторы S1, S2 и S3:
Теперь настроим VLAN на коммутаторах:
Коммутаторы S1, S2 и S3:
Теперь можно настроить параметры MST: с помощью команды spanning-tree mst
входим в конфигурацию MST, указываем имя региона (SEDICOMM), номер ревизии (1) и таблицу сопоставления VLAN экземплярам:
Коммутаторы S1, S2 и S3:
Проверим работу протокола на коммутаторе S1:
Вывод команды показывает, что VLAN 10, 20, 30 назначены instance 1, VLAN 40, 50, 60 — instance 2. Все остальные VLAN остаются в instance 0.
………………………………….
Пока что так хорошо, давайте немного поэкспериментируем с MST и изменим корневой мост:
Я хочу убедиться, что SW1 является корневым мостом в регионе. Нужно будет изменить приоритет для IST:
Вот как изменяется приоритет для экземпляра MST 0.
Здесь можно увидеть, что SW1 является корневым мостом для IST. В нем говорится о CIST, который обозначает Common and Internal Spanning Treee.
Давайте рассмотрим интерфейсы:
Теперь мы знаем состояние всех интерфейсов. Давайте нарисуем картинку, чтобы понять, как выглядит IST:
Теперь я хочу внести некоторые изменения в экземпляр 2, поэтому теперь SW2 будет корневым мостом:
Мы изменим приоритет на SW2 для экземпляра 2.
Эта команда доказывает, что SW2 является корневым мостом для экземпляра 2. Давайте проверим интерфейсы:
И последнее, но не менее важное: теперь я сделаю некоторые изменения в экземпляре 3:
SW3 станет корневым мостом, например 3.
SW3 теперь является корневым мостом экземпляра 3. Давайте посмотрим на интерфейсы:
Давайте сравним экземпляры 2 и 3 рядом друг с другом:
Слева вы видите экземпляр 2, а справа — экземпляр 3.
Изменяя экземпляр корневого моста, мы получаем разные топологии:
- Экземпляр 2: fa0/17 на SW1 заблокирован для VLAN 10, 20 и 30.
- Экземпляр 3: fa0/14 на SW2 заблокирован для VLAN 40, 50 и 60.
Что произойдёт, когда я добавлю другой коммутатор, который работает с PVST, в топологию? Давайте выясним!
PVST по умолчанию используется для большинства коммутаторов Cisco.
Я хочу убедиться, что у нас есть транк для SW2 и SW3, и что SW4 знает обо всех VLAN. Давайте посмотрим, что SW4 думает обо всем этом:
Это то, что SW4 видит в сети VLAN 1. Имейте в виду, что эта VLAN была сопоставлена с экземпляром 0. Он видит SW1 в качестве корневого моста, и вы можете видеть, какой порт находится в режиме пересылки и блокировки.
VLAN 10, сопоставляется с экземпляром 2. SW4 рассматривает SW1 как корневой мост для этой VLAN, хотя мы сконфигурировали SW2 как корневой мост для экземпляра 2. Это совершенно нормально, потому что MST будет рассылать BPDU из IST во внешний мир. Мы не увидим никакой информации из экземпляра 2 или экземпляра 3 на SW4.
VLAN 40 сопоставляется с экземпляром 3, но вы можете видеть, что SW4 видит SW1 в качестве корневого моста. SW4 получает тот же BPDU для всех сетей VLAN.
Выводы
Спасибо за уделенное время на прочтение статьи. Теперь Вы знаете как .
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый
Спасибо за очень интересную, понятную статью