The original IEEE 802.1D standard spanning tree protocol assumes only one spanning-tree instance for the entire switched network, regardless of the number of VLANs. A network running cannot ensure load balancing because one uplink must block all VLANs, but the CPU is free because there is only one instance of a spanning tree working.
The PVST+ is the improved version of CST, providing an independent instance of the Cisco implementation of IEEE 802.1D for each VLAN in the network. With PVST+, it is possible for one trunk port on a switch to forward the traffic for one VLAN while blocking the traffic of other VLANs.
PVST+ can be used for Layer 2 load balancing. It requires a larger CPU process in the switches. It also consumes more bandwidth for BPDU than a traditional CST implementation of STP because all VLANs run a separate instance of STP.
In a PVST+, it is possible that half of the VLANs forward traffic on each uplink trunk, which makes possible the best load balancing. Each PVST+ instance sends its own BPDU, consuming the switch’s CPU and bandwidth. These drawbacks are problematic in case of a large number of VLANs in the network.

The figure below illustrates the PVST+. Port F0/0 on Switch-3 is the forwarding port for VLAN 100, and F0/1 on Switch-3 is the forwarding port for VLAN 200. This operation is done by configuring switch-1 to be elected as the root bridge for VLAN-100 and switch-2 to be elected as the root bridge for VLAN-200. Multiple STP root bridges per VLAN increase redundancy in the network.
PVST+ vs CST vs RPVST+ Comparison Table
| Feature | CST (802.1D) | PVST+ (Cisco) | RPVST+ (Cisco) |
|---|---|---|---|
| STP Instances | 1 for all VLANs | 1 per VLAN | 1 per VLAN (rapid) |
| Load Balancing | No | Yes | Yes |
| Convergence Time | 30–50 seconds | 30–50 seconds | < 1 second |
| BPDU Overhead | Low | High (per VLAN) | High but optimized |
| Default on Modern IOS | No | Yes (older IOS-XE) | Yes (newer IOS/IOS-XE) |
| Interoperability | Full | Requires ISL or 802.1Q | Full 802.1w support |
| Best For | Small flat networks | Medium VLAN environments | Enterprise (recommended) |
Engineer Recommendation (2025): Use Rapid PVST+ (spanning-tree mode rapid-pvst) in all new designs unless you have a specific legacy requirement.
PVST+ Port States
Spanning tree protocol provides a logical loop-free path to the switched network. This is achieved by exchanging information to identify the best path and blocking alternate routes to prevent layer 2 loops. This operation is possible through the exchange of the BPDU frames between the interconnected switches. To make it possible to learn the spanning tree, each switch port transitions through five different possible port states, including three BPDU timers.
The spanning tree is starting automatically when a switch completes the boot process. The switch port goes through five different states to gather information about the complete network topology. If a switch port transitions directly from the blocking state to the forwarding state without getting information about the topology, the port can momentarily create a data loop. The five different port states are as follows:
Blocking
The port remains in the blocking state for 20 seconds during the election process. During the blocking state, the port cannot participate in frame forwarding. The port receives BPDU frames to decide the root bridge, the best path to the root bridge, and port roles for each switch port in the final active STP topology.
During the blocking state, the port cannot receive and send frame forwarding. It discards the frame received from adjacent network switches. During the blocking state, the port is only listening and checking for BPDU frames.
Listening
The root port and designated ports change states from blocking to listening. In the listening state, the port discards frames switched from other ports of the switch, including a frame from the attached network for forwarding.
The switch port receives BPDU from other switches, transmits its own BPDU, and informs adjacent switches that the switch port is preparing to contribute to the active topology. The ports remain 15 seconds in the listening state and then move to the learning state.
Learning
After the listening state, the switch moves to the learning state, where the port prepares to participate in frame forwarding and begins to populate the MAC address table. In that state, the port is listening for and processing the BPDU frames.
The port receives user frames, learns their source addresses, and updates the MAC address table accordingly, but it cannot forward these frames to their destinations. The port remains 15 seconds in the learning state and moves to the forwarding state.
Forwarding
When the port status reaches the forwarding state, then it can send and receive traffic. The port is considered part of the active network. It is the normal working state of the switch port.
Disabled
When the network administrator administratively shuts down the switch port, it is disabled. The port neither participates in spanning tree nor forwards frames.
Summary of PVST+ Port States and STP Timers
| State | Duration (Default) | Behavior |
|---|---|---|
| Disabled | – | Port shutdown or administratively down |
| Blocking | Up to 20 sec (Max Age) | Receives BPDUs only – no forwarding/learning |
| Listening | 15 sec | Builds topology – no forwarding/learning |
| Learning | 15 sec | Builds MAC table – no forwarding |
| Forwarding | – | Normal operation |
Key STP Timers (per VLAN in PVST+):
- Hello Time: 2 seconds
- Forward Delay: 30 seconds (15 Listening + 15 Learning)
- Max Age: 20 seconds
Pro Tip: Never change timers globally in production without thorough testing — mistuning causes loops!
PVST+ operation for VLAN
The PVST+ performs the following four steps for each VLAN in a switched network. The steps for PVST+ operation are identical to CST
Elects one root bridge
The PVST+ elects the root bridge for the given VLAN. The criteria for selecting the root bridge are the same as CST. The switch with the lowest bridge ID on the VLAN is selected as the root bridge. All the ports on the root bridge are designated.
Selects the root port on each non-root bridge
Similarly to other spanning-tree protocols, the PVST+ also establishes one root port on each non-root bridge for each VLAN. The root port selection is based on the cost of the path. The port with the lowest-cost path from the non-root bridge to the root bridge is selected as the root port. Root ports are generally in the forwarding state.
Selects the designated port on each segment
PVST+ also establishes one designated port for each link on the VLAN. The designated port is elected at the switch with the lowest-cost path to the root bridge. Designated ports are in the forwarding state.
The remaining ports in the switched network are alternate ports
The alternate ports remain in the blocking state to logically break the layer 2 loops. When a port is in the blocking state, it does not forward traffic; it only processes received BPDU messages in this status.
Verifying Different State
We can verify the different port states by using the “show spanning-tree” command. We can also enter the “show spanning-tree summary” command
FAQs
What is the primary advantage of PVST+ over Common Spanning Tree (CST)?
PVST+ runs a separate STP instance per VLAN, enabling load balancing where trunks forward traffic for some VLANs while blocking others. This maximizes bandwidth utilization in VLAN-heavy networks, unlike CST’s single-instance blocking all VLANs on one link. However, it increases CPU and BPDU overhead—ideal for medium-scale Cisco deployments but monitor in large setups.
Describe the five port states in PVST+ and their roles.
In PVST+, ports transition as: Disabled (shut down, no STP); Blocking (20s, receives BPDUs only); Listening (15s, topology discovery without forwarding); Learning (15s, MAC table build without forwarding); Forwarding (active traffic). These ensure loop-free convergence per VLAN, with direct jumps risking storms—key for CCNA topology mastery.
How does PVST+ elect a root bridge and designated ports?
PVST+ elects the lowest Bridge ID (priority + MAC) as root per VLAN; all its ports become designated. Non-roots select root ports via lowest cost to root (forwarding) and designated ports per segment (lowest cost to root). Alternates block to avoid loops—enables per-VLAN redundancy and efficient path selection in Cisco switched environments.
What commands verify PVST+ operation on a Cisco switch?
Use ‘show spanning-tree’ for port roles/states per VLAN, ‘show spanning-tree summary’ for mode/instances overview, and ‘show spanning-tree vlan X’ for specific VLAN details like root ID and costs. These reveal forwarding/blocking decisions, essential for troubleshooting inconsistencies or confirming load-balanced trunks in production networks.
Why might PVST+ cause higher resource usage in large networks?
PVST+ generates separate BPDUs and STP processes per VLAN, multiplying overhead (e.g., 100 VLANs = 100 instances vs. CST’s one). This boosts CPU/memory demands during elections/convergence—mitigate by limiting VLANs or upgrading to Rapid PVST+/MSTP for optimized scalability in enterprise Cisco infrastructures.
