Introdução
Este documento descreve os recursos do Spanning Tree Protocol que se destinam a melhorar a estabilidade da rede de Camada 2.
Pré-requisitos
Requisitos
Este documento pressupõe que o leitor esteja familiarizado com a operação básica do STP. Consulte Compreender e Configurar o Spanning Tree Protocol (STP) em Catalyst Switches para obter mais informações.
Componentes Utilizados
Este documento é baseado nos switches Catalyst, 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.
Conventions
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
Informações de Apoio
O Spanning Tree Protocol (STP) resolve fisicamente topologias redundantes em topologias em formato de árvores sem loops. O maior problema com o STP é que algumas falhas de hardware podem fazer com que ele falhe. Esta falha cria loops de encaminhamento (ou loops do STP). As indisponibilidades principais da rede são causadas por loops do STP.
Este documento descreve o recurso de protetor de loop STP que tem como objetivo melhorar a estabilidade das redes de Camada 2. Este documento 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.
Disponibilidade de recursos
Cisco IOS
Funções da porta STP
Internamente, o STP atribui a cada porta de bridge (ou switch) uma função baseada na configuração, na topologia, na posição relativa da porta na topologia e em outras considerações. A função da porta define o comportamento da porta sob o ponto de vista STP. Com base na função da porta, a porta envia ou recebe BPDUs de STP e encaminha ou bloqueia o tráfego de dados. Esta lista fornece um breve resumo de cada função de porta STP:
-
Designado — Uma porta designada é escolhida por link (segmento). A porta designada é a porta mais próxima à bridge raiz. Essa porta envia BPDUs no link (segmento) e encaminha o tráfego para a bridge raiz. Em uma rede convergida STP, cada porta designada está no estado de encaminhamento STP.
-
Raiz — A bridge pode ter apenas uma porta raiz. A porta raiz é a porta que leva à bridge raiz. Em uma rede convergida STP, a porta raiz 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 mídia compartilhada. Nesse caso, uma porta é designada e o restante das portas é bloqueado. A função dessa porta é backup.
Guarda de circuito de STP
Descrição do recurso
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 de backup ou de substituição é designada muda para um estado de encaminhamento. Esta situação cria um loop.
O recurso protetor de loop faz verificações adicionais. Se os BPDUs não são recebidos em uma porta não designada, e o protetor de loop está habilitado, a porta muda para o estado de bloqueio inconsistente de loop de 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 o protetor de loop bloqueia uma porta inconsistente, esta mensagem é registrada:
-
Cisco IOS
%SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/24 on VLAN0050.
Uma vez que a BPDU é recebida em uma porta em um estado de STP inconsistente de loop, a porta passa para outro estado de STP. Para o BPDU recebido, isso significa que a recuperação é automática e a intervenção não é necessária. Após a recuperação, esta mensagem é registrada:
-
Cisco IOS
%SPANTREE-2-LOOPGUARD_UNBLOCK: Loop guard unblocking port FastEthernet0/24 on VLAN0050.
Considere este exemplo para ilustrar este comportamento:
O Switch A é o Switch-raiz. O switch C não recebe BPDUs do switch B devido a uma falha de link unidirecional no link entre o switch B e o switch C.
Falha de 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 em duas vezes o tempo de forward_delay. Esta situação cria um loop.
Loop Criado
Com o protetor de loop habilitado, a porta de bloqueio no switch C passa para o estado inconsistente de loop do 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 ao estado de bloqueio.)
Proteção de loop ativada evita loop
Considerações sobre configuração
O recurso protetor de loop é habilitado por porta. No entanto, desde que bloqueie a porta no nível de STP, o protetor de loop bloqueia portas inconsistentes em uma base 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). Pela mesma razão, se habilitado em uma interface EtherChannel, o canal inteiro será bloqueado para uma VLAN específica, não apenas um link (porque o EtherChannel é considerado como uma porta lógica do ponto de vista do STP).
Em quais portas o protetor de loop está habilitado? A resposta mais óbvia está nas portas de bloqueio. No entanto, isso não é totalmente 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. Desde que o protetor de loop não seja um recurso por VLAN, a mesma porta (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 proteção de loop ativada
Por padrão, o protetor de loop está desativado. Este comando é usado para ativar o protetor de loop:
-
Cisco IOS
spanning-tree guard loop
Router(config)#interface gigabitEthernet 1/1
Router(config-if)#spanning-tree guard loop
Efetivamente, 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 duplex estiver cheio, o link é considerado ponto-a-ponto. Ainda é possível definir, ou substituir, as configurações globais por porta.
Execute este comando para habilitar o protetor de loop globalmente:
-
Cisco IOS
Router(config)#spanning-tree loopguard default
Execute este comando para desabilitar o protetor de loop:
-
Cisco IOS
Router(config-if)#no spanning-tree guard loop
Execute este comando para desabilitar globalmente o protetor de loop:
-
Cisco IOS
Router(config)#no spanning-tree loopguard default
Execute este comando para verificar o status do protetor de loop:
-
Cisco IOS
show spanning-tree
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
Protetor de loop versus UDLD
A proteção de loop e a funcionalidade Unidirectional Link Detection (UDLD) se sobrepõem, parcialmente no sentido de que ambas protegem contra falhas de STP causadas por links unidirecionais. No entanto, esses dois recursos diferem em funcionalidade e como eles abordam o problema. Esta tabela descreve o protetor de loop e a funcionalidade UDLD:
Funcionalidade |
Protetor de loop |
UDLD |
Configuração |
Por porta |
Por porta |
Granularidade da ação |
Por VLAN |
Por porta |
Recuperação automática |
Yes |
Sim, com recurso de intervalo err-disable |
Proteção contra falhas de STP causadas por links unidirecionais |
Sim, quando habilitado em todas as portas raiz e alternativas na topologia redundante |
Sim, quando habilitado em todos os links na topologia redundante |
Proteção contra falhas de STP causadas por problemas no software (o switch designado não envia BPDU) |
Yes |
No |
Proteção contra fiação incorreta. |
No |
Yes |
Com base nas várias considerações de design, você pode escolher o UDLD ou o recurso de protetor de loop. Em relação ao STP, a diferença mais perceptível entre os dois recursos é a ausência de proteção no UDLD contra falhas do STP causadas por problemas no software. Como resultado, o switch designado não envia BPDUs. No entanto, esse tipo de falha é (por uma ordem de magnitude) mais rara do que falhas causadas por links unidirecionais. Por sua vez, o UDLD pode ser mais flexível no caso de links unidirecionais no EtherChannel. Nesse caso, o UDLD desabilita apenas os links com falha, e o canal pode permanecer funcional com os links restantes. 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 BPDU e torna-se designada. Como esse comportamento pode ser normal, esse caso específico não é coberto pelo protetor de loop. O UDLD fornece proteção contra tal cenário.
Conforme descrito, o nível mais alto de proteção é fornecido quando você ativa o UDLD e o protetor de loop.
Interoperabilidade de proteção de loop com outros recursos STP
protetor de raiz
O protetor de raiz é mutuamente exclusivo com o protetor de loop. O protetor de raiz é usado em portas designadas e não permite que a porta se torne não designada. O protetor de loop funciona em portas não designadas e não permite que a porta se torne designada através da expiração de max_age. O protetor de raiz não pode estar habilitado na mesma porta da proteção do loop. Quando o protetor de loop é configurado na porta, ele desativa o protetor de raiz configurado 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 estes documentos:
Protetor de BPDU e PortFast e VLAN dinâmica
O protetor de loop não pode ser habilitado para portas nas quais o portfast está habilitado. Como o BPDU guard funciona em portas ativadas por portfast, algumas restrições se aplicam ao BPDU guard. O protetor de loop não pode ser habilitado em portas VLAN dinâmicas, pois essas portas têm o portfast habilitado.
Enlaces compartilhados
O protetor de loop não deve ser habilitado em links compartilhados. Se você ativar o protetor de loop em links compartilhados, o tráfego de hosts conectados a segmentos compartilhados poderá ser bloqueado.
MST (extensão de árvore múltipla)
O protetor de loop funciona corretamente no ambiente MST.
Informações Relacionadas