Resumo Spanning-Tree

O Objetivo do STP é eliminar loops na rede com a negociação de caminhos livres através do Switch Root (Raiz). Dessa forma é garantido que haverá apenas um caminho para qualquer destino mas com o bloqueio dos caminhos redundantes. Se houver falha no enlace principal, o caminho em estado de bloqueio torna-se o principal.
Nesse vídeos fazemos um resumo do Spanning-Tree e suas configurações.

Até logo!

Vídeo: Protegendo o Spanning-Tree (STP)

Os ataques ao protocolo STP geralmente têm como objetivo assumir a identidade do switch root da rede, ocasionando assim cenários de indisponibilidade na rede. Programas como o Yersinia permitem gerar esse tipo de ataque. Há também cenários em que usuários adicionam switches não gerenciados e hubs (propositadamente ou não) com o intuito de fornecer mais pontos de rede em ambientes que deveriam ser controlados.

Funcionalidades comentadas no video para mitigar os ataques ao STP, são: Root Protection (Root Guard), BPDU Protection (BPDU guard) com STP edged-port (portfast) e loop protection (loop guard).

Até logo!

Perguntas e Respostas: Portas Access/Trunk/Híbrida, LACP e STP.

Galera, essa semana recebi um email com algumas dúvidas sobre portas Trunk/Hybrid, Link Aggregation e STP. Achei que seria bacana responder na forma de post pois acredito que essas questões podem ser as dúvidas de mais pessoas.

Segue abaixo as questões editadas… sintam-se livres para interagir nos comentários.

Diego,
Se não for muito incomodo pra vc, consegue me responder as questões abaixo?

  1. Diferença do link aggregation em modo static e dynamic, quando usar um ou outro?

O Link-Aggregation permite  agregação de diversas interfaces Ethernet (portas físicas) para a criação de uma única porta lógica com o intuito de prover redundância e aumento de banda. As melhores práticas sugerem a negociação do protocolo LACP (802.3ad) entre os 2 equipamentos que desejam fechar a agregação de portas afim de evitar erros de cabeamento e certificar o meio físico em todo o tempo que o Link-Aggregation estiver ativo, além de agilizar a redundância em caso de falhas.

Exemplo de configuração com LACP: http://www.comutadores.com.br/switches-3com-4800g-link-aggregation/

Mas há também cenários em que um dos equipamentos não utiliza o protocolo LACP  para agregação de links ou então o meio físico oferecido pelo Provedor de Serviços para comunicação Ethernet não permite o encaminhamento de alguns protocolos da camada de enlace como o LLDP, CDP, LACP, STP, etc. Então nesses cenários devemos usar o modo static, isto é, Link-aggregation configurado manualmente sem validação do meio e/ou equipamentos por um protocolo como 802.3ad. Se a porta estiver UP, o modo static irá encaminhar o tráfego, mesmo que o cabeamento esteja conectado em outro equipamento incorretamente.

  1. Diferença de portas trunk e hybrid, quando usar a hybrid?

Enquanto a porta configurada como access permite apenas o tráfego de quadros Ethernet sem marcação de tag 802.1Q, o que faz com que o Switch atribua a comunicação para aquela VLAN, a configuração Trunk e Hybrid permitem a utilização de várias VLANs em uma única porta. As portas configuradas como access são geralmente atribuídas para computadores, servidores, impressoras, etc.

A porta Trunk é utilizada para o encaminhamento e recebimento de tráfego Ethernet tagueado com o ID da VLAN mas com a exceção de permitir apenas uma VLAN não tagueada, dita explicitamente na configuração. Por padrão o tráfego não tagueado de uma porta trunk é direcionado para a VLAN 1 (mas isso pode ser modificado). As portas trunk são configuradas na comunicação entre Switches e também com Servidores que possuem Switches virtuais internos para VMs, etc.

Exemplos:

http://www.comutadores.com.br/video-vlans-configuracao-de-porta-access-hybrid-e-trunk-para-switches-hpn-3com-e-h3c/

http://www.comutadores.com.br/vlan-trunk-utilizando-802-1q-dot1q/

