6.STP与MSTP
交换机防环的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 的备份根桥