Quadro BPDU
Quadros BPDUs são quadros especiais trocados pelos switches para formar a topologia em árvore que torna o Spanning Tree Protocol possível.
Ethernet
A nível de comparação, abaixo encontra-se o formato de um quadro Ethernet (802.3):
Retirado de [3]
[1] Preâmbulo: A região de preâmbulo é utilizada para sincronizar os pacotes, como um contador do remetente. É constituída de 64 bits.
[2] Endereço MAC de destino: Essa região contém o endereço MAC de destino. 48 bits.
[3] Endereço MAC de origem: Já nessa parte fica o endereço MAC de origem. 48 bits.
[4] Ethertype: Esse segmento contém o tipo de dado presente no pacote, ou seja, ele indica qual protocolo deve ser usado pela camada de Rede. 16 bits.
[5] Dado: Contém os dados encapsulados. Na figura é mostrado a segmentação de dados caso o protocolo a ser usado pela camada de Redes seja o IP e pela camada de transporte o TCP. Varia de 46 a 1500 bytes.
[6]: CRC: É utilizado para verificação de eventuais falhas no pacote quando recebido. 32 bits.
BPDU
Existem dois tipos de quadros BPDUs: Os BPDUs de configuração e os TCN (Topology Change Notification)
1 - BPDUs de configuração:
Como o nome sugere, esse tipo de quadro é enviado enquanto a Spanning Tree está sendo configurada. A figura abaixo esquematiza o formato de um quadro desse tipo:
Retirado de [2]
[01] Protocol ID: Identifica o algorítimo spanning tree e o protocolo. 2 bytes.
[02] Version: Versão do protocolo. 1 byte.
[03] Message Type: identifica o tipo de quadro. BPDU de configuração ou TCN. 1 byte.
[04] Flags: indica o índice de BPDU em caso de alteração na topologia. São eles: TC (Topology Change Notification), utilizado para reconhecer mudança na topologia, e TCA (Topology CHange Notification Acknowledgment), utilizado para informar que os dados contidos no BPDU foram lidos e salvos pelo switch.
[05] Root ID: ID da ponte do switch raiz. 8 bytes.
[06] Root Path Cost: Custo acumulado até o switch raiz. 8 bytes.
[07] Bridge ID: Identificador da ponte. 4 bytes.
[08] Port ID: Identificador da porta. 2 bytes.
[09] Max Age: Tempo que o switch espera antes de concluir que a topologia mudou. 2 bytes.
[10] Foward Delay: Tempo que a porta leva para mudar de estado. 2 bytes
[11] Message Age: Tempo para anunciar o BPDU. 2 bytes
[12] Hello Time: Tempo gasto para o switch publicar o BPDU. Corresponde a 2 segundos.
2 - TCN BPDU:
Também possui nome intuitivo. Esse tipo de quadro é utilizado para notificar alterações na topologia da rede. Se algum enlace ou ponte caírem, por exemplo. O cabeçalho do TCN possui apenas os três primeiros campos citados acima. São eles: Protocol ID, Version e Message Type.