Já a porta Hybrida permite encaminhar o tráfego de inúmeras VLAN tagueadas ou não. Por exemplo, se você precisa que o tráfego de duas máquinas que estão atrás de um HUB seja separado dinamicamente entre duas  VLANs diferentes, a configuração de porta hybrida permite que o Switch leia marcações como endereço MAC, 802.1p, cabeçalho IP e etc, para dinamicamente efetuar diferenciação do tráfego para as suas respectivas VLANs (lembrando que o tráfego nesse caso pode vir sem TAG das máquinas).

Exemplo de configuração de porta Híbrida:

http://www.comutadores.com.br/mac-based-vlans/

http://www.comutadores.com.br/switches-3com-4800g-atribuindo-uma-vlan-dinamicamente-a-uma-porta-baseado-no-ip-de-origem-ip-subnet-based-vlan/

  1. O spanning tree é habilitado nas portas (uma a uma) ou no switch?

Para habilitar (ou desabiltar) o spanning-tree no Switch é preciso a configuração no modo global.

Exemplo para habilitar o STP:

http://www.comutadores.com.br/stp-desabilitado/

Apesar de ser o protocolo mais utilizado para prevenção de loop, o Spanning-Tree não se encaixa em todos os cenários de rede e o seu algoritmo  pode as vezes prejudicar a integração de diferentes ambiente. Nesse caso é possível adicionar algumas features individualmente nas portas para ajuste fino, como por exemplo o stp-edged port (portfast) ou então desabilitar o STP somente em determinadas portas. Mas cada caso deve ser estudado minuciosamente para evitar situações de loop.

Exemplos de tuning para o STP:

http://www.comutadores.com.br/protegendo-o-spanning-tree/

http://www.comutadores.com.br/switches-hpn7500-configurando-filtros-para-bpdus-bpdu-filtering/

http://www.comutadores.com.br/switches-3com-4800g-edged-port-bpdu-protection/

  1. Diferença do spanning tree para o rapid spanning tree, quando usar o rapid spanning tree?

O Rapid Spanning-Tree (802.1w) é uma evolução do Spanning-Tree inicial (802.1d) com um significativa melhora no tempo de convergência e conectividade da rede.

Uma das grandes limitações do STP não foi corrigida na versão 802.1w que é o bloqueio de todos os caminhos redundantes como prevenção de Loop. Esse tipo de cenário acaba gerando ocasionando gargalos pois a empresa gasta uma quantidade significativa de dinheiro para a extensão de fibra redundante deixando um dos links sobrecarregados enquanto o outro está ocioso.

A versão Multiple Spanning-Tree (802.1s) permite a criação de instancias independentes do STP para balanceamento de VLAN permitindo a alteração do root para determinadas VLANs ou o custo para o root. O protocolo é um pouco complexo quando você deseja conectar grandes domínios 802.1s entre si, por exemplo estender a LAN de duas empresas, mas com um bom planejamento o protocolo torna-se uma ferramenta poderosa.

Todos os Switches HP baseados no comware, ao habilitar o STP, iniciam a versão 802.1s. Caso você não faça nenhuma configuração de ajuste o 802.1s terá o comportamento da versão Rapid-Spanning Tree.

Artigos sobre STP

http://www.comutadores.com.br/rapid-spanning-tree-802-1w/

http://www.comutadores.com.br/elegendo-o-switch-root-do-spanning-tree/

http://www.comutadores.com.br/introducao-ao-multiple-spanning-tree-802-1s/

  1. Para habilitar o spanning tree, basta dar um enable stp na porta de uplink ou é necessario configurar algo a mais (ou quando habilitamos para a switch, já é aplicado para todas as interfaces)?

Ao habilitar o STP no Switch a configuração é atribuída a todas as portas e as mesmas iniciam o encaminhamento de BPDUs para prevenção de loop.

  1. Devo usar os mesmo comandos do stp (ex: “stp edged-port enable”, “stp cost”, ) quando utilizado o rstp?

Sim, o comando é o mesmo para as versões 802.1w e 802.1s

  1. Nas interfaces de uplink, entre switchs que nao sao cores, as portas stp devem ficar como DESIGNATED, PORT ROOT ou ALTERNATE PORT?

