STP – объяснение протокола связующего дерева

⚡ Умное резюме

Протокол Spanning Tree Protocol (STP) — это стандарт управления каналами связи уровня 2, IEEE 802.1D, который предотвращает возникновение коммутационных петель в сетях с резервными каналами путем выбора корневого моста и перевода резервных портов в блокирующее состояние.

  • 🔁 Цель: STP строит логическую топологию без петель на основе физической сети, содержащей избыточные, потенциально зацикленные элементы.ping ссылки.
  • 🌉 Корневой мостик: Коммутаторы обмениваются пакетами BPDU для выбора одного корневого моста, который является контрольной точкой, к которой каждый второй коммутатор измеряет свой кратчайший путь.
  • 🧱 В порту находятся следующие штаты: Каждый порт проходит через этапы блокировки, прослушивания, обучения и пересылки, а также переходит в отключенное состояние для выключенных портов.
  • РСТП: Протокол Rapid Spanning Tree Protocol (802.1w) сходится за считанные секунды, в то время как классический STP может занимать до 50 секунд.
  • 📊 Варианты: В число стандартов входят STP, RSTP, MSTP (802.1s) и Cisco PVST+ и PVRST+ для деревьев VLAN.
  • 🤖 Помощь ИИ: Инструменты машинного обучения выявляют штормы, связанные с изменением топологии, и зацикливания быстрее, чем при ручном анализе журналов.

Объяснение протокола STP (Spanning Tree Protocol).

Что такое STP?

Протокол STP (Spanning Tree Protocol) — это протокол управления каналами связи, разработанный для поддержки резервных каналов и предотвращения коммутационных петель в сети. Уровень 2 Протокол, работающий на мостах и ​​коммутаторах и требующий включения на интерфейсах коммутатора. Он стандартизирован IEEE как IEEE 802.1D.

Зачем нам нужен СТП?

Избыточные каналы связи повышают отказоустойчивость, но без механизма предотвращения петель они также могут создавать опасные коммутационные петли. Вот ситуации, в которых протокол Spanning Tree Protocol становится важным:

  • Введение резервирования значительно повышает надежность (отказоустойчивость) сети.
  • Коммутаторы перенаправляют трафик через все порты, когда он должен достичь пункта назначения, который еще неизвестен.
  • Широковещательный и многоадресный трафик перенаправляется через все порты, кроме того, на который он поступил.
  • STP создает логическую топологию без петель из физической топологии, содержащей петли.

Как работает СТП? Пример

Остовное дерево использует алгоритм для поиска избыточных связей в LAN и выбирает оптимальные пути. При этом каждое соединение переводится либо в состояние переадресации, либо в состояние блокировки.

После этого процесса ссылки без резервной альтернативы остаются в состоянии пересылки. Резервные ссылки, которые не были выбраны в качестве наилучшего пути, переводятся в блокируемый режим. Протокол Spanning Tree никогда не использует несколько ссылок на один и тот же пункт назначения, поэтому он не обеспечивает распределение нагрузки.

Виды СТП

Вот различные типы протоколов Spanning Tree:

Стандарт Описание Аббревиатура
ИЭЭЭ 802.1D Предотвращение зацикливания; автоматическая переконфигурация дерева после любых изменений; медленная сходимость (до 50 секунд) STP
IEEE 802.1w — протокол быстрого построения остовного дерева Улучшенная версия STP с более быстрой сходимостью; обратная совместимость с STP. RSTP
IEEE 802.1Q — Виртуальная локальная сеть Определяет единое остовное дерево для всех VLAN. КНТ
Cisco собственная разработка — протокол Spanning Tree для каждой VLAN Один экземпляр STP на каждую VLAN; PVST+ — улучшенный вариант PVST. ПВСТ+
Cisco собственная разработка — Быстрое связующее дерево для каждой VLAN Быстрая конвергенция для каждой VLAN. PVRST+ / R-PVST+
IEEE 802.1s — Протокол множественного связующего дерева Несколько VLAN-сетей сопоставлены с одним экземпляром STP. MSTP

Критерии связующего дерева

