Spanning Tree Protocol
Избыточность в сети — это дублирование кабелей и коммутаторов для защиты от сбоев. Однако физические петли приводят к хаотическому закольцовыванию трафика и полной неработоспособности сети. Spanning Tree Protocol (STP) математически преобразует любую сеть с петлями в безопасное дерево, временно блокируя резервные пути, но готовое мгновенно восстановить их при аварии.
Почему избыточность создаёт проблемы
Добавление запасных кабелей между коммутаторами создаёт физические петли. В такой топологии обычный широковещательный кадр начинает бесконечно циркулировать между устройствами, порождая свои копии. Этот процесс называют «широковещательным штормом». За несколько секунд он может полностью парализовать сеть: таблицы MAC-адресов коммутаторов становятся неверными, процессоры перегружаются обработкой дублирующихся пакетов, а полезный трафик теряется в этом хаосе.
Что делает Spanning Tree Protocol
STP — это алгоритм, работающий на втором уровне модели OSI (Data Link Layer). Его задача — вычислить из любой сетевой топологии, включающей петли, логическое дерево без циклов. Алгоритм определяет один корневой коммутатор (Root Bridge) и для всех остальных устройств выбирает единственный активный путь к корню. Все остальные физические связи переводятся в заблокированное состояние, что предотвращает образование петлей.
Ключевой принцип: заблокированные пути остаются физически подключенными, но не передают пользовательские данные. Они становятся горячим резервом. При обрыве основного канала STP почти мгновенно пересчитывает дерево и переводит один из заблокированных портов в активное состояние, восстанавливая связность.
Механизм работы: от BPDU до блокировки порта
Коммутаторы, поддерживающие STP, обмениваются специальными управляющими кадрами — Bridge Protocol Data Units (BPDU). В этих кадрах содержатся данные для выбора корневого моста (например, его MAC-адрес и приоритет) и вычисления наилучших путей.
- Выбор корневого коммутатора. Устройство с наименьшим идентификатором (комбинация приоритета и MAC-адреса) становится корнем всей сети.
- Определение корневых портов. Каждый некорневой коммутатор выбирает один свой порт, который имеет наилучший путь к корню. Этот порт становится корневым (Root Port).
- Определение назначенных портов. На каждом сегменте сети (например, на кабеле между двумя коммутаторами) выбирается один порт, который будет передавать данные в сторону корня. Его парный порт на другом конце сегмента блокируется.
- Блокировка альтернативных путей. Все порты, не ставшие корневыми или назначенными, переводятся в состояние блокировки (Blocking). Они слушают BPDU, но не передают пользовательские кадры.
Как сеть реагирует на аварию
Рассмотрим классическую треугольную топологию с коммутаторами S1 (корневой), S2 и S3.
- Изначально прямой канал между S2 и S1 активен, а путь через S3 заблокирован.
- При обрыве канала S2-S1 коммутатор S2 теряет связь с корнем через свой корневой порт.
- S2 начинает пересчёт. Он обнаруживает, что теперь может достичь корня S1 через S3.
- Порт на S2, ведущий к S3 (который ранее был заблокирован), становится новым корневым портом.
- STP переводит этот порт в активное состояние. Трафик от S2 к S1 теперь проходит через S3, сеть продолжает работу.
Эволюция стандартов: от STP к RSTP и MSTP
| Протокол | Стандарт | Ключевое отличие | Время восстановления |
|---|---|---|---|
| STP | IEEE 802.1D (1990) | Оригинальный алгоритм. Использует несколько состояний порта (Blocking, Listening, Learning, Forwarding). | 30–50 секунд |
| RSTP | IEEE 802.1w (2001) | Rapid STP. Упростил состояния портов, добавил механизм быстрого согласования соседей. | 1–2 секунды |
| MSTP | IEEE 802.1s (2002) | Multiple STP. Позволяет создавать отдельные деревья для разных групп VLAN, эффективно использую резервные пути. | ~1 секунда (для конкретного дерева) |
В современных сетях практически всегда используется RSTP или MSTP из-за неприемлемо долгого времени восстановления классического STP.
Практическое значение для российских сетей
В инфраструктуре, построенной согласно требованиям ФСТЭК и 152-ФЗ, отказоустойчивость является обязательным условием. STP и его современные версии — не просто теоретические протоколы, но практический инструмент для соблюдения этих требований. Они позволяют:
- Создавать физически избыточные топологии (например, два кабеля между критическими коммутаторами) без риска возникновения широковещательных штормов.
- Обеспечивать автоматическое восстановление связи при повреждении основного канала, что критично для систем мониторинга и управления.
- Строить сети, соответствующие критериям непрерывности функционирования, без необходимости ручного вмешательства при каждой аварии.
Понимание и правильная настройка STP/RSTP — базовый навык для обеспечения требуемого уровня живучести сетевой инфраструктуры.