Tudo vai depender de quem será o Switch Root da sua rede. Se o Switch Core for o root, os uplinks do Switch Core estarão como DESIGNATED, já os Switches não-Core, conectados a ele, terão suas portas como ROOT PORT (melhor caminho para o Switch ROOT) ou ALTERNATE PORT (porta redundante bloqueada para prevenção de Loop)

  1. Em qual interface, dos switchs roots, devo usar o comando stp root-protection?

A configuração da porta como Root Guard permite à uma porta Designada a prevenção de recebimento de BPDU’s superiores, que indicariam outro Switch com melhor prioridade para tornar-se Root. A feature força a porta a cessar comunicação toda vez quem um Switch tiver o Priority ID mais favoravel para tornar-se Root, então o Switch Root isola assim o segmento para o Switch indesejado. Após encerrar o recebimento desses BPDU’s a interface voltará à comunicação normalmente

Essa feature é geralmente configurada em portas Designadas do Switch Root.

  1. Devo setar o comando “stp loop-protection” nas interfaces “ALTERNATE PORT” (caminho secundário) das switchs não core. Correto?

Correto, a configuração da porta como Loop Guard possibilita aos Switches não-Root, com caminhos redundantes ao Switch Raiz, a função de se  proteger contra cenários de loop na rede quando há falhas no recebimento de BPDU’s em portas ALTERNATE.

Quando uma porta ALTERNATE parar de receber BPDU’s ela identificará o caminho como livre de Loop e entrará em modo de encaminhamento ( imaginando que a porta Root  continue recebendo BPDU’s) criando assim um Loop lógico em toda a LAN. Nesse caso a feature deixará a porta alternativa sem comunicação até voltar a receber BPDU’s do Switch Root.

Obs: Dica! Simule as features em ambiente de laboratório antes de aplicar em uma rede de produção. Isso permitirá ao administrador conhecer melhor os cenários, equipamentos, falhas e troubleshooting.

Até logo.

STP desabilitado!!!!

Alguns Switches HPN serie-A, como por exemplo da série 7500, dependendo da versão do Comware, vem de fábrica com o protocolo STP desabilitado, assim como a maioria dos Protocolos e Serviços do equipamento. Nesse caso, sempre verifique o status do Spanning-Tree antes de colocar o equipamento em uma rede de produção e se necessário, habilite. 😉

[Switch] display stp
Protocol Status :disabled
Protocol Std. :IEEE 802.1s
Version :3
Bridge-Prio. :32768
MAC address :000f-e203-0200
Max age(s) :20
Forward delay(s) :15
Hello time(s) :2
Max hops :20
! Identificando que o STP está desabilitado no Switch

[Switch]stp enable
%Jun 18 16:21:10:253 2012 Switch MSTP/6/MSTP_ENABLE: STP is now
enabled on the device.
! Habilitando o Spanning-Tree

Um grande abraço

Rapid Spanning-Tree (802.1w)

Publicado originalmente em26 DE OUTUBRO DE 2010
O protocolo Rapid Spanning-Tree é definido no padrão IEEE 802.1w para melhora no tempo de convergência do Spanning-Tree (802.1d) ,definindo regras para que os links alterem rapidamente ao estado de encaminhamento (forwarding), gerando mensagens BPDUs em vez de apenas retransmitir os BPDUs do Root, oferecendo uma significativa melhora no tempo de convergência da rede.

Uma das principais melhorias efetuadas no protocolo reduziu o tempo de convergência em caso de falha de 3 Hellos BPDU’s (por default 2 segundos cada Hello) ao invés de 10 Hellos BPDU’s na versão anterior do Protocolo.

O RSTP elege o Switch Root da mesma maneira que o 802.1d e o tempo de transição para o estado das portas foi reduzido com 3 operações básicas: Discarding, Learning e Forwarding

 

A rápida transição para o forwarding é permitida sem a necessidade de esperar o tempo da configuração, baseando-se na classificação dos equipamentos conectados nas portas do Switch.

  • Edge : porta conectada a computadores, telefones IP, impressoras etc.
  • Point-to-Point: porta conectada em outro Switch
  • Shared: Porta conectada a um Hub

Edge

