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!

Falando um pouco mais sobre custo STP

Uma vez que o Switch root da rede é definido, os Switches não-Root definirão a partir do Switch Root o melhor caminho para ele e bloquearão os caminhos redundantes, afim de evitar loop na rede.

O custo atribuído à velocidade da porta é um fator determinante na escolha do melhor caminho.

STP Cost Comware

No exemplo acima, o Switch SW2 bloqueou o caminho com maior custo para o Switch Root.

Nos casos em que é necessário saber qual o custo de cada porta (em Switches baseados no Comware) verifique com o comando display stp interface [nome-da-interface número-da-interface] :

[Switch]display stp interface GigabitEthernet 1/0/1
 ----[CIST][Port2(GigabitEthernet1/0/1)][FORWARDING]----
 Port protocol       : Enabled
 Port role           : Designated Port (Boundary)
 Port ID             : 128.2
 Port cost(Legacy)   : Config=auto, Active=20
 Desg.bridge/port    : 32768.0837-6c44-0100, 128.2
<saída omitida>

Para manipulação manual dos custos das portas STP  acesse o post: http://www.comutadores.com.br/spanning-tree-manipulando-o-custo-do-caminho-para-o-root-path-cost/

Um comando bem interessante para validar qual o custo utilizado de um Switch não-Root para o Switch root é o display stp root:

[SW2]display stp root
 MST ID   Root Bridge ID        ExtPathCost IntPathCost Root Port
 0        0.0837-6c44-0100      23          0           GE1/0/2


[SW3]display stp root
 MST ID   Root Bridge ID        ExtPathCost IntPathCost Root Port
 0        0.0837-6c44-0100      43          0           GE1/0/1

Dúvidas? deixe um comentário.
Até breve.

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

Switches 3Com 4800G – Edged-port + BPDU Protection

Hoje comentaremos de duas features que atuam como complemento ao Spanning-Tree. O comando edged-port agrega diversos beneficios ao STP, como por exemplo, a prevenção de timeouts no processo DHCP. Já o bpdu-protection, previne as portas configuradas como “edged” de ocasionar Loop na rede por HUBs, “Switches-HUB”, etc.

Edged-port

A feature edged-port permite a interface saltar os estados Listening e Learning do Spanning-Tree Protocol (STP), colocando as portas imediatamente em estado Forwarding (Encaminhamento). A configuração do stp edged-port enableforça a interface a ignorar os estados de convergência do STP, incluíndo as mensagens de notificação de mudança na topologia (mensagens TCN ).

O comando deverá ser aplicado nas portas de acesso conectadas a servidores, estações de trabalho, impressoras, etc.


Configuração

[4800G]interface gigabitethernet 1/0/1
[4800G-GigabitEthernet1/0/1]stp edged-port enable
[4800G-GigabitEthernet1/0/1]quit
[4800G]interface gigabitethernet 1/0/2
[4800G-GigabitEthernet1/0/2]stp edged-port enable
[4800G-GigabitEthernet1/0/2]quit

Obs: Quando uma porta configurada como edged-port receber um BPDU ( mensagens trocadas pelo Switch para estabilidade da topologia do Spanning-Tree), a interface voltará a participar dos estados de convergência do protocolo.

As portas configuradas como Edged-port encaminham BPDUs. A feature edged-port é também conhecida como Portfast.

BPDU Protection

A utilização da feature edged-port é restrita a portas conectadas aos equipamentos finais como servidores e estações de trabalho. Quando conectamos um HUB ou um Switch nas portas de acesso configuradas como stp edged-port enable corremos o risco de criar um loop na rede ou afetarmos a estabilidade da topologia.

Com a configuração do comando stp bpdu-protection, protegemos as portas configuradas como edged-port de receberem BPDUs. Ao receber um BPDU a porta entrará em shutdown.

Configuração

No exemplo abaixo, configuramos o switch com stp bpdu-protection e conectamos um HUB na porta Giga 1/0/14 configurada como stp edged-port enable. Fechamos um Loop no equipamento com um cabo de rede. O cenário fará o HUB devolver as mensagens BPDUs geradas pelo Switch na porta configurada comoedged-port. O comando bpdu-protection bloqueará a porta conectada ao HUB.

[4800G]stp bpdu-protection
[4800G]int g1/0/14
[4800G-GigabitEthernet1/0/1] stp edged-port enable

Após a configuração a porta entra imediatamente em estado down

Display

[4800G]display stp down-port
Down Port                Reason
GigabitEthernet1/0/14    BPDU-Protected

Ativando a porta

Para colocar a porta novamente em estado UP será necessário removermos o loop do HUB e aplicarmos o comando shutdown / undo shutdown na interface gigabitethernet 1/0/14.

[4800G-GigabitEthernet1/0/14]shut
[4800G-GigabitEthernet1/0/14]undo shut

#Apr 26 12:05:47:785 2000 4800G
MSTP/1/IVBPDU:hwPortMstiBpduGuarded: BPDU-Protec
tion port 14 received BPDU packet!
%Apr 26 12:05:48:364 2000 4800G IFNET/4/LINK
UPDOWN: GigabitEthernet1/0/14: link status is DOWN

#Apr 26 12:07:43:906 2000 4800G IFNET/4/INTERFACE UPDOWN:
Trap 1.3.6.1.6.3.1.1.5.4: Interface 9437197 is Up, ifAdminStatus is 1,
ifOperStatus is 1
#Apr 26 12:07:44:108 2000 4800G
MSTP/1/PFWD:hwPortMstiStateForwarding: Instance
0's Port 0.9437197 has been set to forwarding state!
%Apr 26 12:07:44:271 2000 4800G IFNET/4/LINK
UPDOWN:
GigabitEthernet1/0/14: link status is UP
%Apr 26 12:07:44:398
2000 4800G MSTP/2/PFWD:Instance 0's GigabitEthernet1/0/14 h
as been set to forwarding state!

Obs: Para as portas de Uplink devemos remover o comando stp edged-port

[4800G-GigabitEthernet1/0/x]undo stp edge-port

Já para desativar o bpdu protection do Switch utilize o comando abaixo

[4500G]undo stp bpdu-protection

Até logo!

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!