Cisco PVST+ Guide: Spanning Tree Made Simple
Introduction
In this lesson, I will explain how to implement and manage Per VLAN Spanning Tree (PVST+) on Cisco switches. PVST+ is Cisco’s enhanced version of Spanning Tree Protocol that creates separate spanning-tree instances for each VLAN, enabling better load balancing and more efficient network utilization.
Lesson Objectives
After completing this lesson, you will be able to:
- Understand the fundamentals of PVST+ operation
- Configure PVST+ on Cisco switches
- Verify PVST+ operation and troubleshoot common issues
- Implement PVST+ load balancing
- Monitor and maintain PVST+ environments
Prerequisites
- Basic understanding of switching concepts
- Knowledge of basic Spanning Tree Protocol (STP)
- Familiarity with VLANs and trunking
- Access to Cisco switches (2960 or newer recommended)
- Console cable and terminal emulator
Core Lesson Content
Part 1: PVST+ Fundamentals
Understanding PVST+
PVST+ creates a separate spanning tree instance for each VLAN in your network. This allows for:
- Different root bridges per VLAN
- Different path selections per VLAN
- Better load balancing across the network
- More granular control over spanning-tree behavior
Basic PVST+ Configuration
! Enable PVST+ (default on Cisco switches)
Switch(config)# spanning-tree mode pvst
! Configure root bridge priority for specific VLANs
Switch(config)# spanning-tree vlan 10 priority 24576
Switch(config)# spanning-tree vlan 20 priority 28672
! Configure secondary root bridge
Switch(config)# spanning-tree vlan 10 priority 28672
Understanding the Output
When you verify PVST+ configuration, check:
Switch# show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24576
Address 0023.ea9b.0b00
This bridge is the root
Bridge ID Priority 24576
Address 0023.ea9b.0b00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
What to Look For:
- Root bridge priority and MAC address
- Bridge role (root, secondary, normal)
- Port states and roles
- Timer values
Part 2: PVST+ Load Balancing
Configuration Example
! Configure different root bridges for different VLANs
Switch-1(config)# spanning-tree vlan 10,30,50 priority 24576
Switch-1(config)# spanning-tree vlan 20,40,60 priority 28672
Switch-2(config)# spanning-tree vlan 20,40,60 priority 24576
Switch-2(config)# spanning-tree vlan 10,30,50 priority 28672
Port Cost Manipulation
! Adjust port costs to influence path selection
Switch(config-if)# spanning-tree vlan 10 cost 100
Switch(config-if)# spanning-tree vlan 20 cost 50
Verification Steps:
Switch# show spanning-tree vlan 10 brief
Switch# show spanning-tree interface gi1/0/1 detail
Part 3: Advanced PVST+ Features
Path Cost Calculation
- Short mode (default for older switches):
- 10 Mbps: 100
- 100 Mbps: 19
- 1 Gbps: 4
- 10 Gbps: 2
- Long mode (recommended for modern networks):
Switch(config)# spanning-tree pathcost method long
Guard Features
! Enable BPDU Guard
Switch(config-if)# spanning-tree bpduguard enable
! Enable Root Guard
Switch(config-if)# spanning-tree guard root
! Enable Loop Guard
Switch(config)# spanning-tree loopguard default
Common Issues and Solutions
Problem 1: VLAN Not Load Balancing
Symptoms:
- All VLANs taking same path
- Underutilized links
Solution:
- Verify root bridge priorities
Switch# show spanning-tree summary
Switch# show spanning-tree root
- Check port costs
- Ensure VLANs exist and are active
Problem 2: Topology Changes
Symptoms:
- Frequent TCNs
- Intermittent connectivity
Solution:
- Enable PortFast on access ports
Switch(config)# spanning-tree portfast default
- Monitor topology changes
Switch# show spanning-tree detail | include topology
Practical Exercise
Lab: PVST+ Load Balancing Configuration
Objective: Configure PVST+ load balancing across two uplinks
Equipment:
- 3 Cisco switches
- Ethernet cables for interconnection
Tasks:
- Create VLANs 10, 20, 30
- Configure Switch-1 as root for VLANs 10, 30
- Configure Switch-2 as root for VLAN 20
- Verify traffic takes different paths
- Document port states for each VLAN
Verification Checklist:
- [ ] Root bridge correct for each VLAN
- [ ] Port states appropriate
- [ ] Load balancing working as expected
- [ ] No blocking ports on access interfaces
Key Takeaways
- PVST+ enables per-VLAN load balancing
- Root bridge placement critical for optimal traffic flow
- Port costs can fine-tune path selection
- Guard features protect topology stability
- Regular monitoring prevents issues
Next Steps
- Study Multiple Spanning Tree Protocol (MST)
- Learn about Rapid PVST+
- Practice more complex topologies
- Explore automation of PVST+ configuration
Quick Reference Commands
show spanning-tree summary
show spanning-tree root
show spanning-tree vlan X
show spanning-tree interface Y detail
show spanning-tree inconsistentports