Spanning Tree Protocol
(referido com o acronimo
STP
) e um protocolo para equipamentos de
rede
que permite resolver problemas de
loop
em redes comutadas cuja topologia introduza aneis nas ligacoes, auxiliando na melhor performance da rede.
O protocolo STP possibilita a inclusao de ligacoes redundantes entre os
computadores
, provendo caminhos alternativos no caso de falha de uma dessas ligacoes. Nesse contexto, ele serve para evitar a formacao de loops entre os comutadores e permitir a ativacao e desativacao automatica dos caminhos alternativos.
Para isso, o algoritmo de Spanning Tree determina qual e o caminho mais eficiente (de menor custo) entre cada segmento separado por bridges ou switches. Caso ocorra um problema nesse caminho, o algoritmo ira recalcular, entre os existentes, o novo caminho mais eficiente, habilitando-o automaticamente. O nome deriva do algoritmo
spanning tree
em
teoria dos grafos
e o protocolo e baseado em um algoritmo criado por
Radia Perlman
.
[
1
]
[
2
]
Em 2012
IEEE 802.1aq
foi aprovado como um padrao para substituir 802.1d mais velho, 802.1w e protocolos 802.1s.
O algoritmo spanning tree coloca cada porta de bridge/switch no estado forwarding ou no estado blocking. Considera-se que todas as portas no estado forwarding em um dado momento estao na spanning tree ativa. O conjunto de portas no estado forwarding cria um unico caminho pelo qual os quadros sao enviados entre os segmentos.
Para viabilizar o calculo do caminho de menor custo, e necessario que cada comutador tenha conhecimento de toda a topologia da rede. A disponibilidade dessas informacoes e assegurada pela troca de quadros especiais chamados BPDUs - Bridge l Data Units - entre os comutadores .
Os BPDUs sao frames enviados para troca de informacoes tais como o bridge ID e o custo de caminho de um no para a raiz.
A bridge o frame BPDU utilizando o endereco unico MAC unicast da porta como endereco de origem, e o endereco de destino e o endereco MAC multicast da Spanning Tree.
Existem tres tipos de BPDUs:
- Configuration
BPDU
(CBPDU) - Calculo da Spanning Tree.
- Topology Change Notification (
TCN
) BPDU - Usado para notificar mudancas na topologia da rede.
- Topology Change Notification Acknowledgment (
TCA
)
Bloqueio
- Apenas recebendo BPDUs.
Escuta
- O switch processa BPDUs e espera por possiveis novas informacoes que podem faze-lo voltar ao estado de Bloqueio.
Aprendizado
- Quando a porta ainda esta "aprendendo" e montando sua tabela de enderecos de origem dos frames recebidos.
Encaminhamento
- A porta envia e recebe dados. Operacao normal. O STP continua monitorando por BPDUs que podem indicar que a porta deve retornar ao estado de bloqueio prevenindo um loop.
Desativado
- Nao esta utilizando STP. O administrador de redes pode desabilitar a porta manualmente.
Referencias