STP基本概念
STP是生成树协议的缩写,主要用于防止二层网络中的环路问题(三层网络中可以通过IP字段 TTL进行破环)
为什么二层会环路
以太网帧中没有防环字段,帧在转发时没有TTL-1机制
二层环路带来的影响
广播风暴-------------------无休止运行,主机收到广播要交给CPU处理,影响主机性能,可能导致设备宕机
MAC地址漂移-------------MAC地址振荡
单帧多次递交现象--------一般在同一Vlan中出现
STP端口角色的选举
两种端口角色
根端口RP、指定端口DP、阻塞端口AP
- 标准的STP协议,端口角色只有两种,即RP和DP,没有对Block状态的端口进行角色的定义。
- 但是在华为的设备上,STP协议将Block状态端口引用RSTP协议的AP端口角色来定义
- 即AP端口是RSTP协议的端口角色,标准STP种并没有AP端口的定义,只是华为的STP用AP端口来表达端口的状态为Block
首先先了解两个概念
BID:桥ID(包含交换机的优先级和交换机的MAC地址)
优先级-----0~65535,缺省32768。并且优先级必须是4096的倍数-----越小越优先
MAC地址--选择交换机所有端口中最小的MAC地址做比较---------------越小越优先
PID:端口ID(包含端口的优先级和端口编号)
优先级-----0~255,缺省128。并且优先级必须是16的倍数--------------越小越优先
端口编号------------------------------------------------------------------------------越小越优先
STP选举步骤
- 选举根桥,同一个二层网络根桥有且只有一个
- 其它交换机为非根桥,在非根桥上选举根端口(RP),每个非根桥交换机有且只有一个根端口,根桥上不存在根端口
- 在每条链路上选举一个指定端口,每条链路有且只有一个指定端口(根端口和指定端口不能是同一个端口)
- 非根端口、非指定端口的端口,就称为阻塞端口
端口角色如何选举
交换机启动后就自动开始进行生成树收敛计算,默认情况下,所有交换机在启动时都认为自己是根桥,自己的所有端口都为指定端口,这样BPDU报文就可以通过所有端口转发。
选举根桥
BID最小的交换机称为根桥(根桥可以被抢夺)
比较桥优先级,越小越优
比较MAC地址,越小越优
选举根端口RP——交换机上能够接收最好的BPDU报文的端口
比较端口收到的BPDU报文中Root ID最小的,为根端口(同一根桥,Root ID是一致的)
比较路径开销,此开销为端口收到的最小路径开销,越小越优
比较对端的BID,选优先级高的
比较对端的PID,选择优先级高的
比较本端口的PID,选择优先级高的
选举指定端口DP——链路上能够发送给根桥的最好BPDU的端口
对于根桥来说,其所有端口一般都为指定端口
比较路径开销,此开销指的是端口发送出去的根路径开销,越小越优先(Eth端口开销默认为20000)
比较本端的BID,选优先级高的
比较本段的PID,选择优先级高的
选举阻塞端口------除了RP与DP外的端口都为阻塞端口AP
STP端口开销计算的3种标准
dot1d-1998 路径开销的计算方法是IEEE 802.1d-1998标准方法(老标准,一般不建议使用)
dot1t 路径开销的计算方法是IEEE802.1t标准方法(新标准,华为默认)
legacy 路径开销的计算方法是华为计算方法(华为私有标准)
STP的五种端口状态
**Disabled ** 禁用 不运行STP
接口Shutdown
**Blocking ** 阻塞 只接受STP,不发送STP,不学习MAC,不转发用户数据-----AP端口状态
接口启用/根端口和指定端口还没被选为根端口或指定端口
**Listening ** 聆听 接受、转发STP,不学习MAC,不转发用户数据
端口被选为根端口或指定端口
**Learning ** 学习 接受、转发STP,学习MAC,不转发用户数据
接口 Forward delay计时器超时
Forwarding 转发 接受、转发STP,学习MAC,转发用户数
接口 Forward delay计时器超时
状态转变时间
阻塞 → 聆听 0s~20s时间
聆听 → 学习 15s时间
学习 → 转发 15s时间
所以,STP从开启到转发,最少需要30s,最大需要50s
STP故障切换
根桥故障
1、根桥直接宕机,LSW2和LSW3会直接重新选举根桥
2、当根桥关闭STP之后,停止发送BPDU,无AP端口的交换机发送以自己为根的BPDU报文
有AP端口的交换机等上个根桥的BPDU老化之后再处理此BPDU(20s)
然后根据情况阻塞端口转为指定/根端口需要经历15+15=30s的时间
所以当根桥故障后最大需要50s时间才可以恢复
直连故障
存在AP端口的交换机出现RP直连故障
AP成为新的RP,在经历2倍的转发延时后进入转发状态,故障恢复
不存在AP端口的交换机出现RP的直连故障
该交换机会以自己为根发送BPDU
下游交换机等到上个 根桥的BPDU20s老化之后,处理该BPDU
当下游接口确定是DP端口时,经历2倍的转发延时进入转发状态
总计50s后恢复故障
间接故障
存在AP端口的交换机出现RP的间接故障后
RP的BPDU老化,AP成为新的RP,在经历2倍的转发延时后进入转发状态,50s故障恢复
不存在AP端口的交换机出现RP的间接故障
该交换机会以自己为根发送BPDU
下游交换机等到上个 根桥的BPDU20s老化之后,处理该BPDU
当下游接口确定是DP端口时,经历2倍的转发延时进入转发状态
总计50s后恢复故障
STP相关信息查看
版权归原作者 静下心来敲木鱼 所有, 如有侵权,请联系我们删除。