STP
环路产生的问题
广播风暴
MAC地址表震荡
STP的作用
STP能够通过阻塞端口来消除环路,并能够实现链路备份的目的。
STP的操作
1、选举一个根桥(根交换机)
2、每个非根交换机选举一个根端口
3、每个网段选举一个指定端口
4、阻塞非根,非指定端口
根桥发送BPDU,非根桥只能接受BPDU,STP协议发送的就是BPDU消息
根桥(ROOT)选举
每台交换机启动STP时,都认为自己是根交换机
桥ID:唯一标识STP网络中的一台交换机,优先级+MAC地址构成
优先级范围:0~65535,默认32768,步长4096。越小越优先
设置stp优先级 [Huawei]stp priority ? INTEGER<0-61440> Bridge priority, in steps of 4096
首先比较桥优先级,优先级数值越低,优先级越高成为根桥
优先级相同比较MAC地址,MAC地址小的优先级越高成为根桥
端口选举
RPC: Root Path Cost 根路径开销
根端口(RP):非根交换机到达根桥RPC最近的端口,有且只有一个。作用:接受根桥发送的BPDU。
根端口选举
1、比较根路径开销(RPC),根路径小的成为RP
2、对端交换机桥ID
3、对端交换机端口ID(端口优先级+端口号组成,优先级范围0~240,默认128,步长16),端口越小越优
4、比较本交换机的端口ID
指定端口(DP):作用:转发根桥的BPDU
指定端口选举
1、 比较链路到达根桥的开销值,越小越优
2、端口所在交换机的BID
3、端口ID
阻塞端口(AP);如果该端口既不是RP也不是DP那么STP协议将该端口阻塞
端口转发状态
Disabled(禁用状态):STP被禁用,交换机没有开启STP
Blocking(阻塞状态):AP端口的最终状态,接受并处理BPDU,不能转发BPDU,不能学习MAC地址,不能转发用户流量。
Listening(监听状态):可以转发BPDU,不能转发用户流量
Learning(学习状态):可以转发BPDU,学习MAC地址,不转发用户流量
Forwarding:可以转发BPDU,学习MAC地址,转发用户流量
Disabled —> Blocking —> Listening —15s —> Learning —15s—>Forwarding
第一个15S叫做Forwarding Dealy(转发延时)防止发生临时环路,第二个15S为了交换机能够学习到终端的MAC地址,防止广播泛滥。
BPDU
BPDU分类
配置BPDU | TC BPDU | TCA BPDU | TCN BPDU |
TC=0 | TC=1 | TC=0 | |
TCA=0 | TCA=0 | TCA=1 | |
TC BPDU 需要由根桥发送35S的时间。
计时器
Hello Time:Hello时间,根交换机每隔2S发送BPDU
MAX Age:最大老化时间,20S
根桥故障
非根桥设备在20S老化时间之后可是根桥的重新选举
直连链路故障
SWB检测到直连链路故障后,会将预备端口转化为根端口
SWB新的根端口会在30S(Blocking—> Forwording)后恢复到转发状态
非直连链路故障
次优BPDU处理
标准STP下,直接将次优BPDU忽略
拓扑改变导致MAC地址错误
拓扑改变MAC地址表变化
TCN:拓扑改变通知
TCA:拓扑改变确认
TC:改变所有交换机的MAC地址老化时间改为15s
SWC感知链路改变会像SWB发送TCN(拓扑改变通知),SWB收到后会对SWC回复一个TCA(拓扑改变确认)。SWB并向根桥发送TCN,根桥收到后会通知所有交换机端口的老换时间从300S改为15S。
STP配置
[Huawei]dis stp brief //查看stp状态 MSTID Port Role STP State Protection 0 Ethernet0/0/1 DESI(DP) LEARNING NONE 0 Ethernet0/0/2 DESI(DP) LEARNING NONE [Huawei]stp priority 0 //修改桥ID优先级 [Huawei]dis stp -------[CIST Global Info][Mode STP]------- CIST Bridge :0 .4c1f-cc1d-07f8 //交换机的桥ID Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 CIST Root/ERPC :0 .4c1f-cc1d-07f8(根交换机) / 0 (根路径开销) [Huawei]int e0/0/1 //修改端口开销 [Huawei-Ethernet0/0/1]stp cost ? INTEGER<1-200000000> Port path cost [Huawei]dis stp int e0/0/1 //查看端口的STP消息 -------[CIST Global Info][Mode STP]------- CIST Bridge :32768.4c1f-cc14-53a8 Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 CIST Root/ERPC :0 .4c1f-cc1d-07f8 / 200000 [Huawei-Ethernet0/0/1]stp port priority ? //修改端口优先级 INTEGER<0-240> Port priority, in steps of 16