As portas do Switch conectadas a computadores e servidores precisam de configuração manual para rápida transição do modo de discarding para o forwarding. Durante qualquer alteração da topologia do Spanning-tree a porta Edge não participará do Spanning-Tree, mas gerará BPDU’s por segurança.

[Sw] interface gigabitethernet 1/0/1
[Sw-GigabitEthernet1/0/1] stp edged-port enable

Obs: Se uma porta configurada como edge receber um BPDU, automaticamente voltará ao estado uma porta normal do STP 

Point-to-Point

Por default as portas RSTP conectadas e negociadas como Full Duplex entre Switches consideram-se point-to-point. A rápida transição é possível após a porta encaminhar um BPDU como Proposal e receber a confirmação do BPDU com um Aggrement , esse processo é chamado de handshake ( na tradução literal, aperto de mãos).

Se houverem Links redundantes na topologia a porta com caminho alternativo para o Switch Root ficará no estado de discarding e será considerada como uma Alternate Port.

Outra melhora na versão do protocolo ocorre durante mudanças na topologia, como por exemplo, quebra do caminho principal. Os Switches não terão que esperar o aviso do Switch Root para efetuarem a convergência da topologia (basta receber um TCN do Switch vizinho) e assim a porta com caminho alternativo poderá mudar imediatamente para o estado de encaminhamento.

Em testes práticos a convergência na quebra de um link chega a perder um PING.

Para habilitar o RSTP nos Switches H3C/3Com utilize o comando stp mode rstp

Rapidinhas

• Todo Switch vem de fabrica com o valor da Bridge priority como 32768, a eleição do Switch Root pode ser manipulada alterando o valor do bridge priority menor que o Valor padrão. Em caso de empate é utilizado o endereço MAC do equipamento.

• O estado de “bloqueio” das portas utilizado no Spanning-Tree (802.1d) é renomeado para estado de “descarte”(discarding). A função de uma porta de descarte é a de uma porta alternativa. A porta de descarte pode tornar-se uma porta designada se a porta do segmento falhar.

• As regras de Portas Root e Designadas são idênticas em ambas versões do STP

• Uma porta Root possui o melhor caminho para o Switch Root que é geralmente o caminho de menor custo. ( O Switch Root não possui porta Root)

• Uma porta Designada é porta que encaminha os BPDUs dentro de um segmento. ( Existente em Switches Root e não-Root)

• Alternate Port – porta bloqueada por ser um caminho alternativo para o Switch Root. A porta alternativa irá tornar-se root se a porta root falhar.

• Backup Port – porta bloqueada que recebe um BPDU de uma porta designada do mesmo segmento. (como por exemplo um cabo conectado do próprio Switch ou 2 conexões para o mesmo HUB)

• Utilize sempre os comandos display stp e display stp briefpara visualização dos estados das portas do STP.

• O protocolo 802.1w possui compatibilidade com o 802.1d

Abraços a todos!

Spanning-tree – Manipulando o Custo do Caminho para o Root (Path Cost)

Para criar uma rede livre de Loops, o Protocolo Spanning-tree (802.1d) utiliza 4 processos:

1º Processo
Eleição do menor Bridge ID para escolher o Switch Root

2º Processo
Eleição do menor caminho para o Root

3º Processo
eleição do menor Bridge ID do Switch que está encaminhando o BPDU do Root

4º Processo
Eleição do menor Port ID

Todo Switch da LAN (exceto os “Switches-Hub”) , recebe informações sobre os outros Switches da rede através da troca de mensagens chamadas de BPDUs (Bridge Protocol Data Units) que são encaminhados a cada 2 segundos em todas as portas para garantir a estabilidade da rede.

Entretanto, se a porta recebe um BPDU mais interessante (1º processo) de outro Switch, ele parará de gerar mensagens BPDUs e apenas encaminhará as mensagens desse dispositivo.

Baseado nas informações do Bridge ID dentro dos BPDUs os switches são capazes de:

– Eleger um Switch único, entre todos da LANs, para ser o Root Bridge (Raiz).

