Skip to content

Управление таймерами STP (все версии)

Документ описывает назначение и настройку таймеров протоколов STP/RSTP/MSTP на коммутаторах семейства CIT 3200, с учётом особенностей различных версий протокола и их совместимости. Структура и подача материала основаны на ранее подготовленном документе по настройке таймеров STP и выводах команд настройки/мониторинга на CIT 3200.


Необходимые условия и предварительные требования

  • Доступ к CLI коммутатора CIT 3200:
  • Учетная запись с правами перехода в режим глобального конфигурирования
  • Активированный (вкюченый) протокол STP в глобальной конфигурации.

Версии STP, в которых применимы описываемые команды

  • STP (IEEE 802.1D) — классический Spanning Tree.
  • RSTP (IEEE 802.1W) — Rapid Spanning Tree, ускоренная сходимость.
  • MSTP (IEEE 802.1S) — Multiple Spanning Tree

По умолчанию на CIT 3200 используется режим MSTP:

Switch# show stp
Stp Mode                                : mstp
...
Bridge Times                            : Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Timer Factor 6 
...
Stp Pathcost-standard                   : dot1t
...

В дальнейшем под термином STP понимается семейство протоколов STP/RSTP/MSTP, если явно не указано конкретное название стандарта.


Обзор таймеров STP на CIT 3200

Глобальные таймеры STP, настраиваемые в режиме config-stp:

  • stp hello-time — интервал отправки BPDU Hello (в секундах)
  • stp max-age — максимальный «возраст» BPDU (в секундах)
  • stp forward-delay — задержка перед переходом порта в состояние forwarding
  • stp max-hops — максимальное количество «прыжков» BPDU (используется в RSTP/MSTP)
  • stp timer-factor — время ожидания BPDU перед началом перечета топологии в секундах
  • stp migration-time — таймер миграции режима (RSTP/STP) для взаимодействия со старыми устройствами
  • stp tc-hold-off — интервал подавления повторной обработки событий Topology Change
  • stp transmit-limit — ограничение частоты отправки BPDU

Перечень настроек можно посмотреть в режиме конфигураии STP с помощью команды-подсказки list:

Switch(config)# stp
Switch(config-stp)# list
  ...
  stp forward-delay (<4-30>|default)
  stp hello-time (<1-10>|default)
  stp max-age (<6-40>|default)
  stp max-hops (<4-30>|default)
  stp migration-time (<1-10>|default)
  stp timer-factor (<1-20>|default)
  stp tc-hold-off (<4-30>|default)
  stp transmit-limit (<1-10>|default)
  ...

Назначение и особенности таймеров по версиям STP

1. Hello-time

Назначение: интервал отправки BPDU Hello корневым мостом и дальнейшей пересылки другими коммутаторами.

  • Команда:

text Switch(config)# stp Switch(config-stp)# stp hello-time <1-10 | default> - Диапазон: 1–10 секунд. 0 Значение по умолчанию: 2 секунды (отражается в show stp / Bridge Times : Hello 2s ...).

Версии протокола:

  • STP (802.1D) — один из ключевых таймеров; уменьшение hello-time ускоряет обнаружение изменений, но повышает нагрузку на CPU.
  • RSTP (802.1W) — hello используется вместе с механизмами proposal/agreement; влияет на периодичность обновления состояния, но основная сходимость обеспечивается протоколом, а не изменением hello-time.
  • MSTP (802.1S) — аналогично RSTP; используется для всех MSTI/CIST.

Рекомендация: на CIT 3200 обычно оставлять значение по умолчанию (2 с); изменение выполнять только при единых настройках по всему домену STP.

2. Max Age

Назначение: максимальное время жизни информации о корневом мосте, содержащейся в BPDU. Ограничивает диаметр дерева и влияет на обнаружение «тихих» отказов в классическом STP.

  • Команда:

text Switch(config)# stp Switch(config-stp)# stp max-age <6-40 | default> * Диапазон: 6–40 секунд. * Значение по умолчанию: 20 секунд (отражается в show stp / MaxAge 20s).

Версии протокола:

  • STP (802.1D)

  • Max Age фактически ограничивает время, в течение которого коммутатор считает информацию о корне актуальной.

  • Рекомендованное соотношение: MaxAge ≈ 10 × HelloTime.
  • Уменьшение Max Age может ускорить реакцию на непрямые отказы (без Link Down), но требует аккуратной настройки и единообразия в домене.

  • RSTP (802.1W)

  • В RSTP основное обнаружение изменений происходит по событиям на порту (link up/down, сообщений TCN или отсуствию BPDU от вышестоящего коммутатора), а не по истечению Max Age.

  • Max Age в RSTP в большинстве случаев не влияет на время сходимости и в основном используется:

    • для ограничения диаметра сети,
    • для совместимости при подключении классических STP-устройств.
  • MSTP (802.1S)

  • Аналогично RSTP; используется для CIST и MSTI, но роль в сходимости ограничена.

