6.STP与MSTP

发布时间 2023-09-05 23:51:32作者: 姬雨晨

交换机防环的STP协议

STP(spanning tree protocol)生成树协议

交换机在环路之后无法阻止广播帧(未知的单播包)在环路中不断循环转发,从而引起广播风暴与MAC地址表震荡 (源MAC 与 端口映射 关系)。

IP数据报文是在网络层处理的,用于在网络中的主机之间进行通信,而以太网帧是在数据链路层处理的,用于在局域网内的设备之间直接通信。在传输过程中,IP数据报文可以被封装在以太网帧中,以便在不同的网络层次中传递。
交换机无法修改报文中ttl值,因为ttl是网络层的

所以为了防止交换机产生环路,一些高级的交换机引入了STP协议,傻瓜交换机没有stp协议。

交换机开机自动运行stp协议,不需要敲配置<思科\华为>

[]stp disable                         #关闭stp协议
<sw3> dis stp brief
MSTID  Port                        Role       STP State     Protection
0      GigabitEthernet0/0/1        ROOT       FORWARDING    NONE
0      GigabitEthernet0/0/2        ALTE       DISCARDING    NONE
0      GigabitEthernet0/0/3        DEST       FORWARDING    NONE
<sw3>

原理:通过运行stp 算法,阻塞特定的接口实现冗余无环的网络。STP报文大概两秒发一个

stp协议算法

大原则:先选出不被阻塞的接口,剩下的接口都会被阻塞。

1.整个网络(整个广播域)先选出根桥(根交换机)

先比较优先级(默认一致 32768),再比较mac地址,越小越优先。根桥上面的端口都是指定端口。

2.非根桥上面选举根端口(根端口有且仅有一个)到达根桥 近的端口当选为根端口

3.每段链路选举一个指定端口

桥ID(优先级+mac)较小的交换机上面的端口当选为指定端口。剩下的端口全部被阻塞。

桥ID:优先级.MAC
根桥信息:Root / ERPC

STP协议中端口状态转换

down--->listening(侦听BPDU)--->learning(学习)--->FORWARDING(放行)
                                           --->DISCARDING(阻塞)

相关命令

RSTP 快速的生成树协议(stp 的升级版)

stp mode rstp                                                  #将stp的模式切换为rstp

边缘端口

启用STP协议的交换机端口不能立即由down状态变为转发状态,大概经过30s,防止产生临时环路。

为了减少端口的收敛时间可以将端口设置为边缘端口。

int gi 0/0/3
   stp edged-port enable

建议:将接PC的接口配置为边缘端口

修改交换机stp的优先级

stp priority 0                                                 # 修改交换机stp 的优先级

注:优先级必须是4096的倍数,数值越低,越优先

建议将核心交换机优先级设置为0,设置为根桥

自动降低优先级

自动降低优先级,直到降为最小的一个成为根桥

stp root primary

这个命令的目的是快速设置交换机为根桥,而不必手动配置优先级值。

stp根保护

一旦使能根保护功能的指定端口收到优先级比根桥优先级更低的BPDU时,端口状态将进入 Discarding状态,不再转发报文。在经过一段时间(通常为两倍的Forward Delay)(10s左右),如果端口一直没有再收到优先级较高(数值低)的BPDU,端口会自动恢复到正常的Forwarding状态。

int gi 0/0/2
  stp root-protection

注:该指令只能在指定端口配置才会生效。

建议到根桥的接口配置

stp bpdu 防护:保护根桥

用来启用或禁用交换机上的 BPDU保护功能。

BPDU保护 用于防止边缘设备(通常是主机或服务器)错误地发送 BPDU,从而干扰 STP(Spanning Tree Protocol)的正常运行。

stp bpdu-protection                                           #开启接口的PBDU保护功能

作用:开启bpdu保护后,如果从边缘端口收到stp报文,交换机会自动将该接口shutdown。从而确保根桥不被抢占,同时确保不会出现环路。

error-down auto-recovery cause bpdu-protection interval 30    #30s后自动up 自动恢复机制

MSTP(多生成树协议)

Muliti stp 多生成树协议 (华为交换机默认运行mstp)

工作原理:将多个vlan 捆绑在一起,运行在一个stp 实例里面,不同实例间的stp 互相独立。

注:默认情况下所有vlan 都在实例0 里面。

交换机需要提前创建vlan 和trunk

mstp配置:

instance 1  :vlan 10

instance 2  :vlan 20

所有的交换机:

stp region-configuration

 region-name hcnp

 instance 1 vlan 10

 instance 2 vlan 20

 active region-configuration              #使配置生效

sw2:
stp instance 2 priority 4096              #针对实例2 将sw2的stp 优先级调为4096

注:配置sw1 成为instance 2 的根桥:

sw1: stp  instance 2 root primary  (sw1会自动降低优先级成为实例2 的根桥)

sw2: stp  instance 2 root secondary  sw2将会自动降低优先级成为实例2 的备份根桥