IEEE 802.1D STP 使用生成树算法 (STA) 确定网络中的哪些交换机端口必须处于阻塞状态才能防止形成环路。 STA 会将一台交换机指定为根网桥,然后将其用作所有路径计算的参考点。 在图中,交换机 S1 在选举过程中被选为根网桥。 所有参与 STP 的交换机互相交换 BPDU 帧,以确定网络中哪台交换机的网桥 ID (BID) 最小。 BID 最小的交换机将自动成为 STA 计算中的根网桥。

注意:为了简单起见,假定所有交换机的所有端口都已分配给 VLAN 1,除非另有说明。 每台交换机都有唯一的 MAC 地址关联 VLAN 1。

BPDU 是交换机之间为 STP 交换的消息帧。 每个 BPDU 都包含一个 BID,用于标识发送该 BPDU 的交换机。 BID 包含优先级值、发送方交换机的 MAC 地址以及可选的扩展系统 ID。 最低的 BID 值取决于这三个字段的组合。

确定根网桥后,STA 会计算到根网桥的最短路径。 每台交换机都使用 STA 来确定要阻塞的端口。 当 STA 为广播域中的所有交换机端口确定到达根网桥的最佳路径时,网络中的所有流量都会停止转发。 STA 在确定要阻塞的端口时,会同时考虑路径开销和端口开销。 路径开销是根据端口开销值计算出来的,而端口开销值与给定路径上的每个交换机端口的端口速度相关联。 端口开销值的总和决定了到达根网桥的总路径开销。 如果可供选择的路径不止一条,STA 会选择路径开销最低的路径。

STA 确定到每台交换机的最佳路径之后,它会为相关交换机端口分配端口角色。 端口角色描述了网络中端口与根网桥的关系,以及端口是否能转发流量: