Comware: Elegendo o Switch Root do Spanning-Tree

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 em Switches basedos no Comware, 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 

Switches ArubaOS – Guia Rápido de Configuração

Para aqueles que estão começando a gerenciar equipamentos Aruba criamos uma lista de comandos para instalação e configuração de Switches com ArubaOS (parte dos comandos são aceitos na maioria dos modelos); os scripts são simples e bastante úteis!

Algumas funcionalidades podem ser configuradas de diferentes maneiras, mas tentaremos ser o mais abrangente possível nos scripts abaixo:

Configurando o nome do Switch

Switch(config)# hostname Sw_Core
Sw_Core(config)#

Configuração de VLANs

vlan 2
name ADM

Mostrando quais as VLANs que existem no switch

show vlans

Mostrando as informações de uma determinada vlan (descrição, portas tagged e untagged)

show vlans 3

Definindo o IP para a VLAN 1

vlan 1
ip address 192.168.2.254 255.255.255.0

Configurando o default gateway

ip route 0.0.0.0 0.0.0.0 192.168.2.1

Habilitando o roteamento

ip routing

Configurações de portas
Entrando no modo de configuração de uma porta

interface 1

Colocando uma descrição na porta

interface 1
name "ROTEADOR"
exit

VLAN
Adicionando uma VLAN em uma porta de acesso

interface 2
untagged vlan 2

Adicionando VLANs em uma porta de uplink (as VLANs necessitam estar previamente configuradas)

interface ethernet 24
tag vlan 2,4,5,6,7,8,9,101,192,200

ou ….
Adicionando a porta a uma vlan

vlan 1
untagged 1
! Adicionando a porta 1 na VLAN 1

vlan 3
untagged 3,5-7
! Adicionando a porta 3,5,6 e 7 na VLAN 3

Para as portas utilizadas na conexão entre switches, todo o trafego de VLANs é encaminhado para essas portas como tagged (utilizando a TAG 802.1Q), exceto para a VLAN 1, que será encaminhada como untagged. 

Criando usuário
Definindo a senha do usuário diego como s3nha

password manager user-name "diego" plaintext s3nha

SNMPv2

snmp-server community s1ro restricted
! Comunidade SNMP de Leitura como s1ro
snmp-server community s1rw unrestricted
! Comunidade SNMP de Leitura e Escrita como s1rw

Habilitando o spanning tree protocol

spanning-tree

Configurando a versão do MSTP (802.1s)

spanning-tree mode mstp

Configurando o switch como root bridge do STP. O comando stp root primary configura automaticamente o valor do Bridge Priority para 0 (zero)

spanning-tree root primary
ou
spanning-tree priority 0

Criando um LINK AGGREGATION

No exemplo abaixo, exemplificamos a configuração das portas 23 e 24 como trunk (agregação de portas) com o protocolo LACP. Os Switches ArubaOs nomeiam as interfaces Link-Aggregation como trunk e nomeiam cada interface como trk[numero].

trunk 23-24 trk1 lacp

Syslog

logging 10.0.100.111

NTP

timesync ntp
ntp enable
ntp server 10.0.100.112
ntp unicast

Salvando as configurações do Switch

save

Apagando todas as configurações do Switch

erase startup-config

Comandos show

show interface brief
! Mostrando um resumo de TODAS as portas
show trunks
! Mostrando quais portas do Switch utilizam link-aggregation
show running-config
show running-config structured
! Mostrando a configuração do Switch atual
show spanning-tree
show spanning-tree config
! Mostrando informações do STP, quais portas estão BLOQUEADAS e FORWARDING
show mac-address
show arp
! Mostrando a tabela MAC e tabela ARP
show logging
! Visualizando os logs no Switch

E vocês, possuem mais alguma sugestão de comando para os Switches ArubaOS?
Sintam-se à vontade…

Comware: STP edged-port + BPDU-protection

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 ).

A utilização da feature edged-port com a configuração do comando stp bpdu-protection, protege as portas configuradas como edged-port de receberem BPDUs. Ao receber um BPDU a porta entrará em shutdown.

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).

Comware: Configurando BPDU Protection

Nesse vídeo mostramos a configuração e logs dos Switches com a utilização do comando ‘BPDU-Protection’.

A feature edged-port (portfast) 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 enable’ força a interface a ignorar os estados de convergência do STP, incluindo as mensagens de notificação de mudança na topologia (mensagens TCN ).

A utilização da feature ‘edged-port’ com a configuração do comando ‘stp bpdu-protection’, protege as portas configuradas como edged-port de receberem BPDUs. Ao receber um BPDU a porta entrará em shutdown.

Perguntas e Respostas: Comware – 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.

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.

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).

  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.

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.

  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.

  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.

Utilizar o Spanning-Tree, sim ou não?

Olá amigos, a idéia desse post partiu de uma discussão com um colega sobre a razão dele não utilizar e não confiar no Protocolo Spanning-Tree ao ponto de desabilitá-lo em todos os Switches da rede.

O administrador dessa rede sempre priorizou a idéia do controle total sobre a topologia, sem redundâncias com o argumento de que em caso de falhas na rede é preferível perder algumas dezenas de minuto na troca do suposto equipamento (ou meio físico defeituoso) ao invés de não conseguir identificar problemas de convergência na Topologia.

Nessa mesma rede que chamaremos de Empresa X, todos os UpLinks estão conectados no Switch Core com um único cabo, sem caminhos alternativos ou redundância. Então faço a seguinte pergunta: O administrador dessa rede está correto? Eu diria que sim… Se não houver redundância ou Loop Físico entre os Switches não há função para o Spanning-Tree.


Mas é possível possuir o controle total da rede? Podemos confiar que um usuário não irá conectar um “Switch Hub” na rede para prover mais pontos ou ligar sem querer um ponto de rede do equipamento no próprio Switch?

O Protocolo Spanning-Tree poderia ajudar o Administrador da Empresa X em casos como esse bloqueando o Loop físico e/ou permitindo a utilização de meios físicos redundantes como fibra, cabo UTP ou via Wireless.

Na prática se o Switch estiver com o Spanning-Tree habilitado, irá encaminhar BPDUs -mensagens geradas pelo Root da Topologia . A rede efetuaria a convergência com o mínimo de perda em caso de falhas no meio físico ou Switches, deixando a disponibilidade dependente apenas dos timers do Max Age e do Forward Delay.

Olhando o desenho, quem é o Switch Root da Rede?

Abraços

Comware: Rapid Spanning-Tree (802.1w)

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: DiscardingLearning 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 Agreement , esse processo é chamado de handshake ( na tradução literal, aperto de mãos).

e 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!