一文读懂 STP:交换机接口状态详解及工作原理
一文读懂 STP:交换机接口状态详解及工作原理
- 一. 引言:STP 是什么,为何如此重要?
- 二. STP 的核心作用:避免网络环路
- 2.1 什么是 STP?
- 2.2 STP 的核心概念
- 三. STP 交换机接口状态详解
- 四. STP 的工作原理:一步步构建安全网络
- 4.1 STP 运行流程
- 4.2. STP 实战案例:简单示例
- 6. STP 变种协议:更快更强的进化版
前言
肝文不易,点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。
作者:神的孩子都在歌唱
一. 引言:STP 是什么,为何如此重要?
在网络世界中,交换机是网络的“交通枢纽”,但如果连接不当,很容易出现**“网络环路”**,导致广播风暴、数据包无限循环,最终让整个网络瘫痪。
这时候,生成树协议(STP,Spanning Tree Protocol)就像一个“交通警察”,负责检测和阻止环路,确保数据沿着最优路径流转,从而让网络安全、高效、稳定!
二. 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(转发) | 端口完全工作,转发数据流量 | ✅ 转发 | ✅ 继续学习 | 长期 |
👉 总结一下:
- Blocking 状态防止环路,不会转发数据。
- Listening 和 Learning 是过渡阶段,确保网络拓扑稳定。
- Forwarding 是最终目标,允许数据正常传输!
- 阻塞状态到侦听状态需要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:根桥选举
STP 通过比较 Bridge ID 选出 SW1 作为根桥(假设 SW1 的优先级最低)。其中BID由2字节的 网桥优先级字段 和6字节的 MAC地址字段 组成。
-
步骤 2:确定 Root Port
SW2 和 SW3 选择到 SW1 的最短路径作为 Root Port。 每台交换机在选根端口时,会按照以下顺序进行比较:
1️⃣ 最小路径开销(Path Cost,链路开销)- STP 会计算从交换机到根桥的最小“开销”,这个开销取决于链路带宽(越快的链路,开销越小)。
- 带宽越大,开销越小,优先级越高!
- 例如:
- 10 Mbps = 100
- 100 Mbps = 19
- 1 Gbps = 4
- 10 Gbps = 2
2️⃣ 如果开销相同,比较发送 BPDU 的桥 ID(Bridge ID)
- BPDU(生成树协议数据单元)里包含 Bridge ID(由优先级 + MAC 地址组成)。
- 较低 Bridge ID 的交换机胜出。
3️⃣ 如果 Bridge ID 也相同,比较发送 BPDU 的端口 ID(Port ID)
- 端口 ID 低的端口胜出,Port ID = 端口优先级 + 端口号。
-
步骤 3:选择 Designated Port
根桥 所有的端口都为 指定端口 。在 SW2 和 SW3 之间的链路,STP 选出一个端口作为 指定端口, 选择 指定端口依据如下:
1️⃣ 到根路径成本最低
2️⃣ 端口所在的网桥的ID值最小
3️⃣ 端口ID值较小SW3 和 SW2 两端口到根桥的成本一致,选择BID较小的SW2交换机端口为指定端口
-
步骤 4:阻塞端口防环路
由于 SW2 和 SW3 之间仍然有一条冗余路径,STP 会阻塞其中一个端口,避免环路发生。 也就是会阻塞SW3的端口
这样,网络依然可以正常运行,同时防止了数据环路! 🎯
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)配置详解:避免网络环路的最佳实践 文章。
作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接