插件窝 干货文章 二层STP的原理是什么

二层STP的原理是什么

端口 成树 链路 路径 91    来源:    2025-04-26

STP(生成树协议,Spanning Tree Protocol)是一种用于消除二层网络环路的协议,其核心原理是通过算法构建一棵无环的树状拓扑。以下是STP工作原理的详细解析:


1. 核心目标

  • 消除环路:防止广播风暴、MAC地址表震荡等二层环路问题。
  • 冗余备份:在阻断冗余链路的同时,当主链路故障时能快速启用备用路径。

2. STP的关键概念

  • 根桥(Root Bridge):整个网络的逻辑中心,所有数据流向根桥。

    • 通过比较Bridge ID(BID)选举,BID = 桥优先级(默认32768) + MAC地址。
    • 值越小越优先(先比较优先级,相同则比较MAC地址)。
  • 根端口(Root Port):每个非根交换机上距离根桥最近的端口(到根桥的路径成本最低)。

  • 指定端口(Designated Port):每个网段中到根桥路径最优的端口,负责转发流量。

  • 阻塞端口(Blocking Port):非根端口且非指定端口,逻辑上阻断环路。


3. STP的工作流程

步骤1:选举根桥

  • 所有交换机初始认为自己是根桥,通过发送BPDU(Bridge Protocol Data Unit)交换信息。
  • 比较BID后,最优的交换机成为根桥。

步骤2:选举根端口(每个非根交换机)

  • 非根交换机选择到根桥的最低根路径成本的端口。
    • 路径成本基于链路带宽(例如:10Mbps=100,1Gbps=4)。
  • 如果成本相同,则比较上游交换机的BID及端口ID。

步骤3:选举指定端口(每个网段)

  • 同一网段中,到根桥路径成本最小的端口成为指定端口。
  • 若成本相同,比较所在交换机的BID。

步骤4:阻塞剩余端口

  • 既不是根端口也不是指定端口的端口将被阻塞(Discarding状态)。

4. BPDU的作用

  • 携带关键信息:根桥BID、根路径成本、发送者BID、端口ID等。
  • 定期发送(默认2秒):维护拓扑状态,检测链路故障。

5. 端口状态转换

STP端口需经历以下状态(收敛时间约30-50秒): 1. Disabled:端口关闭。 2. Blocking:不转发数据,仅接收BPDU。 3. Listening:参与生成树计算,不学习MAC地址。 4. Learning:学习MAC地址,但不转发数据。 5. Forwarding:正常转发数据。


6. STP的不足与改进

  • 收敛速度慢:传统STP需30-50秒,改进版如RSTP(快速生成树)将收敛时间缩短至1-2秒。
  • 单生成树实例:MSTP(多生成树)支持多实例,优化VLAN负载均衡。

总结

STP通过选举根桥、根端口、指定端口,并阻塞冗余链路,构建无环拓扑。虽然存在收敛慢的问题,但它是二层网络可靠性的基础协议,后续的RSTP/MSTP在此基础上进行了优化。

如果需要更深入的细节(如计时器调整、拓扑变更机制等),可以进一步探讨!