Статус в новых версиях: В RSTP/MSTP таймер Max Age считается устаревшим как основной механизм реагирования на отказы и используется, главным образом, для совместимости и ограничений диаметра.

3. Forward Delay

Назначение: задержка, используемая для стадий Listening/Learning в классическом STP, чтобы стабилизировать топологию перед переходом порта в Forwarding.

  • Команда:

text Switch(config)# stp Switch(config-stp)# stp forward-delay <4-30 | default> * Диапазон: 4–30 секунд. * Значение по умолчанию: 15 секунд (отражается в show stp / FwDly 15s).

Версии протокола:

  • STP (802.1D)

  • Используется как базовый механизм защиты от петель после изменения топологии.

  • Уменьшение forward-delay теоретически ускоряет сходимость, но увеличивает риск кратковременных петель при большом количестве абонентских портов. Служит главным образом для заполнения таблицы коммутатции mac address-table и уменьшению рассылки кадров unknown-unicast.

  • RSTP (802.1W)

  • RSTP использует свои механизмы состояния портов (Discarding, Learning, Forwarding).

  • Forward Delay практически не используется как основной таймер сходимости, но:

    • сохраняется для совместимости,
    • может применяться при взаимодействии с 802.1D-соседями.
  • MSTP (802.1S)

  • Поведение аналогично RSTP: Forward Delay сохраняется в конфигурации, но его влияние на сходимость не существенно.

Статус в новых версиях: В RSTP/MSTP таймер Forward Delay фактически устарел как основной инструмент ускорения/замедления сходимости и используется для совместимости с 802.1D и защиты при переходных процессах.

4. Max Hops (только RSTP/MSTP)

Назначение: ограничивает количество «прыжков» (hop count) BPDU в домене RSTP/MSTP. Используется вместо механизма старения Max Age в классическом STP.

  • Команда:

text Switch(config)# stp Switch(config-stp)# stp max-hops <4-30 | default> * Диапазон: 4–30. * Значение по умолчанию: 20 (отражается как MaxHop 20 / RemainingHops в show stp information).

Версии протокола:

  • Не используется в классическом STP (802.1D).
  • RSTP (802.1W)

  • При каждом прохождении BPDU через коммутатор счётчик hops уменьшается.

  • Когда счётчик достигает нуля, информация считается устаревшей и BPDU не распространяется далее.
  • MSTP (802.1S)

  • Аналогичный механизм для CIST и MSTI.

Задача: заменить «время жизни» BPDU (Max Age) на количество хопов, что делает поведение более предсказуемым в больших доменах.

5. Timer Factor

Назначение: время устаревания актуальности топологии STP (значение по умолчанию - 6 секунд). Коммутатор ожидает получение STP BPDU кадров от вышестоящего в топологии коммутатора в промежуток времени Timer Facror = 3 * Hello Time (по умолчанию). После истечении этого времени и при отсутствии BPDU кадра, коммутатор считает, что в сети произошли изменения, Root Bridge перестал существовать в сети и запускает механизм перерасчета топологии.

  • Команда:

text Switch(config)# stp Switch(config-stp)# stp timer-factor <1-20 | default> * Диапазон: 1–20. * Значение по умолчанию: 6 (см. Bridge Times ... Timer Factor 6).

Версии протокола: Применяется к всем режимам STP/RSTP/MSTP в рамках реализации CIT 3200.

6. Migration Time (RSTP/MSTP – совместимость с STP)

Назначение: таймер, связанный с процессом миграции между режимами RSTP/MSTP и классическим STP при взаимодействии с соседями, которые передают STP (802.1D) BPDU.

  • Команда:

text Switch(config)# stp Switch(config-stp)# stp migration-time <1-10 | default> * Диапазон: 1–10 секунд. * Значение по умолчанию: 3 секунды (Stp Migration-time: 3).

Версии протокола:

  • Используется в режимах RSTP/MSTP для:

  • определения времени ожидания «новых» BPDU от соседа;

  • решения, когда трактовать порт как подключённый к 802.1D-устройству и использовать старую модель взаимодействия.

Статус: таймер существенен только для RSTP/MSTP и имеет смысл главным образом при смешанных доменах (RSTP ↔ STP).

7. TC Hold-off (Topology Change Hold-off)

Назначение: ограничивает частоту обработки событий смены топологии (TC – Topology Change), чтобы избежать перегрузки при настабильности портов.

  • Команда:

text Switch(config)# stp Switch(config-stp)# stp tc-hold-off <4-30 | default> * Диапазон: 4–30 секунд. * Значение по умолчанию: 10 секунд (Stp Tc-hold-off: 10).

Версии протокола: Используется в рамках реализации RSTP/MSTP (и STP при необходимости), как защитный механизм.

Задача: уменьшение числа пересчётов и рассылок Topology Change BPDU при нестабильных линках.

