Подробнее на моем авторском курсе: https://stepik.org/a/266534
Что такое STP и зачем он нужен? Простая аналогия.
Представь, что твоя сеть — это система дорог в городе. Если на перекрестке поставить светофоры и разметку (STP), машины (данные) будут ехать без пробок и аварий. Без STP может возникнуть широковещательный шторм — как час пик без правил, когда все кричат и никто никуда не едет. STP же создает "дерево" без петель, где есть главный перекресток (корневой мост) и объездные пути, которые активируются, если главная дорога закрыта.
Основные понятия STP
1) Корневой мост (Root Bridge) - главный коммутатор в сети, "капитан команды". Выбирается по наименьшему Brodge ID (приоритет + MAC-адрес).
Аналогия: в компании самый опытный сотрудник (с низким приоритетом) становится руководителем.
Если приоритеты у коммутаторов у всех в дереве STP одинаковые, то сравниваются MAC адреса. Коммутатор с самым маленьким MAC адресом будет root bridge.
2) Приоритет (Priority) - число от 0 до 65635. Чем меньше, тем выше шанс стать корневым. По умолчанию обычно 32768. Приоритет можно задать вручную, тем самым вручную выбрать root bridge. Об этом ниже.
3) Состояние портов:
-Blocking - порт заблокирован, как закрытая дорога. Данные не идут, но слушают сообщения.
-Listening/Learning - порт "учится" маршрутам, как водитель изучает карту.
-Forwarding - порт передает данные, как открытая магистраль.
4) BPDU (Bridge Protocol Data Unit) - служебные сообщения между коммутаторами, как чат между водителями для координации маршрутов.
Выбор ролей портов:
1) root port (порт, который ближе всего к root bridge, работающий в сторону корневого коммутатора – корневой порт на некорневом коммутаторе, у некорневого коммутатора в сторону root bridge только один порт – root port)
2) designated port (порт, который передает BPDU – порт сегмента, который используется для связи с корневым коммутатором, все порты root bridge являются Designated Ports, также порт DP находится на другом конце линка, который подключен к root port вашего соседа)
3) blocked port (порт заблокированный для предотвращения петель)
Настройка STP на разных вендорах
1) Cisco
Cisco часто использует Rapid-PVST+ (быстрый STP с поддержкой VLAN), который сходится за 1-2 секунды вместо 30-50 у обычного STP.
Включение STP:
Переход в режим Rapid-PVST
#spanning-tree mode rapid-pvst
Назначение корневого моста:
Установка приоритета для VLAN 1
#spanning-tree vlan 1 priority 4096
Ускорение портов для подключения компьютеров (чтобы избежать задержек):
#interface GigabitEthernet0/1
#spanning-tree portfast
Проверка:
#show spanning-tree summary
Лучше практики и рекомендации:
-Настройка Root Guard: Защищает корневой мост от случайного изменения:
#switch(config-if)# spanning-tree guard root
-Использование Loop Guard: Предотвращает образование петель из-за unidirectional link.
-Регулярный мониторинг: Проверка состояния STP через команды #show spanning-tree summary и #show spanning-tree detail
2) MikroTik
MikroTik поддерживает STP и RSTP (Rapid STP), который быстрее реагирует на изменения.
Включение RSTP:
/interface bridge
set bridge protocol-mode rstp
Настройка приоритета:
/interface bridge
set bridge priority=0x3000
Примечание: MikroTik использует hex-значения (например, 0x3000 = 12288 в десятичной системе), что эквивалентно низкому приоритету
Проверка:
/interface bridge monitor bridge
3) Eltex
Eltex поддерживает различные режимы STP, включая RSTP и PVST.
Включение RSTP:
spanning-tree mode rstp
Настройка приоритета:
spanning-tree priority 4096
Важно: При интеграции с Cisco используй rapid-pvst режим для совместимости, но убедись, что на всех устройствах настроены одинаковые VLAN и приоритеты.
Проверка:
show spanning-tree
4) Ubiquiti
Ubiquiti EdgeSwitch (на основе Cisco) поддерживает аналогичные команды, но с небольшими отличиями.
Включение RSTP:
configure terminal
spanning-tree mode rstp
Назначение корневого моста:
spanning-tree priority 4096
Проверка:
show spanning-tree
*Примечание: Ubiquiti часто использует CLI, похожий на Cisco.*
Сравнение вендоров
Частые проблемы и решения.
Петли всё равно возникают — проверь, что на всех коммутаторах включен один и тот же режим STP (например, все используют RSTP)
Долгое восстановление при аварии — используй RSTP вместо STP для ускорения (сходимость за 1-2 секунды вместо 30-50)
Некорректный выбор корневого моста — вручную назначь приоритет самому мощному коммутатору (самое низкое значение)
Проблемы совместимости между вендорами — убедись, что на линках между разными вендорами настроены одинаковые VLAN (особенно VLAN 1) и режимы STP
Практический пример настройки для кольца из 3 коммутаторов
- Выбери корневой мост — назначь ему приоритет 4096 (Cisco/Eltex) или 0x3000 (MikroTik).
- Включи RSTP на всех устройствах.
- Проверь топологию командами show spanning-tree (Cisco/Eltex) или /interface bridge monitor (MikroTik).
4. Добавь избыточные линки — STP автоматически заблокирует лишние порты, оставив их в резерве.
Заключение
Настройка STP не требует глубоких знаний, но важно помнить:
- Всегда меняй приоритет по умолчанию, чтобы старый коммутатор не стал корневым.
- Используй RSTP для быстрого восстановления при аварии.
- Следи за совместимостью между вендорами — особенно между Cisco и другими.
Если остались вопросы — обращайся! Удачи в настройке сетей! Если есть чем поделиться и что рассказать, пиши комментарии.
Спасибо!