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

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

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

  • MST сопоставляет несколько виртуальных локальных сетей VLAN с одним экземпляром связующего дерева (spanning-tree), уменьшая количество экземпляров связующего дерева.
  • PVST+ вычисляет экземпляр связующего дерева для каждого VLAN.

Обе версии совместимы, но как они будут себя вести себя в связке?

PVST+ отправляет BPDU для каждого экземпляра/VLAN, чтобы MST мог обрабатывать каждый BPDU отдельно для каждого VLAN. MST, однако, не имеет экземпляра для каждой VLAN, поэтому какие BPDU ему необходимо отправлять?

Это проблема… возможно два VLANа используют один и тот же экземпляр MST, но используют разные корневые мосты (root bridge), корневые порты (root ports) и другие атрибуты в домене PVST+. Какую информацию следует отправить MST в своих BPDU? Невозможно создать соотвествие 1:1 между информацией MST и PVST+.

Вместо этого, когда область MST (MST region) подключена к топологии PVST+, MST «имитирует» PVST+ с помощью функции, называемой PVST simulation mechanism. Эта функция позволяет области MST отправить PVST+ BPDU (по одному для каждой VLAN) на интерфейсы, подключенные к коммутаторам PVST+. Эти BPDU содержат одну и ту же информацию и рассылают один и тот же корневой мост. Интерфейсы, которые подключаются к топологии PVST+, называются граничными (boundary) интерфейсами/портами.

PVRST+ (Rapid PVST+) также будет поддерживаться. Однако MST реализует только функции PVST+, поэтому разницы в производительности не будет.

Поскольку теперь коммутаторы PVST+ получают BPDU для каждой VLAN из MST, несущих одну и ту же информацию, все они будут принимать одинаковые решения при выборе корневого моста, корневого порта и т.д.

Откуда взялась информация, которую MST рассылает в имитируемых для PVST+ BPDU? Все коммутаторы MST должны согласовывать одну и ту же информацию, поэтому для этого используется информация из IST (internal spanning tree). Корневой мост в области MST, который выбирается как корневой мост для IST, также будет использоваться в BPDU для PVST+.

А как насчет обратного пути? От PVST+ к MST?

MST выбирает роль порта (корневой, назначенный, не назначенный) для пограничного интерфейса для всех VLAN только путем просмотра информации в BPDU VLAN 1.

Выбор роли порта на пограничном интерфейсе для всех VLAN является рискованным … ведь это означает, что предполагается, что все VLAN используют один и тот же корневой мост, корневые порты и т.д. неизвестно, согласен ли домен PVST+ с ролью порта для всех VLAN, которая выбирается на пограничном интерфейсе MST. Однако есть несколько простых проверок, которые MST может использовать, чтобы выяснить, согласуется ли его роль порта с PVST+. Давайте посмотрим на каждую возможную роль порта.

 

Назначенный порт (Designated Port)

Если MST хочет использовать граничный порт в качестве назначенного порта. Он использует следующую проверку:

BPDU MST от IST должен быть лучше по сравнению с каждым BPDU из PVST+ для каждой VLAN, который приходит на пограничный интерфейс.

Таким образом, MST сравнивает свой собственный BPDU IST со всеми BPDU PVST+ (по одному для каждой VLAN). Если его собственный BPDU лучше чем BPDU PVST+, он узнает, что PVST+ соглашается на роль порта, и можно безопасно определить пограничный интерфейс как назначенный порт. Если же нет, значит, что PVST+ не согласен с ролью порта и блокирует пограничный интерфейс. Состояние интерфейса отображается как broken.

 

Корневой порт (Root Port)

Пограничный интерфейс может стать корневым портом, если принимаемый им BPDU из VLAN 1 является лучшим BPDU, который он получает на любом из своих пограничных интерфейсов. Это означает, что корневой мост для VLAN 1 находится в домене PVST+. Когда это произойдет, интерфейс перейдет в состояние пересылки для всех VLAN. Это сложная ситуация. MST действует так, как будто все VLAN имеют свой корневой мост в домене PVST+ и превращает свой пограничный интерфейс в корневой порт для всех VLAN, но это может быть не так. Чтобы противостоять этому, MST использует следующую проверку:

BPDU из PVST+ для всех VLAN, за исключением VLAN 1, должны быть идентичными или превосходить по сравнению с PVST+ VLAN 1 BPDU.

Это означает, что MST прослушивает все BPDU PVST+, которые он получает на своем пограничном интерфейсе, и проверяет, являются ли эти BPDU лучше, чем BPDU с VLAN 1 от PVST+. Если это так, MST может безопасно превратить свой пограничный интерфейс в корневой порт. Если нет, коммутатор сообщает об ошибке несоответствия; интерфейс будет заблокирован и отобразит своё состояние как broken.

Важное предостережение — PVST+ использует расширение идентификатора системы (system ID extension), которое включает номер VLAN как часть идентификатора моста. Это делает невозможным существование BPDU PVST+ из разных VLAN с одинаковым значением. Из-за этого BPDU PVST+ требуют приоритет, который по меньшей мере на 4096 ниже, чем BPDU PVST+ VLAN 1.

 

Неназначенный порт (Non-designated Port)

И последнее, но не менее важное: пограничный интерфейс может быть неназначенным портом. Он становится неназначенным портом, если пограничный интерфейс получает BPDU VLAN 1 PVST+, который лучше собственного BPDU MST IST, но недостаточно, чтобы стать корневым портом. В этом случае пограничный интерфейс становится неназначенным портом для всех VLAN. MST должен проверить, считает ли домен PVST+ его тоже неназначенным портом, и он может быстро проверить это, прослушивая все BPDU PVST+. Когда BPDU PVST+ лучше своего собственного BPDU, он может стать неназначенным портом. Коммутаторы Cisco не выполняют никаких дополнительных проверок. Даже если был получен лучший BPDU, коммутатор сообщит об ошибке несогласованности PVST, и порт перейдет в режим broken, но поскольку он заблокирован в любом случае, это не имеет значения.

Проще всего настроить свою сеть, чтобы область MST была корневым мостом. Если домен PVST+ имеет корневой мост, то MST будет использовать один и тот же корневой порт для всех VLAN. Если корневой мост находится в регионе MST, вы изменяете стоимость для каждого VLAN на коммутаторах PVST+ для использования разных корневых портов и используете бит балансировки нагрузки.

 

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

Давайте посмотрим на все это в действии. Я использую три коммутатора:

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

 

 

SW1 будет использовать rapid spanning tree, SW2 и SW3 будут использовать MST. Мы будем использовать три экземпляра MST и шесть VLAN. Начнем с настройки интерфейсов в качестве транков и добавим некоторые VLAN:

 

 

Теперь у нас есть базовая конфигурация, которую мы можем использовать.

 

Корневой мост MST

В первом сценарии я собираюсь использовать регион MST в качестве корневого моста. VLAN 10, 20 и 30 будут связаны с экземпляром 1; VLAN 40, 50 и 60 — с экземпляром 2. SW2 будет корневым мостом, для экземпляра 0 и 1:

 

 

 

SW3 станет корневым мостом, экземпляра 2:

 

 

 

SW1 работает с rapid spanning tree с приоритетом по умолчанию. Давайте посмотрим, что происходит сейчас, когда я пытаюсь сделать SW1 новым корневым мостом для одной из VLAN:

 

Как только вы это сделаете, у вас появится следующее сообщение на SW2 и SW3:

 

 

Для того чтобы пограничный интерфейс был назначенным портом,  BPDU MST IST должен быть лучше по сравнению со всеми BPDU PVST+. Так как у нас это условие не соблюдается — граничный интерфейс теперь находится в состоянии broken:

 

 

 

 

 

Интерфейс GigabitEthernet 0/1 переходит в состояние BKN (broken) для всех экземпляров VLAN. На последнем выводе команды можно увидеть, что хотя GigabitEthernet 0/1 находится в состоянии broken, SW2 распознает SW1 как корневой мост. Давайте увеличим приоритет SW1, чтобы SW2 и SW3 стали корневыми мостами в этой топологии.

 

Это решает наши проблемы с интерфейсами в состоянии broken:

 

 

