06.《STP 基础原理与配置详解》
STP(生成树协议)
文章目录
- STP(生成树协议)
- STP基本介绍
- 二层环路的危害
- STP的版本分类
- STP的关键报文
- BCDU报文基本格式
- STP选举三要素
- 实验案例
- **实验拓扑**
- **实验流程**
- **实验流程详解**
STP基本介绍
作用:在二层网络中,防止环路问题(可以实现多链路之间的路径备份)
原理:通过将多条链路中的某个或者某些接口进行逻辑上阻塞(阻塞不代表设备接口故障,而是不转发业务数据),选择一条最优路径转发业务数据,从而避免环路。
STP 的核心思路:“阻塞冗余链路,保留最优路径”。
二层环路的危害
- 广播风暴:在设备之间发送大量广播报文,使其在网络中无限循环,占用带宽,导致网络瘫痪。
- 重复帧:在设备直接出现大量相同数据帧,使其同一数据帧被多次接收,造成数据重复和处理负担。
- MAC 地址漂移:同一 MAC 地址从不同端口学习到,导致 MAC 表不稳定。
判断环路现象:交换机所有接口指示灯频繁闪烁。可通过逐一拔插网线的方式定位环路链路。
STP的版本分类
版本 | 标准 | 特点 |
---|---|---|
STP | IEEE 802.1D | 标准生成树,收敛慢(约30秒) |
RSTP | IEEE 802.1W | 快速生成树,收敛速度快 |
MSTP | IEEE 802.1S | 多实例生成树,华为设备默认使用 |
修改STP命令
[SW1]stp mode ? mstp Multiple Spanning Tree Protocol (MSTP) mode rstp Rapid Spanning Tree Protocol (RSTP) mode stp Spanning Tree Protocol (STP) mode
验证:(默认状态为STP)
STP的关键报文
STP 设备之间通过 BPDU (Bridge Protocol Data Unit,桥协议数据单元)报文交换信息,就像网络中的 “通信协议”。
BCDU报文基本格式
参考华为视图:
部分字段说明:
- 配置 BPDU(0x00):由根桥发送,用于选举网络中的关键角色(根桥、根端口、指定端口)。
- TCN BPDU(0x80):拓扑变化通知报文,当网络结构发生变化(如链路故障)时发送。
- Flags:网络拓扑变化标志,最低为=TC,最高位=TCA。
- Root Identifier:根桥的 ID(优先级 + MAC 地址)。
- Root Path Cost:本端口到根桥的累计路径开销(类似 “距离”)。
- Bridge Identifier:发送该报文的交换机的 ID。
- Port Identifier:发送该报文的端口 ID(优先级 + 端口编号)。
- Mseeage Age:该BPDU的消息年龄,配置BPDU每经过一台交换机,消息年龄加1,最多20台
- MAX Age:BPDU 的最大存活时间(默认 20 秒)。
- Hello Time:发送 BPDU 的时间间隔(默认 2 秒)。
- Forward Delay:侦听和学习状态的持续时间(默认 15 秒)。
抓包解析:
STP选举三要素
实验案例
实验拓扑
实验流程
- 选举根桥(整个网络中唯一的 “核心交换机”);
- 非根桥交换机选举根端口(离根桥最近的端口);
- 每条链路选举指定端口(负责转发数据到下一级的端口);
- 剩余未被选中的端口被设置为阻塞状态,实现无环网络。
实验流程详解
1、根桥(Root Bridge)选举
-
在一个二层网络中,最优的交换机就是根桥(Root),选举一个根桥。
-
所有交换机都是STP的桥,每个交换机有一个桥ID(Bridge ID),由系统优先级 + MAC 地址组成。
-
系统优先级默认为
32768
,步长为4096
,范围0–61440
。 -
选举规则:桥ID数值越小越优先(先比优先级,再比 MAC 地址)。
查看交换机mac地址:Dis int g0/0/1
(缩写)
强制设置某交换机为根桥:(SW2为例)
修改stp的优先级:stp priority 4096
[SW2]stp priority 4096
2.根端口(Root Port,RP)选举
- 每台非根桥交换机有且只有一个根端口,用于接收来自根桥的最优 BPDU。
- 端口ID = 端口优先级(默认128,步长16,范围0–240) + 端口编号。
- 每一台非根桥交换机选举且选举一个RP端口。
RP选举规则(按顺序比较):
1.端口累计到达根桥开销之和比小(默认STP一条链路开销20000
2.发送BPDU的交换机桥ID数值比小
3.发送BPDU的交换机端口ID数值比小
4.设备本地端口ID数值比小
3、指定端口(Designated Port, DP)选举
-
交换机每一个端口都拥有端口ID。
-
端口ID = 端口优先级(默认128,步长16,范围0–240) + 端口编号。
-
用于转发最优的BPDU。
-
根桥上的所有接口都是DP。
-
交换机(桥)之间的每一条链路选举一个DP。
DP选举规则:(与RP选举规则一致)
①端口累计到达根桥开销之和比小(默认STP一条链路开销20000)。
②发送BPDU的交换机桥ID数值比小。
③发送BPDU的交换机端口ID数值比小。
STP端口5个状态:
状态 | 说明 |
---|---|
Disabled(禁用) | 端口未启用或物理关闭 |
Blocking(阻塞) | 不转发数据,接收 BPDU |
Listening(侦听) | 不转发数据,接收并发送 BPDU,参与拓扑计算 |
Learning(学习) | 不转发数据,开始学习 MAC 地址 |
Forwarding(转发) | 正常转发数据帧 |
华为文档图例:
如涉及版权问题,请联系作者处理!!!