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

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 

Introdução ao Multiple Spanning-Tree (802.1s)

O Protocolo Multiple Spanning-Tree 802.1s permite a criação de Instâncias independentes do Rapid Spanning-Tree para otimização de Links e Processamento, criando topologias únicas para cada Instância.

Por padrão, com a utilização “pura” do STP ou RSTP, todas as VLANs participam da mesma Instância, chamada de CST (Common Spanning-Tree), deixando todas as VLANs com o mesmo ponto de bloqueio na Topologia para os links Redundantes.

O MST permite o mapeamento de VLANs em Instâncias independentes para a mesma topologia, permitindo o balanceamento do tráfego pelos Links Redundantes.

 

Configurando
Para a utilização do MST devemos configurar o nome da região, o número da revisão e o mapeamento das VLANs para as Instâncias em todos os Switches.

[Switch] stp enable
! Habilitando o STP se estiver desabilitado
[Switch] stp mode mstp
! Configurando o STP no modo MST
[Switch] stp region-configuration
! Acessando a configuração do MST
[Switch-mst-region] region-name comutadores
! Configurando o nome da região como comutadores
[Switch-mst-region] revision-level 1
!Configurando a revisão como 1
[Switch-mst-region] instance 1 vlan 2 3
! Configurando as Vlans 2 e 3 para a Instância 1
[Switch-mst-region] instance 2 vlan 4 5
! Configurando as Vlans 4 e 5 para a Instância 2 
[Switch-mst-region] active region-configuration
!Ativando a configuração do MST
[Switch-mst-region] quit

Para a configuração de qual switch será o Root de sua Instância, configure em cada Switch Root o comando abaixo:

  • Switch Root da Instancia 1
stp instance 1 priority 4096
!Configurando a prioridade da Instância 1 para 4096
  • Switch Root da Instancia 2
stp instance 2 priority 4096
!Configurando a prioridade da Instância 2 para 4096

Obs: O protocolo 802.1s possui compatibilidade com as versões 802.1w e802.1 d mas sugerimos a implantação do MST em redes que TODOS os Switches possuam suporte ao protocolo.

Abraços a todos!