SW1 теперь видит область MST как корневой мост. Поскольку все BPDU PVST+, которые получают SW2 и SW3, хуже по сравнению с BPSTU MST IST, несогласованность устраняется.

Сейчас все работает правильно. Давайте посмотрим на некоторые из выводов spanning-tree. Вот VLAN 1, который сопоставляется с экземпляром 0, где SW2 является корневым мостом:

 

 

Выше мы видим, что GigabitEthernet 0/1 является корневым портом. Вот результат VLAN 10, который сопоставляется с экземпляром 1 с SW2 в качестве корневого моста:

 

 

Результат такой же, как и у VLAN 1. Давайте также посмотрим на VLAN 40, которая сопоставляется с экземпляром 2, где SW3 является корневым мостом:

 

 

Вышеприведенный результат интересен. Как объяснялось ранее, MST отображает все VLAN в IST, поэтому даже VLAN 60 (и 40 + 50) используют одну и ту же информацию, хотя SW3 является корневым мостом для этих VLAN. SW1 рассматривает SW2 как корневой мост для этих VLAN.

Наличие области MST в качестве корневого моста является наилучшим вариантом. Он прост в обслуживании, и он позволяет балансировать нагрузку. Например, предположим, что мы хотим, чтобы домен PVST+ использовал другой корневой порт для VLAN 60. Мы можем добиться этого, указав «cost«:

 

SW1 теперь использует GigabitEthernet 0/2 в качестве своего корневого порта для доступа к VLAN 40:

 

 

GigabitEthernet 0/2 теперь является корневым портом для VLAN 60. Все остальные VLAN все еще используют GigabitEthernet 0/1 в качестве своего корневого порта.

 

PVST + Root Bridge

В домене PVST+ возможно наличие корневого моста. Давайте попробуем:

 

Как только я изменю приоритет для VLAN 1 на SW1, SW2 начинает жаловаться:

 

 

Это из-за проверки корневого порта, которую выполняет MST. Чтобы стать корневым портом, все BPDU PVST+, за исключением VLAN 1, должны быть одинаковыми или превосходить по сравнению с BPSTU PVST+ VLAN 1. Это не так, поскольку VLAN 10-60 по-прежнему имеют приоритет по умолчанию 32768. В настоящий момент SW2 переводит свой пограничный интерфейс в состояние broken:

 

 

 

 

Чтобы исправить это, нужно снизить приоритет во всех VLAN для SW1, за исключением VLAN 1:

 

Данное значение удовлетворяет проверке корневого порта на SW2:

 

Сейчас все выглядит хорошо:

 

 

 

 

Выше видно, что пограничный интерфейс теперь находится в состоянии пересылки для всех VLAN.

 

Итоги

В этой статье показано, как можно совместитьMST и PVST+ (или PVRST+).

MST и PV(R)ST+ совместимы, но только при определенных условиях, так как невозможно сопоставить их информацию 1:1. Чтобы справится с этим, MST использует режим совместимости PVST+ и отправляет BPDU для каждой VLAN в свои каналы (пограничные интерфейсы) в домен PVST+. Информация в каждом BPDU основана на IST.

MST использует информацию из BPSTU PVST+ VLAN 1 для определения роли пограничного интерфейса (корневого, назначенного или неназначенного) для всех VLAN. Это также создает проблему, поскольку домен PVST+ может не согласиться с ролью порта. Чтобы обойти это, MST выполняет пару проверок:

  • Назначенный порт:
    • BPDU MST IST должен быть лучше по сравнению с каждым BPDU PVST+ из каждой VLAN, которую коммутатор получает на пограничном интерфейсе.
  • Корневой порт:
    • BPDU PVST+ для всех VLAN, за исключением VLAN 1, должны быть идентичными или лучшими по сравнению с BPDU PVST+ VLAN 1.
    • Из-за расширенного идентификатора системы невозможно существование BPDU с одинаковым значением. Это означает, что приоритет всех BPDU для VLANов, отличных от VLAN 1, должен быть как минимум на 4096 ниже, чем BPDU PVST+ VLAN 1.

Надеюсь, эта статья была для вас полезна!

 

 

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

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

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

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

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

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

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

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

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


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню