As an engineer I want to know form technical point of view its pros and objectives to when to use the following protocols :
What type of design should i use each one of them , what the pros and cons and how to make the best use of it !!
and please also clear me about the cisco enhacement to CST like portfast,uplinkfast,backbonefast , when to use them and what exaclty they do in short , i still dont get it fully altough i undestand the concept , please clear me in short what are they and when best to use them.
Hope you are doing good.
As I understand from your query, you would like to know about the different STP flavors and the its enhancements
The CST or 802.1d is ON by default in all switches ( originally invented DEC or IEEE)
- There's nothing to configure and it works by itself.
- It uses a single instance for all VLANS. Hence, load-balancing is not possible.
For example: 15 switches in the network, 802.1d has only 1 instance for all 15 Switches and 1 Root bridge for all Switches.
Cisco then invented PVST to divert multiple Vlan traffic across multiple links to achieve load-balancing
1 Vlan = 1 STP instance
- Every single Vlan needed 1 instance ( Per VLAN !!! ) Hence, CPU needs to handle as per the VLANs created. So 1000 VLANS means 1000 instances.So, we are overwhelming the CPU.
- It's again based on traditional STP with better convergence timers and the ports remaining in ALT/BLK state.
- when we configure RSTP on a switch, the switche doesn't wait out the timers to move from disabled to ALT/BLK or Forwarding state. ( Convergence happens instantly and doesn't have to wait 15+15+20 secs between each state )
- Again 1 instance for all VLANS
MST is a mix of both worlds ( PVST and RSTP )
To overcome the limitations such as flexible load-balancing and not to overwhelm the CPU, MST was created by IEEE.
- Flexible Load-balancing ( by having multiple Root bridges for multiple instances)
- CPU only needs to handle instances ( groups of vlans here)
- Complex and interoperability with legacy STP protocols.
For your understanding, I am also including the technology white-paper for both MST & RSTP. I highly recommend you go through the same
For your conceptual understanding on the following
- PortFast causes a switch or trunk port to enter the spanning tree forwarding state immediately, bypassing the listening and learning states.
- You can use PortFast on switch or trunk ports that are connected to a single workstation, switch, or server to allow those devices to connect to the network immediately, instead of waiting for the port to transition from the listening and learning states to the forwarding state.
- From a design perspective, usually, portfast is enabled on ports which are connected to workstations/PC's etc ( to avoid loops)
When the switch powers up, or when a device is connected to a port, the port enters the spanning tree listening state.
When the Forward Delay timer expires, the port enters the learning state. When the Forward Delay timer expires a second time, the port is transitioned to the forwarding or blocking state.
When you enable PortFast on a switch or trunk port, the port is immediately transitioned to the spanning tree forwarding state.
UplinkFast provides fast convergence using uplink groups in the network access layer after a spanning tree topology change. An uplink group is a set of ports (per VLAN), only one of which is forwarding at any given time. Specifically, an uplink group consists of the root port (which is forwarding) and a set of blocked ports (not including self-looped ports).
The uplink group provides an alternate path in case the currently forwarding link fails.
BackboneFast is another Cisco enhancement designed to complement UplinkFast. UplinkFast is designed to detect direct failures, whereas BackboneFast is designed to detect indirect failures.
For your understanding, I am including the below link on how each of these enhancements work
which are instead the pros/cons of Rapid PVST and when it’s recommended to use it instead of use only the RSTP or PVST ?
I know the teory about all STP protocols but I need to know the situations where I should consider to implement one protocol instead of an other.