C'est pas tout à fait ça.
dans un réseau avec plusieurs switchs ou ponts, il faut empécher les boucles (liens qui se mordent la queue) car sinon les trames, pricipalement à destination de l'adresse de broadcast vont tourner en rond dans cette boucle, un switch étant obligé de retransmettre sur tous ses ports un broadcast reçu.
on appelle ça broadcast storm (tempête de broadcast) et ça va bloquer le réseau par saturation des switchs.
une simple boucle avec un câble croisé sur un switch va bloquer tout le traffic.
Ceci fait donc que l'on ne pourrait pas faire de liens secourus (doublés )sur un réseau de switchs . C'est là qu'intervient le spanning tree: ce mécanisme permet (difficilement) d' éliminer des liens redondants dans un réseau maillé afin d'éviter les boucles tout en gardant une possibilité de secours de lien.
Pour cela ce mécanisme utilise entre autres paramètres l'adresse mac source pour identifier un port.
Le spanning tree n'est pas très efficace dans un réseau, et m^me souvent assez instable:
quand une liaison tombe, il bloque le traffic sur le réseau le temps que tous les itinéraires optimum soient recalculés, ceci peut durer 2mn.
Quand c'est possible (réseau tcp/ip par exemple),
Il vaut mieux ne pas l'utiliser et établir le réseau maillé par routage (au niveau 3) avec des protocoles de routage dynamique.
Le fonctionnement est beaucoup plus efficace et permet en plus de la répartition de charge.
et ... Voili Voilou Voila !