5.2 STP Operations
Общая логика STP
STP строит loop-free topology в четыре шага:
- elect the
root bridge; - elect the
root ports; - elect the
designated ports; - остальные порты переводит в
alternateилиblockedrole/state.
BPDU (Bridge Protocol Data Unit) — служебный STP frame, через который switches обмениваются информацией о topology. abbreviation BID (Bridge ID) — идентификатор switch в STP, который участвует в выборе root bridge. abbreviation root port — лучший port non-root switch по направлению к root bridge. networkterm designated port — port на segment, который лучше всех ведёт traffic к root bridge. networkterm alternate port — резервный port, который не forwarding’ит traffic, пока active path работает. networkterm
Из чего состоит BID

BID включает:
bridge priority;extended system ID;MAC address.
bridge priority — числовой приоритет switch в STP election. networkterm extended system ID — часть BID, которая помогает различать VLAN instance. networkterm
Чем меньше BID, тем лучше.
Обычно порядок выбора root bridge такой:
- lower priority wins;
- если priority одинаковый, lower MAC wins.
Запомни формулу
Lowest BID = Root Bridge
Шаг 1. Elect the Root Bridge
Каждый switch сначала “думает”, что он root. Потом через BPDUs switches сравнивают свои BID и соглашаются, кто root.

Если все switches оставлены на default priority, победитель часто определяется по MAC address.
Это плохо как design choice, потому что root может стать “не тот” switch.
Поэтому в реальной сети root bridge обычно назначают вручную.
Шаг 2. Determine Root Path Cost и выбрать Root Port
root path cost — суммарная стоимость пути до root bridge. networkterm port cost — стоимость отдельного port, зависящая от link speed. networkterm
Чем выше скорость link, тем ниже cost.
Таблица из модуля:
| Link Speed | STP Cost (short) | RSTP Cost (long) |
|---|---|---|
| 10 Gbps | 2 | 2000 |
| 1 Gbps | 4 | 20000 |
| 100 Mbps | 19 | 200000 |
| 10 Mbps | 100 | 2000000 |

На каждом non-root switch выбирается только один root port с наименьшим total path cost до root bridge.
Шаг 3. Elect Designated Ports
На каждом Ethernet segment должен быть один designated port.
Правила полезно помнить так:
| Ситуация | Кто designated port |
|---|---|
| На root bridge | Все ports designated |
| Один конец segment — root port | Другой конец designated |
| Оба switch не root | Побеждает switch с лучшим path to root |
Если cost одинаковый, STP включает tie-breakers.
Шаг 4. Alternate / Blocked Ports
Если port не стал ни root, ни designated, он становится резервным.
Такой port не участвует в normal forwarding и именно это спасает сеть от loop.
Equal-Cost Paths и Tie-Breakers
Если до root есть два одинаково дешёвых пути, STP использует tie-break sequence:
- lowest sender
BID; - lowest sender port priority;
- lowest sender port ID.
Очень экзаменационная цепочка
BID -> port priority -> port ID
Таймеры STP
| Timer | Default | Что значит |
|---|---|---|
| Hello | 2 sec | как часто идут BPDUs |
| Forward Delay | 15 sec | сколько порт ждёт в listening и learning |
| Max Age | 20 sec | сколько switch ждёт старую STP-информацию |
Hello Timer — интервал между BPDU messages. networkterm Forward Delay — задержка перехода порта через intermediate states. networkterm Max Age — время жизни STP-информации до пересчёта topology. networkterm
Port States

У classic STP пять состояний:
| State | BPDU | MAC learning | User traffic |
|---|---|---|---|
| Blocking | Receive only | No | No |
| Listening | Send/Receive | No | No |
| Learning | Send/Receive | Yes | No |
| Forwarding | Send/Receive | Yes | Yes |
| Disabled | None | No | No |
Короткое объяснение:
Blocking— loop prevention, data frames не forward’ятся;Listening— switch слушает topology, но ещё не учит MACs;Learning— начинает учить MAC table, но ещё не пускает user traffic;Forwarding— normal operation;Disabled— port administratively down.
PVST логика
PVST (Per-VLAN Spanning Tree) — отдельный spanning tree instance для каждого VLAN. abbreviation
Это значит, что:
- у VLAN 10 может быть один root bridge;
- у VLAN 20 может быть другой root bridge.
Так можно лучше балансировать redundant topology между VLANs.
Команды, которые реально нужно знать
show spanning-tree
show spanning-tree vlan 1
show spanning-tree root
show spanning-tree interface f0/1show spanning-tree ciscoIOScommand
Показывает STP topology, root bridge, port roles и states для switch.
show spanning-tree vlan 1 ciscoIOScommand
Показывает STP details только для конкретного VLAN instance.
show spanning-tree root ciscoIOScommand
Быстро показывает, какой switch является root для spanning tree instances.
show spanning-tree interface f0/1 ciscoIOScommand
Показывает STP role/state конкретного interface.
Частая ошибка
Люди путают
port roleиport state.
roleотвечает на вопрос: какая функция у порта в topology.stateотвечает на вопрос: forward’ит ли он traffic прямо сейчас.
Если понял тему
Ты уже можешь смотреть на topology и объяснять, почему один port стал root, другой designated, а третий blocked.