Spanning Tree Protocol:


STP is layer 2 protocol used in LAN environment to avoid

          • Broadcast storms

          • Mac-Table instability

          • Multiple copies of frame

And its defined in IEEE802.1d standard
















• It is because certain paths are blocked that a loop free topology is possible.


• Data frames received on blocked links are dropped.

• The Spanning-Tree Protocol requires network devices to exchange messages to detect bridging loops.

• Links that will cause a loop are put into a blocking state.

• topology, is called a Bridge Protocol Data Unit (BPDU).

• BPDUs continue to be received on blocked ports.

• This ensures that if an active path or device fails, a new spanning tree can be calculated.

BPDUs contain enough information so that all switches can do the following:

• Select a single switch that will act as the root of the spanning tree

• Calculate the shortest path from itself to the root switch

• Designate one of the switches as the closest one to the root, for each LAN segment. This bridge is called the “designated switch”.

– The designated switch handles all communication from that LAN towards the root bridge.

• Choose one of its ports as its root port, for each non-root switch.

– This is the interface that gives the best path to the root switch.

• Select ports that are part of the spanning tree, the designated ports. Non-designated ports are blocked.

Let’s see how this is done!





Two Key Concepts: BID and Path Cost



• STP executes an algorithm called Spanning Tree Algorithm (STA).

• STA chooses a reference point, called a root bridge, and then determines the available paths to that reference point.

– If more than two paths exists, STA picks the best path and blocks the rest

• STP calculations make extensive use of two key concepts in creating a loop-free topology:

– Bridge ID


– Path Cost


• Bridge ID (BID) is used to identify each bridge/switch.


• The BID is used in determining the center of the network, in respect to STP, known as the root bridge.

• Consists of two components:

– A 2-byte Bridge Priority: Cisco switch defaults to 32,768 or 0x8000.

– A 6-byte MAC address

• Bridge Priority is usually expressed in decimal format and the MAC address in the BID is usually expressed in hexadecimal format.

• BID is used to elect a root bridge (coming)

• Lowest Bridge ID is the root.

• If all devices have the same priority, the bridge with the lowest MAC address becomes the root bridge. (Yikes!)

• Bridges use the concept of cost to evaluate how close they are to other bridges.


• This will be used in the STP development of a loop-free topology .

• Originally, 802.1d defined cost as 1000/bandwidth of the link in Mbps.

– Cost of 10Mbps link = 100 or 1000/10

– Cost of 100Mbps link = 10 or 1000/100

– Cost of 1Gbps link = 1 or 1000/1000

• Running out of room for faster switches including 10 Gbps Ethernet.



• IEEE modified the most to use a non-linear scale with the new values of:

– 4 Mbps 250 (cost)

– 10 Mbps 100 (cost)

– 16 Mbps 62 (cost)

– 45 Mbps 39 (cost)

– 100 Mbps 19 (cost)

– 155 Mbps 14 (cost)

– 622 Mbps 6 (cost)

– 1 Gbps 4 (cost)

– 10 Gbps 2 (cost)

• You can modify the path cost by modifying the cost of a port.

– Exercise caution when you do this!

• BID and Path Cost are used to develop a loop-free topology .

• Coming very soon!

• But first the Four-Step STP Decision Sequence


Four-Step STP Decision Sequence

• When creating a loop-free topology, STP always uses the same four-step decision sequence:

Four-Step decision Sequence

Step 1 - Lowest BID


Step 2 - Lowest Path Cost to Root Bridge


Step 3 - Lowest Sender BID


Step 4 - Lowest Port ID



• Bridges use Configuration BPDUs during this four-step process.

– There is another type of BPDU known as Topology Change Notification (TCN) BPDU.


BPDU key concepts:

• Bridges save a copy of only the best BPDU seen on every port.

• When making this evaluation, it considers all of the BPDUs received on the port, as well as the BPDU that would be sent on that port.

