Three STP Timers
The previous section mentioned that a bridge spends 15 seconds in each of the Listening and Learning states by default. In all, the Spanning-Tree Protocol is controlled by the three timers documented in Table 6-5.
Table 6-5. STP Timers
|Hello Time||Time between sending of Configuration BPDUs by the Root Bridge||2 Secs|
|Forward Delay||Duration of Listening and Learning states||15 Secs|
|Max Age||Time BPDU stored||20 Secs|
The Hello Time controls the time interval between the sending of Configuration BPDUs. 802.1D specifies a default value of two seconds. Note that this value really only controls Configuration BPDUs as they are generated at the Root Bridge—other bridges propagate BPDUs from the Root Bridge as they are received. In other words, if BPDUs stop arriving for 2–20 seconds because of a network disturbance, non-Root Bridges stop sending periodic BPDUs during this time. (If the outage lasts more than 20 seconds, the default Max Age time, the bridge invalidates the saved BPDUs and begins looking for a new Root Port.) However, as discussed in the “Topology Change Notification BPDUs” section later, all bridges use their locally configured Hello Time value as a TCN retransmit timer.
Forward Delay is the time that the bridge spends in the Listening and Learning states. This is a single value that controls both states. The default value of 15 seconds was originally derived assuming a maximum network size of seven bridge hops, a maximum of three lost BPDUs, and a Hello Time interval of two seconds (see the section “Tuning Forward Delay” in Chapter 7 for more detail on how Forward Delay is calculated). As discussed in the “Topology Change Notification BPDUs” section, the Forward Delay timer also controls the bridge table age-out period after a change in the active topology.
Max Age is the time that a bridge stores a BPDU before discarding it. Recall from the earlier discussions that each port saves a copy of the best BPDU it has seen. As long as the bridge receives a continuous stream of BPDUs every 2 seconds, the receiving bridge maintains a continuous copy of the BPDU’s values. However, if the device sending this best BPDU fails, some mechanism must exist to allow other bridges to take over.
For example, assume that the Segment 3 link in Figure 6-12 uses a hub and Cat-B:Port-1/2’s transceiver falls out. Cat-C has no immediate notification of the failure because it’s still receiving Ethernet link from the hub. The only thing Cat-C notices is that BPDUs stop arriving. Twenty seconds (Max Age) after the failure, Cat-C:Port-1/2 ages out the stale BPDU information that lists Cat-B as having the best Designated Port for Segment 3. This causes Cat-C:Port-1/2 to transition into the Listening state in an effort to become the Designated Port. Because Cat-C:Port-1/2 now offers the most attractive access from the Root Bridge to this link, it eventually transitions all the way into Forwarding mode. In practice, it takes 50 seconds (20 Max Age + 15 Listening + 15 Learning) for Cat-C to take over after the failure of Port 1/2 on Cat-B.
In some situations, bridges can detect topology changes on directly connected links and immediately transition into the Listening state without waiting Max Age seconds. For example, consider Figure 6-13.
Figure 6-13. Failure of a Link Directly Connected to the Root Port of Cat-C
In this case, Cat-C:Port-1/1 failed. Because the failure results in a loss of link on the Root Port, there is no need to wait 20 seconds for the old information to age out. Instead, Cat-C:Port-1/2 immediately goes into Learning mode in an attempt to become the new Root Port. This has the effect of reducing the STP convergence time from 50 seconds to 30 seconds (15 Listening + 15 Learning).
The default STP convergence time is 30 to 50 seconds. The section “Fast STP Convergence” in Chapter 7 discusses ways to improve this.
There are two key points to remember about using the STP timers. First, don’t change the default timer values without some careful consideration. This is discussed in more detail in Chapter 7. Second, assuming that you are brave enough to attempt timer tuning, you should only modify the STP timers from the Root Bridge. As you will see in the “Two Types of BPDUs” section, the BPDUs contain three fields where the timer values can be passed from the Root Bridge to all other bridges in the network. Consider the alternative: if every bridge was locally configured,
some bridges could work their way up to the Forwarding state before other bridges ever leave the Listening state. This chaotic approach could obviously destabilize the entire network. By providing timer fields in the BPDUs, the single bridge acting as the Root Bridge can dictate the timing parameters for the entire bridged network.
You can only modify the timer values from the Root Bridge. Modifying the values on other bridges has no effect. However, don’t forget to update any “backup” Root Bridges.