Introdução
Este documento descreve os temporizadores do Spanning Tree Protocol (STP) e as regras a serem usadas para ajustar os temporizadores.
Background
Este documento discute apenas como ajustar os temporizadores de STP para a spanning tree 802.1D regular. Este documento não aborda o protocolo Rapid STP (RSTP) (IEEE 802.1w) ou o protocolo Multiple Spanning Tree (MST) (IEEE 802.1s).
Para obter mais informações sobre RSTP e MST, consulte estes documentos:
Pré-requisitos
Requisitos
Este documento pressupõe uma boa compreensão do STP. Para obter mais informações sobre a operação do STP, consulte Compreender e Configurando o Spanning Tree Protocol (STP) em Switches Catalyst .
Caution: Você pode usar este documento para ajudá-lo a resolver seus problemas de rede, mas somente se você estiver familiarizado com o processo ou se alguém que esteja familiarizado com o processo o direcionou. Se você não estiver familiarizado com o STP, as alterações feitas podem causar qualquer uma destas ocorrências:
- Instabilidades
- Lentidões de aplicativos
- picos de CPU
- sobrecarga de LAN
Consulte 802.1D - Padrões IEEE para Redes Locais e Metropolitanas: Pontes de Controle de Acesso ao Meio (MAC - Media Access Control)
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Conventions
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
Temporizadores do Spanning Tree Protocol
Há vários temporizadores de STP, como mostra esta lista:
-
hello — O tempo de hello é o tempo entre cada unidade de dados de protocolo de ponte (BPDU) que é enviada em uma porta. Esse tempo é igual a 2 segundos (seg) por padrão, mas você pode ajustá-lo para ficar entre 1 e 10 segundos.
-
forward delay — O forward delay é o tempo gasto no estado de escuta e aprendizagem. Esse tempo é igual a 15 segundos por padrão, mas você pode ajustá-lo para ficar entre 4 e 30 segundos.
-
max age — O temporizador de max age controla o período máximo de tempo decorrido antes que uma porta de bridge salve suas informações de BPDU de configuração. Por padrão, esse tempo é de 20 segundos, mas você pode ajustá-lo para ficar entre 6 e 40 segundos.
Cada BPDU de configuração contém esses três parâmetros. Além disso, cada configuração de BPDU contém outro parâmetro relacionado ao tempo, conhecido como a idade da mensagem.
A idade da mensagem não é um valor fixo. A idade da mensagem contém o período de tempo decorrido desde que a bridge raiz originou inicialmente a BPDU.
A bridge raiz envia todas as suas BPDUs com um valor de idade de mensagem de 0, e todos os switches subsequentes adicionam 1 a esse valor.
Efetivamente, esse valor contém as informações sobre a distância da bridge raiz quando você recebe um BPDU. Este diagrama ilustra o conceito:

Quando uma nova BPDU de configuração recebida é igual ou melhor que as informações gravadas na porta, todas as informações de BPDU são armazenadas.
O temporizador de idade começa a ser executado. O temporizador de idade começa na idade da mensagem que é recebida naquele BPDU de configuração.
Se esse temporizador de idade atingir a idade máxima antes do recebimento de outra BPDU que atualize o temporizador, as informações serão expiradas para essa porta.
Aqui está um exemplo que se aplica ao diagrama nesta seção:
-
Os Switches B e C recebem uma BPDU de configuração do switch A com uma idade de mensagem de 0. Na porta que vai para A, as informações envelhecem em (idade máxima - 0) segundos. Por padrão, esse tempo é de 20 segundos.
-
Os switches D e E recebem a BPDU do switch B com uma idade de mensagem de 1. Na porta que vai para B, as informações envelhecem em (idade máxima - 1) segundos. Por padrão, esse tempo é de 19 segundos.
-
O Switch F recebe a BPDU do switch E com uma idade de mensagem de 2. Na porta que vai para E, a informação expira em (idade máxima - 2) segundos. Por padrão, esse tempo é de 18 segundos.
Outros Parâmetros do Spanning Tree Protocol
O IEEE 802.1D define o STP. Além dos temporizadores descritos na seção Temporizadores do Spanning Tree Protocol, o IEEE também define estes parâmetros relacionados ao STP:
-
diâmetro do domínio STP (dia) — Esse valor é o número máximo de pontes entre dois pontos quaisquer de conexão de estações finais. A recomendação do IEEE é considerar um diâmetro máximo de sete pontes para os temporizadores STP padrão.
-
retardo de trânsito da bridge (retardo de trânsito) — Esse valor é o tempo decorrido entre a recepção e a transmissão do mesmo quadro pela bridge. Isto é logicamente a latência por meio da ponte. A recomendação do IEEE é considerar 1 segundo como o atraso máximo do trânsito da bridge.
-
Atraso de transmissão de BPDU (bpdu_delay) — Esse valor é o atraso entre o momento em que um BPDU é recebido em uma porta e o momento em que o BPDU de configuração é efetivamente transmitido para outra porta. O IEEE recomenda 1 segundo como o atraso máximo de transmissão de BPDU.
-
message age increment ooverestim (msg_ooverestim) — Esse valor é o incremento que cada bridge adiciona à idade da mensagem antes de encaminhar uma BPDU. Como a seção Temporizadores do Spanning Tree Protocol declara, os switches Cisco (e provavelmente todos os switches) adicionam 1 segundo à idade da mensagem antes que os switches encaminhem uma BPDU.
-
lost message (lost_msg) — Este valor é o número de BPDUs que podem ser perdidos quando um BPDU se move de uma extremidade da rede ligada para a outra extremidade. A recomendação do IEEE é usar três como o número de BPDUs que podem ser perdidos.
-
transmit halt delay (Tx_halt_delay) — Esse valor é a quantidade máxima de tempo necessária para que uma bridge mova efetivamente uma porta para o estado block após a determinação de que a porta precisa ser bloqueada. A recomendação do IEEE é usar 1 segundo para esse parâmetro.
-
atraso de acesso médio (med_access_delay) — Esse valor é o tempo necessário para um dispositivo obter acesso ao meio físico para a transmissão inicial. É o tempo entre a decisão da CPU de enviar um quadro e o momento em que o quadro efetivamente começa a sair da bridge. A recomendação do IEEE é usar 0,5 segundo como tempo máximo.
Com base nesses parâmetros, é possível calcular outros valores. Essa lista fornece os parâmetros adicionais e os cálculos. Os cálculos pressupõem que você use os valores padrão recomendados do IEEE para todos os parâmetros.
-
Atraso de propagação de BPDU de ponta a ponta — Esse valor é a quantidade de tempo necessária para que um BPDU viaje de uma extremidade da rede à outra. Suponha um diâmetro de sete saltos, três BPDUs que podem ser perdidos e um tempo de Hello de 2 segundos. Nesse caso, a fórmula é:
End-to-end_BPDU_propa_delay
= ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1))
= ((3 + 1) x hello) + ((1 x (dia – 1))
= 4 x hello + dia – 1
= 4 x 2 + 6
= 14 sec
-
Estimativa excessiva de idade da mensagem — A finalidade desse parâmetro é levar em conta a idade da BPDU desde a origem. Suponha que cada bridge aumente a idade da mensagem de BPDU em 1 segundo. A fórmula é:
Message_age_overestimate
= (dia – 1) x overestimate_per_bridge
= dia – 1
= 6
-
Tempo de vida máximo do quadro — Esse valor é o tempo máximo que um quadro enviado anteriormente à rede de bridge permanece na rede antes de o quadro atingir esse destino. A fórmula é:
Maximum_frame_lifetime
= dia x transit_delay + med_access_delay
= dia + 0.5
= 7.5
= 8 (rounded)
-
Atraso máximo de parada de transmissão — Esse valor é o tempo necessário para bloquear efetivamente uma porta, depois que a decisão de bloqueio é tomada. O IEEE conta 1 segundo como o máximo para esse evento. A fórmula é:
Maximum_transmission_halt_delay
= 1
Valores padrão dos temporizadores do Spanning Tree Protocol
Esta seção detalha como atingir o valor padrão para idade máxima e atraso de encaminhamento se você usar o valor recomendado para cada parâmetro.
Os valores recomendados são um diâmetro de sete e um tempo de Hello de 2 segundos.
max age
A idade máxima leva em conta o fato de que o switch que está na periferia da rede não expira as informações de raiz sob condições estáveis (isto é, se a raiz ainda estiver ativa).
O valor de idade máxima precisa levar em conta o atraso de propagação de BPDU total e a superestimativa de idade da mensagem. Portanto, a fórmula para idade máxima é:
max_age
= End-to-end_BPDU_propa_delay + Message_age_overestimate
= 14 + 6
= 20 sec
Este cálculo mostra como o IEEE atinge o valor padrão recomendado para idade máxima.
retardo de encaminhamento
O movimento de uma porta para o estado de escuta indica que há uma alteração na topologia ativa do STP e que uma porta vai de bloco a bloco.
Assim, os períodos de escuta e aprendizado quando o atraso de encaminhamento é executado devem cobrir este período consecutivo:
-
O tempo desde quando a primeira porta de bridge entra no estado de escuta (e permanece lá através da reconfiguração subsequente) até quando a última bridge na LAN interligada ouve a alteração na topologia ativa
Além disso, você precisa contar o mesmo atraso que usa para calcular a idade máxima (sobreestimativa da idade da mensagem e atraso de propagação de BPDU).
-
Tempo para que a última bridge pare de encaminhar quadros recebidos na topologia anterior (retardo máximo de parada de transmissão), até que o último quadro encaminhado na topologia anterior desapareça (duração máxima do quadro)
Essa quantidade de tempo é necessária para garantir que você não receba quadros duplicados.
Portanto, o dobro do tempo de atraso de encaminhamento (tempo de escuta + tempo de aprendizagem) contém todos esses parâmetros. A fórmula é:
2 x forward delay
= end-to-end_BPDU_propagation_delay + Message_age_overestimate +
Maximum_frame_lifetime + Maximum_transmission_halt_delay
= 14 + 6 + 7.5 + 1 = 28.5
forward_delay
= 28.5 /2
= 15 (rounded)
Ajustar a idade máxima e os temporizadores de atraso de encaminhamento
Entre todos esses parâmetros, os únicos que podem ser ajustados são:
Note: Sua capacidade de ajustar esses parâmetros depende da rede.
Não modifique nenhum dos valores desta lista. Deixe estes valores com o valor IEEE recomendado:
Esses valores podem parecer bastante conservadores em uma rede moderna, na qual não é provável que você perca três BPDUs ou tenha 1 segundo de latência para um quadro através de um switch.
No entanto, lembre-se de que esses valores existem para evitar loops de STP que podem ocorrer em condições de estresse, como:
Portanto, você deve considerar esses parâmetros como valores fixos. Se você usar as fórmulas mostradas na seção Valores Default dos Temporizadores do Spanning Tree Protocol, terá:
max_age
= End-to-end_BPDU_propa_delay + Message_age_overestimate
= ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1)) + (dia – 1) x overestimate_per_
bridge
= (4 x hello) + dia – 1 + dia – 1
= (4 x hello) + (2 x dia) – 2
forward_delay
= (End-to-end_BPDU_propa_delay + Message_age_overestimate +
Maximum_frame_lifetime + Maximum_transmission_halt_delay ) / 2
= ((lost_msg + 1) x hello) + ((BPDU_Delay x (dia – 1)) + ((dia – 1)
x overestimate_per_bridge) + (dia x transit_delay) + med_access_delay
+ Maximum_transmission_halt_delay) / 2
= ((4 x hello) + dia – 1 + dia – 1 + dia + 0.5 + 1) / 2
= ((4 x hello) + (3 x dia) – 0.5) / 2
Esses cálculos deixam você com essas duas fórmulas finais (se você arredondar o valor 0,5):
max_age = (4 x hello) + (2 x dia) – 2
forward_delay = ((4 x hello) + (3 x dia)) / 2
Se você quiser ajustar os temporizadores do STP para obter um melhor tempo de convergência, precisará usar estritamente essas duas fórmulas.
Exemplo: Se você tiver um diâmetro de quatro para uma rede com bridge, precisará usar estes parâmetros:
hello = 2 (default) then
max_age = 14 sec
forward_delay = 10 sec
If hello = 1 then
max_age = 10 sec
forward_delay = 8 sec
Note: hello = 1 é o valor mais baixo. Não há como ajustar esse parâmetro para menos de 10 segundos para idade máxima e 8 segundos para atraso de encaminhamento se o seu diâmetro for igual a quatro.
Diminuição do tempo de Hello para 1 Segundo
Uma redução do tempo de Hello para 1 segundo é a maneira mais fácil e segura de diminuir os parâmetros de STP.
No entanto, lembre-se de que, se você diminuir o tempo de Hello de 2 segundos para 1 segundo, você dobrará o número de BPDUs que são enviadas/recebidas por cada bridge.
Esse aumento causa uma carga adicional na CPU, que precisa processar duas vezes mais BPDUs. Essa carga pode ser um problema se você tiver várias VLANs e troncos.
Calcular o diâmetro
O diâmetro depende completamente do projeto da rede. O diâmetro é o número máximo de switches que você cruza para vincular quaisquer dois switches na rede interligada (que inclui origem e destino), se você assumir os piores casos. Você não cruza o mesmo switch duas vezes ao determinar o diâmetro. No diagrama da seção Temporizadores do Spanning Tree Protocol deste documento, você pode ver que tem um diâmetro de 5 (caminho F-E-B-A-C).
Agora, veja o diagrama nesta seção.
O diagrama contém alguns switches de acesso (switches C, D e E) que conectam dois switches de distribuição (switches A e B).
Há um limite de Camada 3 (L3) entre os switches de distribuição e o núcleo. O domínio interligado é interrompido nos switches de distribuição. O diâmetro do STP é 5:

Você pode ver no diagrama que não há nenhum par de switches que forneça um diâmetro maior que 5.
Alterar os temporizadores do Spanning Tree Protocol
Como a seção Temporizadores do Spanning Tree Protocol menciona, cada BPDU inclui os temporizadores de hello, retardo de encaminhamento e idade máxima de STP.
Uma bridge IEEE não está preocupada com a configuração local do valor dos temporizadores. A ponte IEEE considera o valor dos temporizadores na BPDU que a ponte recebe.
Efetivamente, apenas um temporizador que é configurado na bridge raiz do STP é importante. Se você perder a raiz, a nova raiz começa a impor seu valor de temporizador local na rede inteira.
Assim, mesmo que você não precise configurar o mesmo valor de temporizador em toda a rede, você deve pelo menos configurar qualquer alteração de temporizador na bridge raiz e na bridge raiz de backup.
Se você usa um switch Cisco que executa o software Catalyst OS (CatOS), existem algumas macros que permitem configurar a raiz e ajustar os parâmetros de acordo com as fórmulas.
Execute oset spantree root vlan dia diameter hello hello_time
comando para definir o diâmetro e o tempo de Hello. Aqui está um exemplo:
Taras> (enable) set spantree root 8 dia 4 hello 2
VLAN 8 bridge priority set to 8192.
VLAN 8 bridge max aging time set to 14.
VLAN 8 bridge hello time set to 2.
VLAN 8 bridge forward delay set to 10.
Switch is now the root switch for active VLAN 8.
Se você tiver o diâmetro de rede do STP configurado, o valor do diâmetro configurado não será exibido na configuração nem na saída de nenhumshow
comando.
Informações Relacionadas