2.1.f Implement and Troubleshoot Spanning-tree
In this top most section I’d look to go over the Bridge Protocol Data Unit (BPDU) which is the building block of spanning-tree.
Let’s go in-depth on the headers, their values, and their differences in version iterations.
802.1D Spanning Tree / PVST+ BPDU
You should utilize my anki notes that I provide to memorize all of the important fields. I know it may seem like a lot, but in reality it only took me 15 minutes to memorize these.
Here is the BPDU for classic spanning-tree and PVST+.
There are 12 fields:
Protocol Identifier: Identifies the protocol as aspanning-tree
Protocol Version Identifier: The version of spanning-tree 0 in this case means 802.1d
BPDU Type: Either Configuration or TCN
BPDU Flags:Either None or “Topology Change Acknowledgement” or “Topology Change”
Root Identifier: includes the root’s priority, system id extension (vlan), and mac address
root path cost: The cost from the switch who sent this BPDU to reach the root
bridge Identifier: The priority, system id (vlan) and mac address of the switch that sent this BPDU
Port Identifier:The 8 byte value for port priority (0x80 is 128) and the port id (003 is g0/3)
Message Age: Sent as 0 by the root bridge, incremented once every time a non-root switch processes this and resends it. The BPDU will age out if MAX Age – Message Age = 0.
Max Age: Similar to a hold timer, reset every time a port receives a BPDU. The message age is subtracted from this such that if we receive a BPDU with a message age of 3 our max age for the BPDU will be 17 (due to a 20 sec default max age).
Hello Time: How often we send BPDUs (default of 2 sec)
Forward Delay: This is the value that each phase, Listening and Learning spend.