• As every BPDU arrives, it is checked against this four-step sequence to see if it is more attractive (lower in value) than the existing BPDU saved for that port.

• Only the lowest value BPDU is saved.

• Bridges send configuration BPDUs until a more attractive BPDU is received.

• Okay, lets see how this is used...


Three Steps of Initial STP Convergence

• The STP algorithm uses three simple steps to converge on a loop-free topology.

• Switches go through three steps for their initial convergence:

STP Convergence

Step 1 Elect one Root Bridge


Step 2 Elect Root Ports


Step 3 Elect Designated Ports



• All STP decisions are based on a the following predetermined sequence:

Four-Step decision Sequence


Step 1 - Lowest BID


Step 2 - Lowest Path Cost to Root Bridge


Step 3 - Lowest Sender BID


Step 4 - Lowest Port ID


Three Steps of Initial STP Convergence



• When the network first starts, all bridges are announcing a chaotic mix of BPDUs.

• All bridges immediately begin applying the four-step sequence decision process.

• Switches need to elect a single Root Bridge.

• Switch with the lowest BID wins!

• Note: Many texts refer to the term “highest priority” which is the “lowest” BID value.

• This is known as the “Root War.”

Step 1 Elect one Root Bridge

Cat-A has the lowest Bridge MAC Address, so it wins the Root War!

All 3 switches have the same default Bridge Priority value of 32,768


BPDU

802.3 Header

Destination: 01:80:C2:00:00:00 Mcast 802.1d Bridge group

Source: 00:D0:C0:F5:18:D1

LLC Length: 38

802.2 Logical Link Control (LLC) Header

Dest. SAP: 0x42 802.1 Bridge Spanning Tree

Source SAP: 0x42 802.1 Bridge Spanning Tree

Command: 0x03 Unnumbered Information

802.1 - Bridge Spanning Tree

Protocol Identifier: 0

Protocol Version ID: 0

Message Type: 0 Configuration Message

Flags: %00000000

Root Priority/ID: 0x8000/ 00:D0:C0:F5:18:C0

Cost Of Path To Root: 0x00000000 (0)

Bridge Priority/ID: 0x8000/ 00:D0:C0:F5:18:C0

Port Priority/ID: 0x80/ 0x1D

Message Age: 0/256 seconds (exactly 0 seconds)

Maximum Age: 5120/256 seconds (exactly 20 seconds)

Hello Time: 512/256 seconds (exactly 2 seconds)

Forward Delay: 3840/256 seconds (exactly 15 seconds)


Configuration BPDUs are sent every 2 seconds by default

• At the beginning, all bridges assume they are the center of the universe and declare themselves as the Root Bridge, by placing its own BID in the Root BID field of the BPDU.

• Once all of the switches see that Cat-A has the lowest BID, they are all in agreement that Cat-A is the Root Bridge.


Step 2   Elect Root Ports

• Now that the Root War has been won, switches move on to selecting Root Ports.


• A bridge’s Root Port is the port closest to the Root Bridge.

• Bridges use the cost to determine closeness.

• Every non-Root Bridge will select one Root Port!

• Specifically, bridges track the Root Path Cost, the cumulative cost of all links to the Root Bridge

Step 1


• Cat-A sends out BPDUs, containing a Root Path Cost of 0.

• Cat-B receives these BPDUs and adds the Path Cost of Port 1/1 to the Root Path Cost contained in the BPDU.

Step 2

• Cat-B adds Root Path Cost 0 PLUS its Port 1/1 cost of 19 = 19

Step 3

• Cat-B uses this value of 19 internally and sends BPDUs with a Root Path Cost of 19 out Port 1/2.

Step 4

• Cat-C receives the BPDU from Cat-B, and increased the Root Path Cost to 38 (19+19). (Same with Cat-C sending to Cat-B.)

Step 5

• Cat-B calculates that it can reach the Root Bridge at a cost of 19 via Port 1/1 as opposed to a cost of 38 via Port 1/2.

• Port 1/1 becomes the Root Port for Cat-B, the port closest to the Root Bridge.