8. Transmit Limit (ограничение скорости BPDU)

Назначение: ограничение числа BPDU, отправляемых коммутатором в секунду, для защиты от перегрузки (DoS, циклическая рассылка) и стабилизации работы STP.

  • Команда:

text Switch(config)# stp Switch(config-stp)# stp transmit-limit <1-10 | default> * Диапазон: 1–10 пакетов/сек. * Значение по умолчанию: 6 пакетов/сек (Stp Transmit-limit: 6 packets/s).

Версии протокола: Применяется ко всем режимам STP/RSTP/MSTP на CIT 3200, как реализационный защитный механизм (стандартизованного таймера в IEEE нет).


Пример конфигурирования таймеров STP на CIT 3200

Switch# configure
Switch(config)# stp
Switch(config-stp)# stp mode rstp
Switch(config-stp)# stp hello-time 2
Switch(config-stp)# stp max-age 20
Switch(config-stp)# stp forward-delay 15
Switch(config-stp)# stp max-hops 20
Switch(config-stp)# stp timer-factor 6
Switch(config-stp)# stp migration-time 3
Switch(config-stp)# stp tc-hold-off 10
Switch(config-stp)# stp transmit-limit 6
Switch(config-stp)# end

Полный вывод конфигурации

Воспользуйтесь данным выводом для копирования/вставки конфигурации в окно терминала.

configure
stp
 stp mode rstp
 stp hello-time 2
 stp max-age 20
 stp forward-delay 15
 stp max-hops 20
 stp timer-factor 6
 stp migration-time 3
 stp tc-hold-off 10
 stp transmit-limit 6
end
Switch#
````
---

## Изучение состояния устройства

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

```text
Switch# show stp

Version                                 : MSTP_VB3.70.00.00
Oper Configuration
Stp Mode                                : rstp
Stp Trap                                : disable
Stp BPDU-guard                          : disable
Stp TC-protection                       : disable
Stp TC-protection Threshold             : 2
Bridge Times                            : Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Timer Factor 6 
Format Selector                         : 0
Revision Level                          : 0
Stp Config Name                         : region
Stp TC-flush-arp                        : disable
Stp Migration-time                      : 3
Stp Pathcost-standard                   : dot1d-1998
Stp Tc-hold-off                         : 10
Stp Transmit-limit                      : 6 packets/s
Stp Link-detection                      : enable
Stp Edge-default                        : disable
Stp v-stp                               : disable
Stp flush                               : enable
Stp Instance max Number                 : 16
Stp Instance used Number                : 1
Stp Interface max Number                : 208
Stp Interface used Number               : 32
Stp Interface Instance max Number       : 3328
Stp Interface Instance used Number      : 32

Instance Priority Vlans Mapped
0        32768    1-4094

Обратите внимание на строку Bridge Times и дополнительные параметры (Migration-time, Tc-hold-off, Transmit-limit).

Просмотр основных таймеров STP

Switch# show stp information 
 CIST Bridge              : 32768.b4e0-2500-0356
 Bridge Times             : Hello 2s MaxAge 20s FwDly 15s RemainingHops 20   <--- остновные таймеры
 CIST Root/ERPC           : 32768.b4e0-2500-0080/ 2002 
 CIST RegRoot/IRPC        : 32768.b4e0-2500-0356/ 0 
 CIST RootPort            : 10GigaEthernet1/0/2 
 Number of TC             : 1044 
 Last TC occurred         : 10GigaEthernet1/0/2 

RemainingHops 20 демонстрирует работу таймера/счётчика Max Hops в контексте RSTP/MSTP.


Рекомендации и лучшие практики

  • Все коммутаторы STP-домена должны иметь одинаковые значения глобальных таймеров (Hello, MaxAge, ForwardDelay, MaxHops и т.д.).
  • В большинстве случаев рекомендуется оставлять таймеры по умолчанию и улучшать сходимость:

  • за счёт использования RSTP/MSTP вместо классического STP,

  • за счёт правильного дизайна (root bridge, cost, port priority), а не агрессивной настройки таймеров.
  • Изменение Hello-time / MaxAge может сократить время обнаружения изменений, но увеличивает нагрузку на процессор и риск ложных срабатываний.
  • Таймеры MaxAge и ForwardDelay в RSTP/MSTP в основном используются для совместимости с 802.1D и ограничения диаметра; не стоит рассчитывать на них как на основной инструмент ускорения сходимости.
  • Таймеры MaxHops, Migration-time, Tc-hold-off и Transmit-limit:

  • имеют смысл в крупных или смешанных доменах (RSTP + старые STP-устройства);

  • к измененю тайсеров следует подходить осторожно

История и версии

Команды в данной главе применимы для - аппаратных плаформ CIT серии L3200, с уставленной версией ПО v1.0.2. - являются актуальными с версии ПО v.1.0.2