为了网络稳定,通常会有冗余链路。但冗余链路会导致环路、广播风暴和MAC表震荡。STP则可以在提高网络稳定性的同时解决这些问题。
生成树协议的原理:
- 每个广播域选择一个根桥(根交换机);
- 每个非根桥上选择一个根端口(RP,root port);发送最优的BPDU
- 在每各段(segment)上选择一个指定端口(DP,designated port);接收最优的BPDU
- 既不是根端口也不是指定端口的端口成为预备端口(AP,alternated port),处于阻塞状态,不转发任何报文。
BPDU——桥接协议数据单元
:
为了计算生成树,交换机之间需要交换信息和参数,这些信息和参数被封装在BPDU中。BPDU有两种类型:配置BPDU和TCN BPDU。
- 配置BPDU:包含了桥ID、路径开销、端口ID等参数。STP协议中,交换机通过发送配置BPDU来选举根桥,以及确定每各交换机端口的角色和状态。在初始化过程中,每个桥都发送配置BPDU;当网络拓扑稳定后只有根桥主动发送配置BPDU,其他桥只有收到上游的配置BPDU后,才发送自己的配置BPDU。
- TCN BPDU(拓扑变更通告):下游交换机在网络拓扑发送变化时向上游发送的拓扑变化通知。
选举过程
- 根桥选举:
每一个STP交换机启动后都会认为自己时根桥。STP正真的根桥通过比较根ID选举产生。每一个STP交换机都有一个桥ID。
桥ID=桥优先级+MAC地址
先比较桥优先级,优先级越小越优先。默认优先级是32768。如果优先级相同,再比较MAC地址,MAC地址越小越优先。
注意:根桥一定要放在核心设备或性能更好的设备上
SW1的配置
<Huawei>sys
//开启STP
[Huawei]stp enable
//选择STP模式。STP有三种模式STP、RSTP(快速STP)和MSTP(多进程STP)。华为交换机默认是MSTP
[Huawei]stp mode stp
//第一种方式,修改优先级。优先级必须是4096的倍数
[Huawei]stp priority 4096
//第二种方式,