A partir do Switch Root os outros Switches da Rede escolherão o melhor caminho(baseado no custo do ponto de vista do Switch não-Root) para o Switch Root e bloquearão os caminhos redundantes para evitar loops na rede.
No exemplo acima (utilizando o custo das portas estabelecido no primeiro padrão do STP) a porta Fa0/1 (custo 19) do Switch não-Root ficará no estado de Bloqueio pois possui o MAIOR custo para chegar ao Root em comparação com a porta G0/1 (custo 4).

Existem cenários que é necessário manipular o path cost (custo do caminho) para escolha do melhor caminho para o Root visto que o meios físicos escolhido para transmissão dos quadros é mais suscetível a interferências, etc.

No exemplo abaixo a Empresa X possui 2 Switches com todas as portas GigabitEthernet para interligação entre 2 prédios distantes. Para conexão entre esses 2 dispositivos,foi utilizado fibra óptica e devido ao alto custo para passagem de nova infra-estrutura para redundância foi decidido a utilização de antenas (wireless) para contingência.

Se apenas tivéssemos manipulado o valor do Bridge ID do Switch Root, a eleição da porta Bloqueada basearia-se no 4º processo ( eleição do menor port ID, no sentido Root –> não-Root), pois o custo para o Root sofreria empate no 2º processo.

Para resolução desse cenário, poderia utilizar as seguintes tarefas:

1º Inverter as portas do Switch Root (G0/1 para Fibra e G0/2 para conexão sem fio); ou…

2º Aumerntar o Custo da porta G0/1 do Switch não-Root para alterarmos os estados das portas.

Configuração

Para a configuração da maioria dos Switches 3Com (no exemplo acima ), digite o comando dentro da Interface G1/0/1 do Switch não-Root:

interface Gi1/0/1
stp cost 19

Nesse caso a conexão com fibra ficaria ativa pelo MENOR custo  e o link wireless (redundante)  em estado de bloqueio!

Bom, é isso….

Até mais!

 

Troubleshooting STP

Publicado originalmente em 24 DE OUTUBRO DE 2010

A principal função do STP é proteger a rede de loops criados por links redundantes na LAN. Os loops criados na rede podem causar problemas na topologia Spanning-Tree quando não protegida de forma correta.

Situações como Spanning-tree desabilitado, erros de negociação de duplex, erros dos quadros durante a transmissão/recepção, problemas nos conectores, super-utilização de CPU e modificação dos temporizadores são alguns dos cenários que podem comprometer a estabilidade do algoritmo.

Um dos principais sintomas perceptíveis durante problemas de instabilidade do Spanning-Tree é a oscilação da conectividade dos serviços da rede local, flapping de endereços MAC nas interfaces (troca de aprendizado [constante]), troca simultânea do Root da rede (ocasionada pela utilização excessiva de recursos dos Switches que não conseguem processar ou encaminhar BPDU’s)

 

Restaurando a conectividade 

• Passo 1: Conheça a rede

Tenha sempre um diagrama atualizado da sua topologia de rede identificando o seu Switch Root, modo do STP ( STP, RSTP, MSTP, etc) e links redundantes.

• Passo 2: Identifique o Loop na rede

Em situações de problemas na Topologia Spanning-Tree identifique o UpLink que está ocasionando o problema desconectando cada uma das portas para localizar o ponto de loop na LAN.

• Passo 3: Restaure a conectividade

• Passo 4: Verifique o status das portas

Comandos como display stp e display stp brief podem informar status como o Spanning-tree desabilitado, Switch root da rede, portas bloqueadas e etc.

• Passo 5: Verifique os erros

Analise os eventos no servidor Syslog ou o logbuffer nos dispositivos ( tente identificar a partir de qual ação, ocasionou o problema na rede).

• Passo 6: Corrija o problema!

Desabilite ou habilite features que possam corrigir o problema

Features
Features como Edged-port (portfast), BPDU protection, Root Guard, Loop Protection, etc. Podem ser bastante úteis para a proteção de sua rede.

Referencia: Building Cisco Multilayer Switched Networks 4th Edition (Richard Froom, Balaji Sivasubramanian and Erum Frahim)

Vocês já passaram por problemas no STP da sua rede? O que ocasionou? O que fizeram para resolver? 😉

Abraço a todos

Elegendo o Switch Root do Spanning-Tree

Publicado originalmente em 6 DE SETEMBRO DE 2010

