In networks with many switches and bridges, numerous physical connections can exist between any two stations that are connected to the network. These redundant data paths are desirable because they offer alternative paths to the desired destination in case individual network paths fail. On the other hand, these multiple connections can also lead to loops or cause network stations to receive multiple frames. Both occurrences negatively impact frictionless data traffic performance in the network.
The Spanning Tree Protocol (STP) enables an analysis of the network at the layer-2 level and, as such, offers solutions for intelligent path selection between two network stations below the routing layer. By discovering redundant paths between network stations, STP builds a unique structure in which loops and double packets can be avoided. To this end, so-called Bridge Protocol Data Units (BPDUs) are sent as a multicast to a specific MAC address. The BPDUs allow redundant paths to be discovered as well as the distance and the data rate available on this connection. Using these values, the Spanning Tree Protocol calculates a priority (also called route or path costs) with which the various connections are to be treated. The low-priority connections are disabled and are therefore no longer available for clients. Through the reduction of non-redundant connections between the clients, the protocol builds a tree which unambiguously defines all of the connections that arise from a central switch (root bridge).
The BPDUs are sent regularly in the network in order to check the availability of the connections. If a connection fails, then the network analysis is triggered again; the possible paths and the corresponding priorities are redefined.
After initialization all ports are initially in the "blocking" state, in which only BPDUs are exchanged. The ports subsequently switch to the states of "listening" and then "learning" before reaching "forwarding" which allows payload data to be exchanged via the ports.