- 积分
- 35
- 鸿鹄币
- 个
- 好评度
- 点
- 精华
- 注册时间
- 2022-10-10
- 最后登录
- 1970-1-1
- 阅读权限
- 10
- 听众
- 收听
网络小学徒
|
STP:生成树协议 逻辑上阻塞备份链路(接口)
历史背景:二层使用链路冗余的方式提高网络可靠性的同时,易出现二层环路问题,导致广播风暴和MAC地址表震荡的现象出现
广播风暴:交换机在不同接口接收到重复的数据帧, 会大量消耗设备性能和链路带宽。
MAC地址表震荡(漂移):交换机在不同接口学习到到相同的MAC地址,造成MAC地址表不断更新,占用设备的处理性能
STP的作用:STP通过阻塞端口来消除环路,并能够实现链路备份的目的
既通过链路冗余的方式提高网络可靠性,又能防止二层环路问题的出现
STP的工作原理:
1、选举一个根桥(有且只有一个)
2、在非根交换机上选举一个根端口(有且只有一个RP)
3、在每一条链路上选举一个指定端口(DP,在一个交换机上可以有多个DP)
4、阻塞所有非根非指定端口(AP)
根桥选举的过程: (比较桥ID,比小)
交换机刚使能STP时都认为自己为根桥,根桥的所有接口都是DP,通过DP朝对端设备发送配置BPDU报文,
通过比较BID(桥ID),越小越优,最终选举出一个作为根桥
BID:由桥优先级(2B) + MAC地址(6B) 组成
桥优先级:16bit,只用前4bit,第一比特为默认为1,取值范围0--65535,默认32768,步长4096
先比优先级,越小越优
优先级一样,再比MAC地址,越小越优,
最优的成为根桥
根端口的选举过程:
在非根交换机上选举出一个根端口
选举规则: 先比RPC、对端BID、对端PID、本端PID
1、先比较根路径开销(RPC),越小越优
2、RPC一致,则比较对端的BID,越小越优
3、对端的BID一致,则比较对端的PID,越小越优
PID:2B,由端口优先级(1B)和端口号(1B)组成。
端口优先级:8bit,只使用前4bit,取值范围:0-240;默认:128,步长:16
先比优先级,再比端口号,越小越优
4、对端的PID一致,则比较本端的PID,越小越优,最终选举出RP,每个非根交换机上有且只有一个
指定端口的选举过程: 比较RPC、本端BID、本端PID
在每条链路上选举出一个指定端口
1、先比较RPC,越小越优
2、RPC一致,则比较本端BID,越小越优
· 3、本端BID一致,则比本端的PID,越小越优
端口角色:
RP:根端口,用于接收最优的配置BPDU的端口
DP:指定端口,发送最优配置BPDU的端口
AP:预备端口,被阻塞的端口
STP报文类型:配置BPDU和TCN BPDU
1、配置BPDU:用于计算生成树和维护生成树
BPDU的比较原则:
根桥ID、RPC、网桥ID、接口ID
报文参数:
1、protocol ID:协议ID,如STP
2、protocol version:协议版本号
STP:802.1D,取值为0
RSTP:802.1w,取值为2
MSTP:802.1s,取值为3
3、BPDU type:消息类型,配置BPDU和TCN BPDU
4、flags:8bit,只使用了高比特位和低比特位,使用于拓扑出现变更时
高比特位:TCA位,TCA置位配置BPDU是对TCN BPDU的响应,表示接收到了TCN BPDU
低比特位:TC位,TC置位配置BPDU是通知下游设备刷新MAC地址表,将MAC地址表的老化时间从原来的300S改成15S,华为设备为0S
TCA 000000 TC
5、Root ID:根桥ID,根桥的BID
6、RPC:根路径开销,去往根桥的路径开销总和
7、BID:桥ID,由桥优先级和MAC地址组成
8、PID:端口ID,由端口优先级和端口号组成
9、message age:消息生存时间,每经过一台STP交换机+1,最大20。
10、MAX age:消息最大生存时间,20S,存在本地的配置BPDU的老化时间,非根交换机上超时则认为根桥故障
11、hello time:2S,网络稳定后,根桥每隔2S发送配置BPDU用于维护生成树
12、forwarding delay:转发延迟,15S,用于防止临时环路的出现
注意:只有根桥会发送配置BPDU
根路径开销是交换机端口到达根桥的路径开销之和
路径开销是本地端口的开销,根据段口速率来计算
2、TCN BPDU:用于通知根桥拓扑出现变更
STP的端口状态:
1、disable:禁用状态,未使能STP或者端口down
2、blocking:阻塞状态,刚使能STP或者端口初始化/UP,可以接收并处理配置BPDU,但是不能转发配置BPDU,不能学习MAC地址和转发业务流量
3、listening:侦听状态,可以接收并处理配置BPDU,能转发配置BPDU,但不能学习MAC地址和转发业务流量
当端口角色确定为DP或者RP,后期有业务流量的转发需求时,向该状态迁移
4、learning:学习状态,可以接收处理配置BPDU,学习MAC地址,但是不能转发业务流量
5、forwarding:转发状态,可以转发业务流量
侦听-学习为什么需要15s?
stp在进行BPDU的发送选举时,防止选举过程中BPDU在拓扑全部选举完的等待时间,可以避免临时环路
学习-转发为什么需要15s
因为stp学要构建新的MAC地址表,防止未知单播帧进行全网泛洪或防止数据帧转发时产生错误路径
接收处理配置BPDU 转发配置BPDU 学习MAC地址 转发业务流量
disable × × × ×
blocking √ × × ×
listening √ √ × ×
learning √ √ √ ×
forwarding √ √ √ √
端口状态的迁移:
1、disable迁移至blocking:使能STP或者端口初始化后
2、blocking迁移至listening:端口被选举为根端口或者指定端口,有业务流量转发的需求
3、listening迁移至learning:转发业务流量需要先学习MAC地址,等待一个forwarding delay(15S)
4、learning迁移至forwarding:继续等待一个forwarding delay(15S)
注意:在listening、learning、forwarding状态下,端口丧失根端口或者指定端口角色,将回退到blocking状态;
在任意状态下,端口禁用或者链路失效,将回退到disable状态
STP故障恢复时间:
1、根桥故障恢复时间:从故障出现到恢复需要50S(20S老化时间+2个forwarding delay)
2、直连链路故障:直连链路出现故障,设备可以直接感应到,AP端口直接转换成新的RP口,等待两个forwarding delay后进入到转发状态,
所以从故障出现到恢复需要30S时间
3、非直连链路故障:从故障出现到恢复需要等待大约50S(20S老化时间+2个forwarding delay)的时间
注意:直连还是非直连链路基于拥有AP端口的交换机来讲
STP拓扑变更机制:
出现拓扑改变的交换机向上游设备发送TCN BPDU,上游交换机设备接收到TCN BPDU后,向下游设备恢复TCA置位的配置BPDU,告知下游设备已经接收TCN BPDU,可以停止发送了。
同时继续向上游设备转发TCN BPDU,直到根桥接收到TCN BPDU后,根桥向下游设备发送TC置位的配置BPDU(用于通知下游设备刷新MAC地址表),下游设备接收到TC置位的配置BPDU后,
将MAC地址表的老化时间从原来的300S改成15S(一个forwarding delay),并继续向下游设备转发,直到全网MAC地址表老化时间刷新完成
注意:TC置位和TCA置位的配置BPDU都属于配置BPDU ,与TCN BPDU属于两种不同类型报文
TC置位的BPDU只能根桥产生
STP模式:
STP:标准生成树协议,协议类型802.1D
RSTP:快速生成树协议,协议类型802.1w
MSTP:多实例生成树协议,协议类型802.1s(华为设备默认开启的)
STP 模式切换配置命令:
[Huawei]stp mode ?
mstp Multiple Spanning Tree Protocol (MSTP) mode
rstp Rapid Spanning Tree Protocol (RSTP) mode
stp Spanning Tree Protocol (STP) mode
STP配置命令:
修改交换机优先级:
[Huawei]stp priority ?
INTEGER<0-61440> Bridge priority, in steps of 4096
修改端口优先级:
[Huawei-GigabitEthernet0/0/1]stp port priority ?
INTEGER<0-240> Port priority, in steps of 16
修改路径开销:
1、修改开销计算标准:影响所有接口开销的计算
[sw3]stp pathcost-standard ?
dot1d-1998 IEEE 802.1D-1998
老版本:开销取值范围0-65535
dot1t IEEE 802.1T
华为默认开启的,开销取值范围0--20000000
legacy Legacy
华为私有,开销取值范围0--200000
2、修改接口开销:只影响被修改的接口开销
[sw3-GigabitEthernet0/0/2]stp cost ?
INTEGER<1-200000000> Port path cost
如果两者都配置了,第二种方式生效
根路径开销:去往根桥路径上的所有根端口的接口开销总和
指定根桥:
1、修改桥优先级:
[sw1]stp priority 0
2、通过命令指定:
[sw3]stp root primary
如果两种都配了,第二种生效
查询命令:
[sw3]display stp //查看STP详细信息
[sw3]display stp brief //查看STP简要信息
|
|