前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >一文读懂 STP:交换机接口状态详解及工作原理

一文读懂 STP:交换机接口状态详解及工作原理

作者头像
神的孩子都在歌唱
发布2025-03-07 18:13:53
发布2025-03-07 18:13:53
630
举报

一文读懂 STP:交换机接口状态详解及工作原理

前言

肝文不易,点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。 作者:神的孩子都在歌唱

一. 引言:STP 是什么,为何如此重要?

在网络世界中,交换机是网络的“交通枢纽”,但如果连接不当,很容易出现**“网络环路”**,导致广播风暴、数据包无限循环,最终让整个网络瘫痪。

这时候,生成树协议(STP,Spanning Tree Protocol)就像一个“交通警察”,负责检测和阻止环路,确保数据沿着最优路径流转,从而让网络安全、高效、稳定

image-20250222150237900
image-20250222150237900

二. STP 的核心作用:避免网络环路

2.1 什么是 STP?

STP(Spanning Tree Protocol,生成树协议)由 IEEE 802.1D 标准 定义,它的主要作用是: ✅ 检测网络环路,避免数据包“无限循环”导致网络崩溃。 ✅ 自动选择最优路径,提升数据传输效率。 ✅ 支持冗余链路,当某条链路故障时,可以自动启用备用路径。

2.2 STP 的核心概念

交换机之间使用 网桥协议数据单元 (Bridge Protocol Data Unit, BPDU)来交换STP信息, BPDU 包含了实现 STP 必要的根网桥 ID,根路径成本, 发送网桥 ID, 端口ID 等信息。

  • 根桥(Root Bridge):整个 STP 网络的核心设备,所有路径都相对它计算。
  • 根端口(Root Port):每台交换机通向根桥的最优端口。
  • 指定端口(Designated Port):在一条链路上被选为主干端口的接口,负责转发流量。
  • 阻塞端口(Blocked Port):为了防止环路,该端口会被关闭,不转发流量。

三. STP 交换机接口状态详解

STP 通过不同的接口状态 来管理数据流动,它的端口状态可以分为以下几种:

接口状态

功能描述

数据转发能力

BPDU 处理

持续时间

Disabled(禁用)

端口被管理员手动关闭

❌ 不转发

❌ 不处理

永久

Blocking(阻塞)

防止环路,端口不参与转发

❌ 不转发

✅ 监听 BPDU

20 秒(默认)

Listening(监听)

计算 STP 拓扑,准备选举角色

❌ 不转发

✅ 监听 BPDU

15 秒(默认)

Learning(学习)

学习 MAC 地址,但仍不转发数据

❌ 不转发

✅ 学习 MAC

15 秒(默认)

Forwarding(转发)

端口完全工作,转发数据流量

✅ 转发

✅ 继续学习

长期

👉 总结一下:

  1. 1. Blocking 状态防止环路,不会转发数据。
  2. 2. Listening 和 Learning 是过渡阶段,确保网络拓扑稳定。
  3. 3. Forwarding 是最终目标,允许数据正常传输!
  4. 4. 阻塞状态到侦听状态需要20秒,侦听状态到学习状态需要15秒,学习状态到转发状态需要15秒。

四. STP 的工作原理:一步步构建安全网络

4.1 STP 运行流程

1️⃣ 根桥选举:所有交换机通过 BPDU(Bridge Protocol Data Unit)报文投票,选出最低 Bridge ID 的交换机作为根桥。 2️⃣ 计算最优路径:每台交换机寻找到根桥的最短路径,确定根端口(Root Port)。 3️⃣ 指定端口选举:在每条链路上,选出最优路径的交换机端口作为指定端口(Designated Port)。 4️⃣ 阻塞非必要端口:为了防止环路,其余端口进入 Blocking 状态,不参与转发。

4.2. STP 实战案例:简单示例

假设我们有 3 台交换机 SW1、SW2、SW3 连接成一个环形结构:

  1. 1. 步骤 1:根桥选举 STP 通过比较 Bridge ID 选出 SW1 作为根桥(假设 SW1 的优先级最低)。其中BID由2字节的 网桥优先级字段 和6字节的 MAC地址字段 组成。
image-20250307003907285
image-20250307003907285
  1. 2. 步骤 2:确定 Root Port SW2 和 SW3 选择到 SW1 的最短路径作为 Root Port。 每台交换机在选根端口时,会按照以下顺序进行比较: 1️⃣ 最小路径开销(Path Cost,链路开销)2️⃣ 如果开销相同,比较发送 BPDU 的桥 ID(Bridge ID) 3️⃣ 如果 Bridge ID 也相同,比较发送 BPDU 的端口 ID(Port ID)
image-20250307004735724
image-20250307004735724
  • 端口 ID 低的端口胜出,Port ID = 端口优先级 + 端口号。
  • • BPDU(生成树协议数据单元)里包含 Bridge ID(由优先级 + MAC 地址组成)。
  • 较低 Bridge ID 的交换机胜出
  • • STP 会计算从交换机到根桥的最小“开销”,这个开销取决于链路带宽(越快的链路,开销越小)。
  • 带宽越大,开销越小,优先级越高!
  • • 例如:
    • • 10 Mbps = 100
    • • 100 Mbps = 19
    • • 1 Gbps = 4
    • • 10 Gbps = 2
  1. 3. 步骤 3:选择 Designated Port 根桥 所有的端口都为 指定端口 。在 SW2 和 SW3 之间的链路,STP 选出一个端口作为 指定端口, 选择 指定端口依据如下: 1️⃣ 到根路径成本最低 2️⃣ 端口所在的网桥的ID值最小 3️⃣ 端口ID值较小
image-20250307010008111
image-20250307010008111

SW3 和 SW2 两端口到根桥的成本一致,选择BID较小的SW2交换机端口为指定端口

  1. 4. 步骤 4:阻塞端口防环路 由于 SW2 和 SW3 之间仍然有一条冗余路径,STP 会阻塞其中一个端口,避免环路发生。 也就是会阻塞SW3的端口
image-20250307010114532
image-20250307010114532

这样,网络依然可以正常运行,同时防止了数据环路! 🎯

6. STP 变种协议:更快更强的进化版

STP 是网络中最基础的生成树协议,但它的收敛速度较慢,因此后续出现了更先进的版本:

协议

标准

特点

收敛速度

STP

IEEE 802.1D

基本生成树协议

⏳ 慢(30~50 秒)

RSTP

IEEE 802.1w

快速生成树,收敛加快

⚡ 快(1~2 秒)

MSTP

IEEE 802.1s

多生成树协议,可支持多个 VLAN

🚀 适用于大规模网络

PVST+

Cisco 私有

每个 VLAN 生成独立生成树

🔥 Cisco 交换机优化

大家学完这个基础知识,大家可以去看看我写了一篇关于STP配置的文章:

生成树协议(STP)配置详解:避免网络环路的最佳实践生成树协议(STP)配置详解:避免网络环路的最佳实践

网络环路突发?网工必备的快速解决方案

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 神的孩子都在歌唱 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一文读懂 STP:交换机接口状态详解及工作原理
    • 一. 引言:STP 是什么,为何如此重要?
    • 二. STP 的核心作用:避免网络环路
      • 2.1 什么是 STP?
      • 2.2 STP 的核心概念
    • 三. STP 交换机接口状态详解
    • 四. STP 的工作原理:一步步构建安全网络
      • 4.1 STP 运行流程
      • 4.2. STP 实战案例:简单示例
    • 6. STP 变种协议:更快更强的进化版
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档