book2

5.3 Evolution of STP

Почему появился RSTP

Classic STP работает надёжно, но converges медленно.

Для user traffic это проблема, потому что после topology change port может ждать довольно долго, проходя через classical states.

Поэтому появился RSTP, который делает convergence заметно быстрее.

convergence — момент, когда сеть “сошлась” к новой стабильной topology после изменения. networkterm RSTP (Rapid Spanning Tree Protocol) — улучшенная версия STP с более быстрой реакцией на topology changes. abbreviation

Основные варианты spanning tree

ProtocolСуть
STP / CSTОдин spanning tree для всей bridged network
PVST+Отдельный STP instance для каждого VLAN
RSTPБолее быстрый стандарт IEEE 802.1w
Rapid PVST+Cisco-вариант RSTP per-VLAN
MSTP / MSTНесколько VLAN можно объединить в одну STP instance

Для exam

На Cisco IOS 15+ по умолчанию часто используется PVST+. Для fast convergence обычно смотрят в сторону Rapid PVST+.

STP vs RSTP

ХарактеристикаSTPRSTP
Стандарт802.1D802.1w
ConvergenceМедленнееБыстрее
Port states5 classical states3 logical states
Access behaviorдольше ждётбыстрее восстанавливается

Port states comparison

В RSTP состояния упрощены:

RSTP stateЧто в него “схлопнулось” из STP
DiscardingDisabled + Blocking + Listening
LearningLearning
ForwardingForwarding

discarding — состояние RSTP, где порт не forward’ит user traffic. networkterm

Port roles comparison

В RSTP root и designated roles сохраняются, но blocked behavior описывается точнее:

  • alternate port — backup path к root bridge;
  • backup port — запасной путь на shared segment, встречается редко.

backup port — резервный порт на shared-medium segment; сейчас редкий случай, потому что hubs почти не используются. networkterm

PortFast и BPDU Guard

Проблема classic STP в access layer такая:

  • host подключился;
  • access port ждёт;
  • DHCP client может не успеть получить address.

PortFast решает это на access ports.

PortFast — Cisco feature, которая переводит access port в forwarding почти сразу, без ожидания обычных STP delays. networkterm

Но здесь важное ограничение:

  • PortFast только для ports к end devices;
  • не для switch-to-switch links.

Если включить PortFast на uplink к другому switch, можно получить loop.

BPDU Guard — защитный механизм, который переводит PortFast port в errdisabled, если на нём внезапно пришёл BPDU. networkterm errdisabled — Cisco состояние, в котором interface автоматически отключён из-за protection mechanism. networkterm

Команды по теме

spanning-tree portfast
spanning-tree bpduguard enable
show spanning-tree summary
show interfaces status err-disabled

spanning-tree portfast ciscoIOScommand Включает PortFast на interface. Использовать только на access ports к end devices.

spanning-tree bpduguard enable ciscoIOScommand Включает BPDU Guard на interface. Если придёт BPDU, port уйдёт в errdisabled.

show spanning-tree summary ciscoIOScommand Показывает краткий статус spanning tree и включённых features.

show interfaces status err-disabled ciscoIOScommand Показывает interfaces, которые ушли в error-disabled state.

Exam trap

PortFast не выключает STP.

Он только ускоряет переход access port в forwarding state.

Alternatives to STP

По мере роста enterprise networks многие сети уходят в Layer 3 выше access layer.

Почему:

  • routing лучше предсказуем при failures;
  • не надо держать большие Layer 2 failure domains;
  • redundant links можно использовать без STP blocking на каждом уровне.

В модуле ещё упоминаются:

  • MLAG;
  • SPB;
  • TRILL.

Их нужно скорее узнавать по названию, чем глубоко знать в рамках этой темы.

MLAG (Multi System Link Aggregation) — технология для multi-device link aggregation. abbreviation SPB (Shortest Path Bridging) — L2 technology для более эффективного path usage. abbreviation TRILL (Transparent Interconnection of Lots of Links) — технология для борьбы с ограничениями классического STP. abbreviation

Коротко для памяти

STP = safe

RSTP = safe + faster

Layer 3 design = often even better scalability

Если понял тему

Ты различаешь classic STP, RSTP, Rapid PVST+ и понимаешь, зачем PortFast и BPDU Guard используются вместе.