Spanning Tree: What is it?
As we discussed in the essay on learning bridges, one of the guiding principles in transparent bridge design was that the bridges be as automatic as possible.
The Spanning Tree Algorithm is a means by which bridges can eliminate loops in the network topology. A bridging loop occurs when packets can get from an arbitrary point A on the network to an arbitrary point B on the same network through more than one path. For an example of a simple bridging loop, imagine a network with two stations, Station A and Station B, and two bridges, Bridge 1 and Bridge 2. For the sake of clarity, we will also divide the network into two halves, the top half and the bottom half. Station A is connected to the top half of the network and Station B is connected to the bottom half of the network. Both Bridge 1 and Bridge 2 connect the top and bottom halves of the network (See Fig. 1). This is a bridging loop because packets coming from Station A to Station B can pass through either Bridge 1 or Bridge 2.
We could leave it up to the network administrator to make sure that bridging loops never occur, but this solution is hardly desirable. Even if the administrator was willing to invest the time and effort to make sure that such things didn’t happen, human error is working against him. With Spanning Tree, the administrator needn’t worry about whether loops are out there; the bridges take care of it for him.