STP 使用生成树算法 (STA) 计算网络中的哪些交换机端口应配置为阻塞才能防止环路形成。STA 会将一台交换机指定为根桥,然后将其用作所有路径计算的参考点。在右图中,交换机 S1 在选举过程中被选为根桥。所有参与 STP 的交换机互相交换 BPDU 帧,以确定网络中哪台交换机的网桥 ID (BID) 最小。BID 最小的交换机将自动成为 STA 计算中的根桥。根桥选举过程将在本章后续部分介绍。

 
BPDU 是运行 STP 的交换机之间交换的消息帧。每个 BPDU 都包含一个 BID,用于标识发送该 BPDU 的交换机。BID 内含有优先级值、发送方交换机的 MAC 地址以及可选的扩展系统 ID。BID 值的大小由这三个字段共同决定。我们将在后面的主题详细介绍根桥、BPDU 和 BID。
 
确定根桥后,STA 会计算到根桥的最短路径。每台交换机都使用 STA 来确定要阻塞的端口。当 STA 为广播域中的所有目的地确定到达根桥的最佳路径时,网络中的所有流量都会停止转发。STA 在确定要开放的路径时,会同时考虑路径开销和端口开销。路径开销是根据端口开销值计算出来的,而端口开销值与给定路径上的每个交换机端口的端口速度相关联。端口开销值的总和决定了到达根桥的路径总开销。如果可供选择的路径不止一条,STA 会选择路径开销最低的路径。路径开销以及端口开销将在后面的主题中详细介绍。
 
STA 确定了哪些路径要保留为可用之后,它会将交换机端口配置为不同的端口角色。端口角色描述了网络中端口与根桥的关系,以及端口是否能转发流量。
 
根端口 - 最靠近根桥的交换机端口。在示例中,交换机 S2 的根端口是 F0/1,该端口位于交换机 S2 与 S1 之间的中继链路上。交换机 S3 的根端口是 F0/1,该端口位于交换机 S3 与 S1 之间的中继链路上。
 
指定端口 - 网络中获准转发流量的、除根端口之外的所有端口。在示例中,交换机 S1 上的端口 F0/1 和 F0/2 都是指定端口。交换机 S2 的 F0/2 端口也是指定端口。
 
非指定端口 - 为防止环路而被置于阻塞状态的所有端口。在示例中,STA 将交换机 S3 上的端口 F0/2 配置为非指定端口。交换机 S3 上的 F0/2 端口处于阻塞状态。