Три критерия определяют, какие интерфейсы переводятся в состояние пересылки:

  • Все интерфейсы корневого моста переводятся в состояние пересылки.
  • Для мостов, не являющихся корневым мостом, порт, ближайший к корневому мосту (с наименьшей стоимостью пути), переводится в состояние пересылки.
  • Мост с наименьшей стоимостью пути к корневому мосту на сегменте называется назначенным мостом.

Этапы протокола STP

Порт протокола Spanning Tree проходит через несколько состояний, прежде чем начать пересылку трафика, как показано на диаграмме ниже:

Переходы состояния порта STP от блокировки через прослушивание и обучение к пересылке

Блокирующее состояние

Блокирующий порт — это не назначенный порт, который никогда не участвует в пересылке кадров. Его таймер составляет 20 секунд (максимальное значение возраста). Интерфейс всегда переходит в состояние блокировки при включении протокола STP.

Состояние прослушивания

Состояние прослушивания — это первое переходное состояние, в которое переходит порт после блокировки. В этом состоянии порт определяет, должен ли он участвовать в пересылке кадров. Состояние прослушивания выполняет следующие функции:

  • Отбрасывает кадры, полученные на порту
  • Не запоминает MAC-адреса
  • Получает BPDU

Состояние обучения

Состояние обучения подготавливает порт к участию в пересылке кадров. Порт переходит из состояния прослушивания в состояние обучения и выполняет следующие функции:

  • Отбрасывает кадры, полученные на порту
  • Получает BPDU
  • Учится MAC-адреса

Состояние пересылки

Порт, находящийся в состоянии пересылки, пересылает кадры. Он переходит в состояние пересылки из состояния обучения и выполняет следующие функции:

  • Принимает и пересылает кадры, полученные на порту.
  • Изучает MAC-адреса
  • Получает BPDU

Отключенное состояние

Отключенный порт не участвует в протоколе Spanning Tree, поскольку он административно отключен; время его отключения не ограничено. Отключенный интерфейс выполняет следующие функции:

  • Отбрасывает кадры, полученные на порту
  • Не запоминает MAC-адреса
  • Не получает BPDU

Важные термины, используемые в протоколе связующего дерева

Вот некоторые важные термины, используемые в STP:

Мост

Мост — важный компонент протокола STP, соединяющий два или более сегмента локальной сети.

Корневой мост (RB)

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

Некорневой мост (NRB)

Некорневой мостик — это любой мостик, который не является корневым мостиком.

Корневой порт (RP)

Корневой порт — это порт, ведущий к корневому мостику.

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

Каждый сегмент локальной сети имеет один выделенный порт. Каждый мост принимает кадры на своем выделенном порту и пересылает их через свой корневой порт к корневому мосту.

ID порта

Идентификатор порта помогает определить корневой порт. Он состоит из настраиваемого 1-байтового значения приоритета и уникального номера порта для каждого моста.

Стоимость пути (PC)

Стоимость пути помогает определить оптимальную топологию с точки зрения скорости пересылки; канал с меньшей пропускной способностью имеет более высокую стоимость. Протокол STP использует стоимость пути для выбора кратчайшего маршрута к корневому мосту.

Неназначенный порт

Неназначенный порт — это заблокированный порт коммутатора, также называемый заблокированным или альтернативным портом. Он не может пересылать кадры на следующий коммутатор и не заполняет таблицу MAC-адресов.

RSTP

Протокол быстрого построения связующего дерева (RSTP) — это сетевой протокол, обеспечивающий топологию без петель в сетях Ethernet и сходящийся гораздо быстрее, чем исходный протокол STP.

Блоки данных протокола моста (BPDU)

Протокол Spanning Tree требует от сетевых устройств обмена сообщениями для формирования логической топологии без петель. Эти сообщения называются BPDU (Bridge Protocol Data Units). Каждое сетевое устройство отправляет BPDU для обмена информацией о топологии.

BPDU помогают коммутаторам выполнять следующие функции:

  • Выберите один переключатель, который будет выступать в качестве корня связующего дерева.
  • Рассчитайте кратчайший путь от каждого коммутатора до корневого коммутатора, обозначив один коммутатор как ближайший к корневому коммутатору для каждого сегмента локальной сети.
  • Выберите один порт на каждом коммутаторе в качестве корневого порта (если это не корневой коммутатор).
  • Определите порты, входящие в состав связующего дерева, как назначенные порты.
  • Заблокируйте порты, не указанные в списке.

Конфигурация БПДУ

Конфигурационный BPDU содержит идентификатор моста корневого устройства и идентификатор моста другого устройства. transmitмост и идентификатор transmitпорт связи.

Уведомление об изменении топологии (TCN) BPDU

Коммутатор отправляет TCN BPDU в сторону корневого моста, когда обнаруживает изменение топологии сети, например, включение или выключение канала связи. Затем корневой мост дает указание каждому коммутатору сократить время устаревания таблицы MAC-адресов, чтобы устаревшие записи быстро удалялись.

Различия между STP и RSTP

В таблице ниже приведены основные различия между STP и RSTP:

STP RSTP
В протоколе STP мост отправляет BPDU только тогда, когда получает его на своем корневом порту от корневого моста. Протокол RSTP позволяет каждому коммутатору отправлять BPDU через каждые заданные интервалы времени (приветствие).
Протокол STP определяет две роли порта: корневой порт и назначенный порт. Протокол RSTP добавляет еще две роли: альтернативный порт и резервный порт.

Справочная таблица состояний порта STP

В следующей таблице приведена сводная информация о состоянии каждого порта STP, о том, обрабатывает ли он BPDU-пакеты и изучает ли он MAC-адреса:

Область Описание Обработка BPDU Изучите MAC
В этом Инициализация порта. Нет Нет
Отключена Административное государство, не участвующее в стандартных операциях очистных сооружений. Нет Нет
блокирование Порт не пересылает Ethernet-кадры. Да (принимает и обрабатывает только BPDU). Нет
Listening В этом состоянии вычисляется топология без петель, и порту назначается его роль. Да (отправляет и получает BPDU) Нет
Learning Дополнительное состояние, которое задерживает пересылку кадров во избежание перегрузки сети. Да Да (заполняет таблицу MAC-адресов)
Пересылка Нормальный режим работы, пересылка кадров Ethernet. Да Да

Часто задаваемые вопросы (FAQ)

Каждый коммутатор объявляет идентификатор моста, состоящий из значения приоритета (по умолчанию 32768) и своего MAC-адреса. Коммутатор с наименьшим идентификатором моста становится корневым мостом; если приоритеты совпадают, побеждает коммутатор с наименьшим MAC-адресом.

Классический стандарт 802.1D использует три таймера: время приветствия в 2 секунды, задержка в 15 секунд для состояний прослушивания и обучения и максимальный срок действия в 20 секунд. Полная сходимость может занять от 30 до 50 секунд.

Функция BPDU Guard защищает порты доступа (граничные порты), которые никогда не должны получать пакеты BPDU. Если такой порт все же получает такой пакет, коммутатор немедленно переводит его в состояние err-disabled, stop.ping Несанкционированные переключения или случайные петли могут дестабилизировать топологию.

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

Без STP возникают избыточные связи между переключатели создают петли обмена данными. Кадры бесконечно циркулируют, вызывая широковещательные штормы, дублирование кадров и нестабильность таблицы MAC-адресов, что может быстро перегрузить и привести к сбою всей локальной сети.

Да. Современные коммутаторы по умолчанию используют RSTP или MSTP, поскольку их протоколы сходятся за считанные секунды. Крупные центры обработки данных все чаще внедряют технологии маршрутизации или коммутации уровня 3, такие как TRILL, SPB и EVPN-VXLAN, однако STP по-прежнему защищает уровень 2 от петель.

Инструменты машинного обучения определяют базовую активность BPDU и изменения топологии, а затем выявляют аномалии, такие как внезапные всплески TCN или сбои.ping Это позволяет быстрее выявлять первопричины проблем, хотя инженер всё равно подтвердит проблему и внесет необходимые исправления.

Второй пилот GitHub Шашки Cisco IOS, Ansible или Python Приведены фрагменты команд для таких задач, как установка приоритета моста или включение PortFast, в виде коротких комментариев. Всегда проверяйте сгенерированные команды перед их применением на работающих коммутаторах.

Подведем итог этой публикации следующим образом: