Este documento descreve os temporizadores do Spanning Tree Protocol (STP) e as regras a serem seguidas para ajustar os temporizadores.
Observação: este documento discute apenas como ajustar temporizadores STP para spanning tree 802.1D regular. Este documento não discute o protocolo Rapid STP (RSTP) (IEEE 802.1w) ou o protocolo MST (Multiple Spanning Tree) (IEEE 802.1s). Para obter mais informações sobre RSTP e MST, consulte estes documentos:
Compreendendo o protocolo múltiplo de extensão de árvore (802.1s)
Compreendendo o protocolo de abrangência de árvore rápida (802.1w)
Este documento pressupõe um bom entendimento do STP. Para obter mais informações sobre a operação do STP, consulte Compreendendo e Configurando o Protocolo de Árvore Estendida (STP - Spanning Tree Protocol) em Catalyst Switches .
Cuidado: você pode usar este documento para ajudá-lo a resolver seus problemas de rede, mas somente se estiver familiarizado com o processo ou se alguém que esteja familiarizado com o processo o tiver direcionado. Se você não está familiarizado com o STP, as alterações feitas podem causar qualquer uma destas ocorrências:
Instabilidade
Lentidão do aplicativo
Picos da CPU
fusão de LAN
Consulte 802.1D - Padrões IEEE para Redes Locais e Metropolitanas: Bridges de Controle de Acesso ao Meio (MAC - Media Access Control) (Cláusula 8) para obter detalhes adicionais e referências sobre todos os parâmetros discutidos neste documento.
Este documento não se restringe a versões de software e hardware específicas.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
Há vários temporizadores STP, como esta lista mostra:
hello — O tempo de hello é o tempo entre cada unidade de dados do protocolo de bridge (BPDU) enviada em uma porta. Esse tempo é igual a 2 segundos (s) por padrão, mas você pode ajustar o tempo para ser entre 1 e 10 s.
retardo de encaminhamento — O retardo de encaminhamento é o tempo gasto no estado de escuta e aprendizado. Esse tempo é igual a 15 s por padrão, mas você pode ajustar o tempo para ser entre 4 e 30 s.
max age —O temporizador max age controla o tempo máximo que passa 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 ajustar o tempo para entre 6 e 40 segundos.
Cada BPDU de configuração contém estes 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. O tempo de existência da mensagem contém o tempo decorrido desde que a bridge raiz originou inicialmente a BPDU. A bridge raiz envia todos os seus BPDUs com um valor de idade da mensagem 0 e todos os switches subsequentes adicionam 1 a esse valor. Efetivamente, esse valor contém as informações sobre a distância que você está da bridge raiz quando 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 recebida na BPDU de configuração. Se esse temporizador de idade atingir a idade máxima antes que outro BPDU seja recebido que atualize o temporizador, as informações ficarão obsoletas 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 expiram em (max age - 0) seg. Esta vez é de 20 segundos por padrão.
Os switches D e E recebem a BPDU do switch B com uma idade de mensagem de 1. Na porta que vai para A, as informações expiram em (idade máxima - 1) s. Esta vez é de 19 segundos por padrão.
O Switch F recebe a BPDU do switch E com uma idade de mensagem de 2. Na porta que vai para E, as informações expiram em (idade máxima - 2) s. Esta vez é de 18 segundos por padrão.
O IEEE 802.1D define o STP. Além dos temporizadores que a seção Spanning Tree Protocol Timers descreve, 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 bridges entre dois pontos 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 de trânsito da bridge.
Atraso de transmissão de BPDU (bpdu_delay) — Esse valor é o atraso entre o tempo em que um BPDU é recebido em uma porta e o tempo 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.
sobreestimativa do aumento de idade da mensagem (msg_overestima) — Este valor é o incremento que cada bridge adiciona à idade da mensagem antes de encaminhar uma BPDU. Como a seção Spanning Tree Protocol Timers afirma, os switches Cisco (e provavelmente todos os switches) adicionam 1 segundo à idade da mensagem antes que os switches encaminhem uma BPDU.
mensagem perdida (loss_msg) — Este valor é o número de BPDUs que podem ser perdidos quando uma BPDU se move de uma extremidade da rede conectada 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 é o tempo máximo necessário para que uma bridge mova efetivamente uma porta para o estado blocking após a determinação de que ela precisa ser bloqueada. A recomendação do IEEE é usar 1 segundo para esse parâmetro.
media access delay (med_access_delay) — Esse valor é o tempo necessário para que um dispositivo obtenha acesso ao meio 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 s como o tempo máximo.
Com base nesses parâmetros, é possível calcular outros valores. Esta lista fornece os parâmetros adicionais e os cálculos. Os cálculos presumem que você usa os valores IEEE recomendados padrão para todos os parâmetros.
Atraso de propagação de BPDU fim-a-fim — Esse valor é a quantidade de tempo necessária para uma BPDU trafegar de uma extremidade da rede até a outra extremidade. Suponha um diâmetro de sete saltos, três BPDUs que podem ser perdidos e um tempo de saudação 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
Sobreestimativa da idade da mensagem — A finalidade deste parâmetro é considerar a idade da BPDU desde a origem. Suponha que cada bridge aumente o tempo de existência da mensagem BPDU em 1 segundo. A fórmula é:
Message_age_overestimate = (dia – 1) x overestimate_per_bridge = dia – 1 = 6
Duração máxima do quadro — Esse valor é o tempo máximo que um quadro que foi enviado anteriormente para a rede da bridge permanece na rede antes de o quadro alcançar 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 interrupção da transmissão — Esse valor é o tempo necessário para bloquear efetivamente uma porta, após a decisão de bloquear ser tomada. O IEEE conta 1 segundo como o máximo para este evento. A fórmula é:
Maximum_transmission_halt_delay = 1
Esta seção detalha como alcançar 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 saudação de 2 segundos.
A idade máxima leva em conta o fato de que o switch que está na periferia da rede não atinge o tempo limite das informações de raiz em condições estáveis (isto é, se a raiz ainda estiver viva). O valor de idade máxima precisa levar em conta o atraso total de propagação de BPDU e a sobreestimativa 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
Esse cálculo mostra como o IEEE atinge o valor padrão recomendado para idade máxima.
O movimento de uma porta no estado de escuta indica que há uma alteração na topologia ativa do STP e que uma porta passará do bloqueio ao encaminhamento. Portanto, os períodos de escuta e aprendizado durante os quais o retardo de encaminhamento é executado devem cobrir esse período consecutivo:
O tempo desde quando a primeira porta de ponte entra no estado de escuta (e permanece lá através da reconfiguração subsequente) até quando a última ponte na LAN de ponte 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 da BPDU).
Tempo para que a última ponte pare de encaminhar quadros recebidos na topologia anterior (atraso máximo de interrupção da transmissão), até que o último quadro encaminhado na topologia anterior desapareça (duração máxima do quadro)
Esse tempo é necessário para garantir que você não obtenha quadros duplicados.
Portanto, o dobro do tempo do atraso de encaminhamento (tempo de escuta + tempo de aprendizado) 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)
Entre todos esses parâmetros, os únicos que você pode ajustar são:
Observação: sua capacidade de ajustar esses parâmetros depende da rede.
hello—De 1 a 6
max age
retardo de encaminhamento
Diâmetro — depende da rede.
Não modifique nenhum dos valores desta lista. Deixe esses valores no valor IEEE recomendado:
lost_msg = 3
delay_de_trânsito = 1
bpdu_delay = 1
msg_overEstimativa = 1
Tx_halt_delay = 1
med_access_delay = 0,5
maximum_transmission_halt_delay = 1
Esses valores podem parecer bastante conservadores em uma rede moderna, na qual você provavelmente não perderá três BPDUs ou terá 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 STP que podem ocorrer em condições de estresse, como:
Muito alta utilização da CPU
Uma porta sobrecarregada
Portanto, você deve considerar esses parâmetros como valores fixos. Se você usar as fórmulas que a seção Valores padrão dos temporizadores do Spanning Tree Protocol mostrar, você 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 estas 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 quiser ajustar os temporizadores do STP para obter um melhor tempo de convergência, você precisa seguir rigorosamente essas duas fórmulas.
Exemplo: Se você tiver um diâmetro de quatro para uma rede em 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
Nota: hello = 1 é o valor mais baixo. Não há como você ajustar esse parâmetro abaixo de 10 s para idade máxima e 8 s para atraso de encaminhamento se seu diâmetro for igual a quatro.
Uma redução do tempo de saudação para 1 segundo é a maneira mais fácil e segura de diminuir os parâmetros do STP. No entanto, lembre-se de que se você soltar o tempo de saudação de 2 s para 1 s, você dobrará o número de BPDUs que são enviados/recebidos 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.
O diâmetro depende completamente do projeto da rede. O diâmetro é o número máximo de switches que você cruza para conectar dois switches na rede em bridge (que inclui origem e destino), se você assumir os piores casos. Você não atravessa o mesmo switch duas vezes ao determinar o diâmetro. No diagrama da seção Cronômetros do Spanning Tree Protocol deste documento, você pode ver que tem um diâmetro de 5 (caminho F-E-B-A-C).
Agora, olhe para o diagrama nesta seção. O diagrama contém alguns switches de acesso (switches C, D e E) que se conectam a dois switches de distribuição (switches A e B). Há um limite da 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:
C-A-D-B-E
D-A-C-B-E
Você pode ver no diagrama que não há nenhum par de switches que forneça um diâmetro maior que 5.
Como a seção Spanning Tree Protocol Timers menciona, cada BPDU inclui os temporizadores de hello, forward delay e max age STP. Uma bridge IEEE não está preocupada com a configuração local do valor dos temporizadores. A bridge IEEE considera o valor dos temporizadores na BPDU que a bridge recebe. Efetivamente, somente um temporizador configurado na bridge raiz do STP é importante. Se você perder a raiz, a nova raiz começa a impor seu valor de temporizador local em toda a rede. 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), há algumas macros que permitem configurar a raiz e ajustar os parâmetros de acordo com as fórmulas. Execute o comando set spantree root vlan dia diâmetro hello hello_time 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 da rede STP configurado, o valor de diâmetro configurado não será exibido na configuração ou na saída de qualquer comando show.