Il normale funzionamento dello Spanning Tree Protocol (STP) garantisce una topologia senza loop nelle reti Ethernet. STP identifica e blocca i percorsi ridondanti che potrebbero causare loop di rete, consentendo un solo percorso attivo tra i dispositivi di rete. Si adatta dinamicamente ai cambiamenti della topologia della rete ricalcolando l’albero e aggiornando lo stato delle porte per mantenere la stabilità della rete e prevenire tempeste di trasmissione.
STP funziona passo dopo passo eleggendo inizialmente un root bridge, che è lo switch con l’ID bridge più basso. Tutti gli altri switch determinano il percorso più breve verso il root bridge e assegnano i ruoli alle rispettive porte: porte root (il percorso più breve verso il root bridge), porte designate (il percorso migliore per un segmento di rete) e porte non designate (bloccate al prevenire i loop). Se si verifica una modifica della topologia, STP ricalcola i percorsi e riassegna i ruoli delle porte per mantenere una rete senza loop.
Il funzionamento di STP prevede l’invio di Bridge Protocol Data Unit (BPDU) tra switch per condividere informazioni sulla topologia della rete. Gli switch utilizzano BPDU per eleggere un root bridge e per scambiare messaggi di configurazione. STP elabora questi messaggi per determinare il percorso migliore verso il root bridge e per decidere quali porte bloccare o mantenere attive. Questo scambio continuo di BPDU consente all’STP di adattarsi ai cambiamenti della rete e di mantenere un funzionamento senza loop.
Il meccanismo STP prevede diversi stati per ciascuna porta: blocco, ascolto, apprendimento e inoltro. Nello stato di blocco, le porte non inoltrano frame per evitare loop. Nello stato di ascolto, le porte elaborano le BPDU per partecipare all’elezione del root bridge e alla selezione del percorso. Nello stato di apprendimento, le porte aggiornano la tabella degli indirizzi MAC ma non inoltrano frame. Nello stato di inoltro, le porte inoltrano attivamente i frame. Questi stati aiutano STP a gestire la topologia della rete e a garantire una trasmissione affidabile dei dati senza loop.