Le protocole STP IEEE 802.1D utilise l'algorithme Spanning Tree (STA, Spanning Tree Algorithm) pour déterminer quels sont les ports de commutation d'un réseau à bloquer (état de blocage) pour empêcher la formation de boucles. L’algorithme STA désigne un commutateur unique comme pont racine et il l’utilise comme point de référence pour le calcul de tous les chemins. Dans cette figure, le pont racine (commutateur S1) a été choisi par le biais d'un processus de sélection. Tous les commutateurs associés au protocole STP échangent des trames BPDU pour identifier le commutateur doté de l'ID de pont le plus faible sur le réseau. Le commutateur doté de l'identificateur (ID) le plus faible devient automatiquement le pont racine pour les calculs de l’algorithme STA.

Remarque : pour plus de simplicité et sauf spécification contraire, partons de l'hypothèse que tous les ports de tous les commutateurs sont affectés au VLAN 1. Chaque commutateur dispose d'une adresse MAC unique, associée au VLAN 1.

Une BPDU est une trame de message échangée par les commutateurs pour le protocole STP. Chaque trame BPDU contient un identificateur de pont qui identifie le commutateur ayant envoyé la trame BPDU. L'ID de pont contient une valeur de priorité, l'adresse MAC du commutateur émetteur et un ID système étendu facultatif. La valeur d'ID de pont la plus basse est déterminée par une combinaison de ces trois champs.

Une fois le pont racine défini, l'algorithme STA calcule le chemin le plus court pour y parvenir. Chaque commutateur utilise l’algorithme STA pour identifier les ports devant être bloqués. Pendant que l'algorithme STA détermine les meilleurs chemins pour accéder au pont racine, depuis l'ensemble des ports de commutation du domaine de diffusion, le réacheminement du trafic au sein du réseau est interdit. L'algorithme STA prend en compte le coût des chemins comme celui des ports lorsqu'il détermine quels ports bloquer. Le coût de la route est calculé à l’aide des valeurs de coût de port associées à la vitesse de port de chacun des ports des commutateurs sur un chemin donné. La somme des valeurs des coûts de ports détermine le coût du chemin global vers le pont racine. Si plusieurs chemins sont disponibles, l’algorithme STA choisit le chemin doté du coût de chemin le plus faible.

Lorsque l'algorithme STA a déterminé quels sont les meilleurs chemins possibles pour chaque commutateur, il attribue un rôle aux ports de commutation participants. Les rôles de port décrivent la relation entre les ports du réseau et le pont racine, et indiquent s'ils sont autorisés à réacheminer du trafic de données :