交换机完成启动后,生成树便立即确定。如果交换机端口直接从阻塞转换到转发状态,而交换机此时并不了解所有拓扑信息时,该端口可能会暂时造成数据环路。为此,STP 引入了五种端口状态。

阻塞 - 该端口是非指定端口,不参与帧转发。此类端口接收 BPDU 帧来确定根桥交换机的位置和根 ID,以及最终的活动 STP 拓扑中每个交换机端口扮演的端口角色。

侦听 - STP 根据交换机迄今收到的 BPDU 帧,确定该端口可参与帧转发。此时,该交换机端口不仅会接收 BPDU 帧,它还会发送自己的 BPDU 帧,通知邻接交换机此交换机端口正准备参与活动拓扑。

学习 - 端口准备参与帧转发,并开始填充 MAC 地址表。

转发 - 该端口是活动拓扑的一部分,它会转发帧,也会发送和接收 BPDU 帧。

禁用 - 该第 2 层端口不参与生成树,不会转发帧。当管理性关闭交换机端口时,端口即进入禁用状态。


BPDU 计时器
端口处于各种端口状态的时间长短取决于 BPDU 计时器。只有角色是根桥的交换机可以通过生成树发送信息来调整计时器。以下计时器决定了 STP 的性能和状态转换:
·Hello 时间
·转发延迟
·最大老化时间


Cisco PortFast 技术

PortFast 是 Cisco 独有的技术。使用 PortFast 的交换机端口如果被配置为接入端口,该端口会直接从阻塞状态转换到转发状态,绕过常规的 STP 侦听和学习状态。您可以在连接到单个工作站或服务器的接入端口上使用 PortFast,以便这些设备立即接入网络,而不必等待生成树收敛。当配置了 PortFast 的接口收到 BPDU 帧时,生成树可以使用一种称为“BPDU 防护”的功能将该端口置于阻塞状态。

注:Cisco PortFast 技术可用来支持 DHCP。如果没有配置 PortFast,PC 可能在端口进入转发状态之前发送 DHCP 请求,导致主机无法获得可用的 IP 地址和其它信息。由于 PortFast 立即将状态更改为转发,PC 就始终能获得可用的 IP 地址。

注:由于 PortFast 的目的是将接入端口等待生成树收敛的时间降至最低,因此该技术只能用于接入端口上。如果在连接到其它交换机的端口上启用 PortFast,则会增加形成生成树环路的风险。