I was hoping we could start some discussion with the differences of the following protocols for spanning-tree.
I really started to get confused after I am just now learning STP. I do understand that these allow for faster convergence.
However - why do they all have to exist? What was wrong with the 802.1D
If this is something to advanced to get into - then perhaps a link to good documentation will surfice.
Thanks in advance to everyone who can participate here.
Just to add to Federico's excellent reply.
They all exist because they are all still needed. Rapid STP / Rapid PVST+ is not supported on some of the older switches that may still be running in Enterprise networks.
And PVST, PVST+, Rapid PVST+ are Cisco proprietary because running an instance of STP per vlan is a Cisco specific thing.
Just in general...
PVST+ is per-VLAN spanning tree (which is the default for most cisco switches).
It means that you will run an spanning-tree instance per VLAN.
This is useful when you need different layer 2 behaviors per VLAN, for example you can have different root bridge on different VLANs (so that spanning tree does not have to run as a whole on the layer 2 domain, but can run a different instance per-VLAN)
RSTP is rapid STP.
It is an enhancement to STP.
RSTP does not work with timers as regular STP (which takes up to 30-50 seconds to converge due to the transtion to all its states)
Regular STP can use port-fast for ports not connected to other switches, but all ports connected to other switches need to transition from blocking to listening, learning and finally forwarding.
RSTP optimizes this by using P2P lilnks and taking up to only 2 seconds to converge.
Is basically when you mix the two above.
You have an instance of rapid STP running per VLAN.
Also, some use MST which is another variance of STP which can group several VLANs to be part of a single MST region (and behave like RSTP inside that region).
MST is useful because if you have 1000 VLANs, normally you don't need to have 1000 STP/RSTP instances!!
You can instead have one instance with VLAN 1-500 and another instance with VLANs 501-1000 (just to give you an example)
You can get started here: