Перейти к содержанию

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

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


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

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

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

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

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

1
2
3
4
5
6
7
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 L3200

Глобальные таймеры 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 корневым мостом и дальнейшей пересылки другими коммутаторами.

  • Команда:
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 L3200 обычно оставлять значение по умолчанию (2 с); изменение выполнять только при единых настройках по всему домену STP.

2. Max Age

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

  • Команда:
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.

  • Команда:
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.

  • Команда:
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 перестал существовать в сети и запускает механизм перерасчета топологии.

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

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

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

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

  • Команда:
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), чтобы избежать перегрузки при настабильности портов.

  • Команда:
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.

  • Команда:
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 L3200, как реализационный защитный механизм (стандартизованного таймера в IEEE нет).


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

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

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

Note

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

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

1
2
3
4
5
6
7
8
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, с уставленной версией ПО 5.3.0.
  • являются актуальными с версии ПО 5.3.0