STP contents of a BPDU

A Bridge Protocol Data Unit (BPDU) has a number of fields that contain information for STP to operate correctly:

Field No.BytesField Description
12Protocol ID - set to zero for IEEE 802.1D
21Protocol version ID - set to 0 for a config and TCN BPDU, set to 2 for RST, 3 for MST, and 4 for SPT BPDUs
31BPDU Type - set to 0 for config BPDU, 128 for TCN, 2 for RST/MST Config BPDU
41Flags - indicate various things such as topology changes and acknowledgments among others
58Root ID - indicates the root bridge by listing a 2-byte priority, followed by the MAC address ID
64Root path cost - indicates the cost of the path from the bridge sending the BPDU to the root bridge
78Bridge ID - indicates the priority and MAC address ID of the bridge sending the BPDU
82Port ID - indicates the port number from which the BPDU was sent
92Message age - the amount of time in seconds since the root bridge sent the current configuration BPDU
102Max age - indicates the age in seconds at which time the current BPDU should be discarded
112Hello time - the interval between BPDU messages
122Forward delay - the length of time in seconds that a bridge should wait before transitioning to a new state after a topology change

For more information on the topology change process and how BPDUs are involved, take a look at STP topology change process, STP Topology Change (TC) flag, and STP - Topology Change Acknowledgement (TCA).

A version ID of 4 corresponds to a Shortest Path Tree (SPT) BPDU which is part of the development and implementation of Shortest Path Bridging (SPB) as specified in the IEEE 802.1aq standard.

Links:

https://networklessons.com/cisco/ccie-routing-switching-written/spanning-tree-topology-change-notification-tcn

https://networklessons.com/cisco/ccie-routing-switching-written/spanning-tree-reconvergence

https://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/24062-146.html#anc7

https://en.wikipedia.org/wiki/Spanning_Tree_Protocol#Bridge_Protocol_Data_Unit_fields