Este documento descreve os recursos do Spanning Tree Protocol que visam melhorar a estabilidade da rede da Camada 2.
Este documento pressupõe que o leitor esteja familiarizado com a operação básica do Spanning Tree Protocol (STP).
Consulte Compreender e Configurar o Spanning Tree Protocol (STP) em Catalyst Switches para obter mais informações.
Este documento é baseado nos switches Catalyst que executam o Cisco IOS, no entanto, a disponibilidade dos recursos descritos pode depender da versão de software usada.
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.
Consulte as Convenções de dicas técnicas da Cisco para obter mais informações sobre as convenções do documento.
O Spanning Tree Protocol (STP) resolve fisicamente topologias redundantes em topologias em formato de árvores sem loops. Um problema com o STP é que falhas de hardware podem causar mau funcionamento, levando a loops de encaminhamento (loops de STP). Esses loops podem causar interrupções significativas na rede.
Este documento descreve o recurso protetor de loop STP que tem como objetivo melhorar a estabilidade das redes de Camada 2. Ele também descreve a detecção de desvio de BPDU (Bridge Protocol Data Unit). A detecção de desvio de BPDU é um recurso de diagnóstico que gera mensagens de syslog, quando as BPDUs não são recebidas a tempo.
O recurso protetor de loop STP foi introduzido no Cisco IOS® Software Release 12.1(12c) EW para switches Catalyst 4500 e no Cisco IOS Software Release 12.1(11b) EX para Catalyst 6500.
Internamente, o STP atribui a cada porta de ponte (ou switch) uma função que se baseia em configuração, topologia, posição relativa da porta na topologia e outras considerações.
A função da porta define o comportamento da porta sob o ponto de vista STP. De acordo com a função da porta, a porta envia ou recebe BPDUs do STP e encaminha ou bloqueia o tráfego de dados.
Esta lista fornece um breve resumo de cada função da porta STP:
Designado — Uma porta designada é escolhida por link (segmento). A porta designada é a porta mais próxima da ponte de origem. Essa porta envia as BPDUs no link (segmento) e encaminha o tráfego para a ponte de origem. Em uma rede convergente STP, cada porta designada está no estado de encaminhamento STP.
Raiz — A bridge pode ter apenas uma porta raiz. A porta de origem é a porta que leva à ponte de origem. Em uma rede convergente STP, a porta de origem está no estado de encaminhamento STP.
Alternativo — As portas alternativas levam à bridge raiz, mas não são portas raiz. As portas alternadas mantêm o estado de bloqueio de STP.
Backup — Este é um caso especial quando duas ou mais portas entre os mesmos switches estão conectadas juntas, diretamente ou através de meios compartilhados. Nesse caso, uma porta é designada, e o restante das portas é bloqueado. A função dessa porta é de backup.
O recurso do protetor de loop STP fornece proteção adicional contra loops de encaminhamento da Camada 2 (laços STP). Um loop STP é criado quando uma porta de bloqueio STP de uma topologia redundante faz a transição erroneamente para o estado de encaminhamento. Isso costuma acontecer porque uma das portas de uma topologia fisicamente redundante (não necessariamente a porta de bloqueio de STP) não recebe mais BPDUs de STP. Nessa operação, o STP depende da recepção contínua ou da transmissão dos BPDU com base na função da porta. A porta designada transmite BPDUs e a porta não designada recebe BPDUs.
Quando uma das portas em uma topologia fisicamente redundante não recebe mais BPDUs, o STP concebe que a topologia está livre de loops. Eventualmente, a porta de bloqueio da porta alternativa ou de backup é designada e passa para um estado de encaminhamento (essa situação cria um loop).
O recurso protetor de loop cria verificações adicionais. Se as BPDUs não forem recebidas em uma porta não designada e o protetor de loop estiver habilitado, essa porta será movida para o estado de bloqueio inconsistente de loop STP, em vez do estado de escuta/aprendizagem/encaminhamento. Sem o recurso protetor de loop, a porta assume a função de porta designada. A porta muda para o estado de encaminhamento STP e cria um loop.
Quando a proteção de loop bloqueia uma porta inconsistente, esta mensagem é registrada:
%SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/24 on VLAN0050.
Depois que a BPDU é recebida em uma porta em um estado de STP inconsistente de loop, a porta muda para outro estado de STP. Para a BPDU recebida, isso significa que a recuperação é automática e uma intervenção não é necessária. Após a recuperação, esta mensagem é registrada:
%SPANTREE-2-LOOPGUARD_UNBLOCK: Loop guard unblocking port FastEthernet0/24 on VLAN0050.
Considere este exemplo para ilustrar esse comportamento:
O Switch A é o Switch-raiz. O switch C não recebe BPDUs do switch B devido à falha do link unidirecional no link entre o switch B e o switch C.
Falha no link unidirecional
Sem o protetor de loop, a porta de bloqueio do STP no Switch C faz a transição para o estado de escuta do STP quando o temporizador max_age expira e, em seguida, faz a transição para o estado de encaminhamento duas vezes o tempo de forward_delay. Esta situação cria um loop.
O loop foi criado
Com o protetor de loop habilitado, a porta de bloqueio no Switch C passa para o estado inconsistente de loop STP quando o temporizador max_age expira. Uma porta no estado inconsistente de loop STP não transmite tráfego de usuário, portanto, um loop não é criado. O estado inconsistente de loop é efetivamente igual a um estado de bloqueio.
A proteção de loop ativada impede o loop
O recurso de proteção de loop é ativado por porta. Porém, enquanto bloqueia a porta no nível de STP, a proteção de loop bloqueia portas inconsistentes por VLAN (devido ao STP por VLAN).
Ou seja, se as BPDUs não forem recebidas na porta de tronco para apenas uma VLAN específica, apenas essa VLAN será bloqueada (movida para o estado STP de loop inconsistente). Pelo mesmo motivo, se ativado em uma interface EtherChannel, todo o canal será bloqueado para uma VLAN específica, não apenas um link (porque o EtherChannel é considerado uma porta lógica da perspectiva do STP).
Em quais portas o protetor de loop está habilitado? A resposta mais evidente é nas portas de bloqueio. No entanto, isso não é 100% correto. O protetor de loop deve ser ativado nas portas não designadas (mais precisamente, nas portas raiz e alternativa) para todas as combinações possíveis de topologias ativas. Contanto que a proteção de loop não seja um recurso por VLAN, a mesma porta (de tronco) pode ser designada para uma VLAN e não designada para a outra.
Os possíveis cenários de failover também devem ser considerados.
Exemplo
Portas com a proteção de loop ativada
Por padrão, o protetor de loop está desabilitado e este comando é usado para habilitar o protetor de loop na interface especificada:
Router(config)#interface gigabitEthernet 1/1 Router(config-if)#spanning-tree guard loop
O protetor de loop pode ser ativado em todos os links ponto a ponto. O link ponto a ponto é detectado pelo status duplex do link. Se o duplex estiver cheio, o link é considerado ponto-a-ponto. Ainda é possível definir ou substituir as configurações globais por porta.
Emita este comando para ativar o protetor de loop globalmente:
Router(config)#spanning-tree loopguard default
Emita este comando para desativar o protetor de loop em cada interface:
Router(config-if)#no spanning-tree guard loop
Emita este comando para desabilitar globalmente o protetor de loop:
Router(config)#no spanning-tree loopguard default
Emita este comando para verificar o status do protetor de loop:
Router#show spanning-tree summary Switch is in pvst mode Root bridge for: none EtherChannel misconfig guard is enabled Extended system ID is disabled Portfast Default is disabled PortFast BPDU Guard Default is disabled Portfast BPDU Filter Default is disabled Loopguard Default is enabled UplinkFast is disabled BackboneFast is disabled Pathcost method used is short Name Blocking Listening Learning Forwarding STP Active ---------------------- -------- --------- -------- ---------- ---------- Total 0 0 0 0 0
As funcionalidades de proteção de loop e Unidirecional Link Detection (UDLD) são sobrepostas, em parte no sentido de que ambas protegem contra falhas de STP causadas por links unidirecionais. No entanto, esses dois recursos são diferentes quanto à funcionalidade e forma como abordam o problema.
Esta tabela descreve a funcionalidade de proteção de loop e de UDLD:
| Funcionalidade | Protetor de loop | UDLD |
|---|---|---|
| Configuração | Por porta | Por porta |
| Granularidade de ação | Por VLAN | Por porta |
| Recuperação automática | Yes | Sim, com o recurso de limite de tempo err-disable |
| Proteção contra falhas de STP causadas por links unidirecionais | Sim, quando ativado em todas as portas de origem e alternativas na topologia redundante | Sim, quando ativado em todos os links na topologia redundante |
| Proteção contra falhas de STP causadas por problemas no software (o switch designado não envia a BPDU) | Yes | No |
| Proteção contra fiação incorreta. | No | Yes |
Com base nas várias considerações de projeto, você pode escolher a UDLD ou o recurso de proteção de loop. Em relação ao STP, a diferença mais perceptível entre os dois recursos é a ausência de proteção na UDLD contra falhas de STP causadas por problemas no software.
Como resultado, o switch designado não envia as BPDUs. No entanto, esse tipo de falha é (por ordem de magnitude) mais raro do que as falhas causadas por links unidirecionais. Em contrapartida, a UDLD pode ser mais flexível no caso de links unidirecionais no EtherChannel. Nesse caso, a UDLD desativa apenas os links com falha e o canal pode permanecer funcional com os links que permanecem. Em tal falha, o protetor de loop o coloca em um estado inconsistente de loop para bloquear todo o canal.
Adicionalmente, a proteção de circuito não funciona em enlaces compartilhados ou em situações nas quais o enlace é unidirecional desde a conexão. No último caso, a porta nunca recebe a BPDU e é designada. Como esse comportamento pode ser normal, a proteção de loop não abrange esse caso específico. A UDLD oferece proteção contra esse cenário. Conforme descrito, o mais alto nível de proteção é fornecido quando você ativa a UDLD e a proteção de loop.
protetor de raiz
A proteção de origem é mutuamente exclusiva com a proteção de loop. A proteção de origem é usada nas portas designadas e não permite que a porta se torne não designada. A proteção de loop funciona nas portas não designadas e não permite que a porta seja designada até a expiração de max_age. O protetor de raiz não pode estar habilitado na mesma porta da proteção do loop. Quando a proteção de loop é configurada na porta, ela desativa a proteção de origem configurada na mesma porta.
Uplink fast e backbone fast
Tanto o uplink fast como o backbone fast são transparentes para o protetor do circuito. Quando max_age é ignorado pelo backbone fast no momento da reconvergência, ele não aciona o protetor de loop. Para obter mais informações sobre uplink fast e backbone fast, consulte:
Protetor de BPDU e PortFast e VLAN dinâmica
O protetor de loop não pode ser habilitado em portas onde o portfast está habilitado. Como a proteção de BPDU funciona em portas ativadas para portfast, algumas restrições se aplicam à proteção de BPDU. A proteção de loop não pode ser ativada nas portas de VLAN dinâmicas, pois essas portas têm o portfast ativado.
Enlaces compartilhados
A proteção de loop não deve ser ativada em links compartilhados. Se você ativar a proteção de loop em links compartilhados, o tráfego dos hosts conectados aos segmentos compartilhados poderá ser bloqueado.
MST (extensão de árvore múltipla)
A proteção de loop funciona corretamente no ambiente MST.
| Revisão | Data de publicação | Comentários |
|---|---|---|
3.0 |
01-Jun-2026
|
Ortografia, gramática, estrutura de frases, espaçamento atualizados etc. |
2.0 |
18-Dec-2023
|
Recertificação |
1.0 |
14-Oct-2022
|
Versão inicial |