f course, in the real world, there are many variables that are out of your control. I've seen more than one network go down because someone decided to plug both network drops under his desk into the little switch he brought in from home. Heck, I've seen network administrators do it themselves. Having more than one link between switches is a good idea in terms of redundancy- in fact, it's recommended. The trick is to have only one link active at a time (or combine them into a single logical link). If you configure two links between two switches and shut one down, you'll solve the loop problem, but when the live link fails, you'll need to manually bring up the second link. Spanning tree is a protocol designed to discover network loops and break them before they can cause any damage. Properly configured, spanning tree is an excellent tool that should always be enabled on any network. Improperly configured, however, it can cause subtle problems that can be hard to diagnose. How Spanning Tree Works Spanning tree elects a root bridge (switch) in the network. The root bridge is the bridge that all other bridges need to reach via the shortest path possible. Spanning tree cal- culates the cost for each path from each bridge in the network to the root bridge. The path with the lowest cost is kept intact, while all others are broken. Spanning tree breaks paths by putting ports into a blocking state. Every bridge on the network that supports spanning tree sends out frames called bridge protocol data units (BPDUs) every two seconds. The format of the BPDU frame is shown in Figure 8-4. These frames contain the information necessary for switches in the network to perform the following functions: Elect a root bridge When a switch boots, it assumes that it is the root bridge and sets the root ID to the local bridge ID in all outgoing BPDUs. If it receives a BPDU that has a lower root ID, the switch considers the switch identified by the root ID in the BPDU to be the root switch. The local switch then begins using that root ID in 