Protocolo Spanning-Tree ( STP) foi desenvolvido para evitar que loops físicos interfiram no desempenho da rede. O protocolo consegue detectar onde estão os loops na rede bloqueando os caminhos redundantes.

“Quando um Switch recebe um broadcast, ele o repete em cada porta (exceto naquela em que foi recebido). Em um ambiente com loop, os broadcasts podem ser repetidos infinitamente” Gary A. Donahue , Network Warrior, O’Reilly, 2007, p59)

Em caso de caminhos redundantes sem a utilização do Spanning-Tree, o processo de encaminhamento de broadcast só será interrompido quando o loop for desfeito, com a remoção de cabos ou o desligando o equipamento. Em diversas situações, uma tempestade de broadcast “derruba” a comunicação da rede.

O Switch Root

A utilização do STP é geralmente imperceptível na grande maioria das redes devido ao fato da convergência ocorrer sem a necessidade de configurações adicionais. Todo Switch da LAN , recebe informações sobre os outros Switches da rede através da troca de mensagens chamadas de BPDUs (Bridge Protocol Data Units).

Ao tirarmos um Switch da caixa ( preferencialmente gerenciável) e colocarmos em nossa rede, haverá a comunicação com todos os Switches da rede para convergência com o novo dispositivo.

A partir das mensagens trocadas pelos Switches, é efetuada uma eleição para escolha de um Switch Raiz (Root) que será o responsável por alimentar a topologia da Rede pela geração de BPDUs e todos os Switches não-Raiz bloquearão as portas com caminhos redundantes para o Raiz.

Os BPDUs são encaminhados pelo Root a cada 2 segundos em todas as portas para garantir a estabilidade da rede; e então os BPDUs re-encaminhados pelos outros Switches.

As mensagens BPDU contêm informações suficientes para que os Switches elejam quais portas encaminharão os dados, baseando-se em custo do caminho, informações do Switch e informações da porta.

Obs: a porta em estado de Bloqueio continuará a ouvir os BPDUs pois em caso de perda de comunicação do enlace principal, a porta bloqueada estará pronta para encaminhar os quadros! 

Elegendo o Switch Root

O primeiro processo para uma topologia livre de Loops utilizando o protocolo Spanning-Tree é a eleição do Switch Root. Vence a eleição o Switch quem possuir o menor Bridge ID.

O Bridge ID é composto dos campos Prioridade (Bridge Priority) e o endereço MAC do Switch. Por padrão a prioridade dos Switches é 32768 (o Switch com menor prioridade vence) e em caso de empate vence a eleição o Switch que possui o menor endereço MAC.

Após a eleição, se houver algum caminho redundante, o mesmo será bloqueado!

Escolhendo quem será o Root da rede

As melhores práticas sugerem configurarmos o Switch Core da rede como Root com o comando stp root primary pela posição privilegiada na rede, melhor arquitetura,processamento, etc. O comando nos Switches 3Com alterará a prioridade para o valor0 (zero) forçando o dispositivo a ser o Root.

Uma segunda maneira de alterar a prioridade Switch é utilizando o comando stp priority 4096 ( sempre escolha valores múltiplos de 4096)

Obs:Se houver mais de um Switch com a prioridade 0, vence a eleição quem possuir o menor endereço MAC. 

Display STP

O comando display stp exibe informações como o valor do Bridge ID (Bridge priority e endereço MAC) do Switch e do Root, timers,etc. O comando display stp brief exibe o estado das portas na Topologia.

 

display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.000f-cbb8-6329
! Lista a Prioridade do Switch como 32768 e o endereço MAC 000f-cbb8-6329
Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0.000f-cbb8-8f55/ 20000
! A linha exibe a prioridade do Switch Root da Topologia como 0
! (zero nesse caso) e o endereço MAC 000f-cbb8-8f55
CIST RegRoot/IRPC :32768.000f-cbb8-63c0 / 0
CIST RootPortId :128.28
BPDU-Protection :disabled
Bridge Config
Digest Snooping :disabled
TC or TCN received :7
Time since last TC :0 days 24h:20m:51s
! Contador exibindo a última vez que houve uma mudança na topologia STP