STP用于解决二层环路问题。
如果产生二层环路则会发生以下问题:
- 广播风暴
- MAC地址表震荡
- 多帧拷贝
STP通过传递BPDU(bridge protocol data unit桥接协议数据单元)进行STP计算所需要的条件,随后根据特定的算法,阻塞特定端口,从而得到无环的树形拓扑。
STP工作流程:
- 选举根桥(Root Bridge)
- 选举根端口 (Root Port)
- 选举指定端口(Designated Port)
- 阻塞预备端口(Alternate Port)
BPDU数据包内容详解:
STP端口状态类型:
Disabled->Blocking->Listening->Learning->Forwarding
华为交换机是看不懂Blocking和Listening的,统称为discarding。其中,discarding转learning状态需要默认延迟15s,learning状态转到forwarding状态需要15s,端口切换需要30s的延迟。
可以配置交换机的边缘端口,可以减少边缘端口的30s
可以不通过指定优先级的方式进行跟交换机的指定使用如下命令:
stp root primary #指定交换机为根交换
stp root secondary #指定交换机为备用根交换
可以通过修改链路的开销值来进行根端口的选举:
接口视图下:使用stp const 值 的方式进行修改cost值
根桥接口视图下:使用stp port priority 值 可以修改端口的优先级,默认128。需要设定16的倍数
注意:多交换机的情况下,控制非根桥交换机跟口推荐使用BPDU发送交换机设置优先级进行自动分配根端口和阻塞口