• Cat-C goes through a similar calculation. Note: Both Cat-B:1/2 and Cat-C:1/2 save the best BPDU of 19 (its own).



• The loop prevention part of STP becomes evident during this step, electing designated ports.


• A Designated Port functions as the single bridge port that both sends and receives traffic to and from that segment and the Root Bridge.

• Each segment in a bridged network has one Designated Port, chosen based on cumulative Root Path Cost to the Root Bridge.

• The switch containing the Designated Port is referred to as the Designated Bridge for that segment.

• To locate Designated Ports, lets take a look at each segment.

• Root Path Cost, the cumulative cost of all links to the Root Bridge.


Segment 1

• Because Cat-A:1/1 has the lower Root Path Cost it becomes the Designate Port for Segment 1.

Segment 2

• Because Cat-A:1/2 has the lower Root Path Cost it becomes the Designate Port for Segment 2.

Segment 3

• Both Cat-B and Cat-C have a Root Path Cost of 19, a tie!

• When faced with a tie (or any other determination) STP always uses the four-step decision process:

1. Lowest Root BID; 2. Lowest Path Cost to Root Bridge;

3. Lowest Sender BID; 4. Lowest Port ID

Segment 3 (continued)

• 1) All three switches agree that Cat-A is the Root Bridge, so this is a tie.

• 2) Root Path Cost for both is 19, also a tie.

• 3) The sender’s BID is lower on Cat-B, than Cat-C, so Cat-B:1/2 becomes the Designated Port for Segment 3.

• Cat-C:1/2 therefore becomes the non-Designated Port for Segment 3.



Stages of spanning-tree port states


• Time is required for (BPDU) protocol information to propagate throughout a switched network.


• Topology changes in one part of a network are not instantly known in other parts of the network.

• There is propagation delay.

• A switch should not change a port state from inactive (Blocking) to active (Forwarding) immediately, as this may cause data loops.

• Each port on a switch that is using the Spanning-Tree Protocol has one of five states,


STP Port States

• In the blocking state, ports can only receive BPDUs.

– Data frames are discarded and no addresses can be learned.

– It may take up to 20 seconds to change from this state.

• Ports go from the blocked state to the listening state.

– Switch determines if there are any other paths to the root bridge.

– The path that is not the least cost path to the root bridge goes back to the blocked state.

– The listening period is called the forward delay and lasts for 15 seconds.

– In the listening state, user data is not being forwarded and MAC addresses are not being learned.

– BPDUs are still processed.




• Ports transition from the listening to the learning state.


– In this state user data is not forwarded, but MAC addresses are learned from any traffic that is seen.

– The learning state lasts for 15 seconds and is also called the forward delay.

– BPDUs are still processed.

• A port goes from the learning state to the forwarding state.

– In this state user data is forwarded and MAC addresses continue to be learned.

– BPDUs are still processed

 
 
STP Timers




• Cat-B:1/2 fails.

• Cat-C has no immediate notification because it’s still receiving a link from the hub.

• Cat-C notices it is not receiving BPDUs from Cat-B.

• 20 seconds (max age) after the failure, Cat-C ages out the BPDU that lists Cat-B as having the DP for segment 3.

• This causes Cat-C:1/2 to transition into the Listing state (15 seconds) in an effort to become the DP.

• Because Cat-C:1/2 now offers the most attractive access from the Root Bridge to this link, it eventually transitions to Learning State (15 seconds), then all the way into Forwarding mode.

• In practice this will take 50 seconds (20 max age + 15 Listening + 15 Learning) for Cat-C:1/2 to take over after the failure of Cat-B:1/2.



Port Cost/Port ID


• If the path cost and bridge IDs are equal (as in the case of parallel links), the switch goes to the port priority as a tiebreaker.

• Lowest port priority wins (all ports set to 32).

• You can set the priority from 0 – 63.

• If all ports have the same priority, the port with the lowest port number forwards frames.