STP
STP
一、 STP的诞生背景,解决的问题
物理上线路的冗余(重复),产生了环路,而环路会带来很大的副作用
环路:是指为了解决交换机的单点故障,提升冗余性产生的
- 广播风暴:广播帧被环路中的交换机不停的被转发,耗尽交换机的带宽,CPU资源,导致数据无法正常转发
- CAM表的不稳定:广播帧被环路中的交换机转发导致,端口都要学习了同一个源mac地址,导致数据无法正常的转发出去
- 重复的单播帧:单播帧在环路中走了不同的路线到达同一台主机。导致重复接受
解决问题:破除逻辑上的二层环路
二、 STP是怎么实现
- 通过协议,阻塞网络中某一个接口(逻辑上),实现物理线路正常连接,逻辑上接口DOWN,避免环路危害
- 具体的阻塞接口,是交换机之间,协商出来的,协商的语言就是所谓的BPDU,交换机之间通过BPDU中携带的关键参数,来选举,选举得出结果,判定阻塞接口
三、 STP的选举(小为好)
1. 根桥选举:关键参数(BPDU) BID=bridge id 网桥(交换机)优先级+MAC地址 优先级范围0-65535 默认32768 BID越小越优先
2. 非根桥上选举根端口(所有接口都参加选举)有且仅有一个
cost of path:端口到达根桥的开销值,依据带宽来计算
10M |
100M |
1000M |
10G |
100 |
19 |
4 |
2 |
Sender BID:发送者的BID,端口对端交换机的BID。现实中BID越小越靠近核心层
Sender PID: 发送者的PID PID=优先级+端口的编号 优先级0-255 默认是128 越小越优先
Local PID:端口的PID
3. 指定端口:非根桥交换机空余链路中选择出来(是在两台交换机之间选择出来的)
根桥上所有接口都是指定接口
cost of path:指的不是接口到达根桥的开销,而是当前接口所在交换机,它的根端口到达根桥的开销值
local BID 越小越优先
local PID 越小越优先
4. 剩下的就是阻塞
四、 STP的状态机制
1.一个接口从down,进入激活状态,要经历的转发变化,时间,转发延时
2.所有的接口,启动以后,都是阻塞状态BLK,持续20s左右,不是固定,最大20S不能收发数据,不能学习MAC地址,只能接受BPDU
3.侦听状态LIS,持续15s,叫做转发延时不能收发数据,不能学习MAC地址,可以收发BPDU,选举就是发生这个阶段的
4.学习状态LERN,持续15S不能收发数据,学习MAC地址,可以收发BPDU
5.转发状态FWD能够发送和接收数据、学习MAC地址、发送和接收BPDU
6.交换机的灯,会从琥珀色,变成绿色
五、 STP拓扑变更机制
- STP的破环是站在全网的角度去调度的,所以任何一处拓扑的变更,STP都必须及时的知晓,并且做出反应
- TCN BPDU 拓扑变更通知
- TCA BPDU 拓扑变更应答
- TC BPDU 配置,改变消息,由根桥发送的,下游所有的交换机收到该BPDU后,将自己的CAM表老化时间,置为15S
六、 STP协议的特点
- Portfast:接口的配置,用来让一个接口快速的进入转发状态,不用参加选举。这个接口,只能面对用户和PC的接口去配置
- Bpduguard:BPDU防护,当一个接口接收到BPDU的时候,会强制性的把这个接口down掉,BPDUguard和portfast相生相伴
- Uplinkfast:提前选定根端口的备份接口,当根端口down掉后,uplinkfast接口激活,直接跳过选举,直接进入根端口状态,并且转发数据
portfast:不适合交换机 容易造成环路
BBPDUguard:防止下连交换机造成环路
BPDUguard和portfast相生相伴
七、 STP的参数更改
- 目的是通过修改STP的相关的选举参数,达到控制STP拓扑的目的
- 控制根桥的选举 修改BID 优先级改 0-65535 32768
核心交换及的BID一般来讲是最小的,并且不能被撼动 0
次核心交换机的BID,一般是第二小,并且不能被撼动 4096 8192
3. 控制根端口的选举
开销值:通过修改接口的开销值,增大或者减小开销值,来控制根端口选举
sender BID
sender PID
local PID
4. 控制制定端口的选举
开销值:不要随便改,有可能会导致根端口的变更
local BID
local PID