文章目录
- STP
STP
🏡作者主页:点击!
🤖Datacom专栏:点击!
⏰️创作时间:2025年05月31日13点17STP通过三要素选举消除环路:
- 根桥(BID最小,建议设优先级为0)
- 根端口(最优BPDU接收路径)
- 指定端口(BPDU转发接口)
非选举端口进入阻塞状态。端口需经历
阻塞 → 侦听 → 学习 → 转发 阻塞 \rightarrow 侦听 \rightarrow 学习 \rightarrow 转发 阻塞→侦听→学习→转发五阶段状态迁移(30秒延迟防临时环路)。选举优先级:路径开销 < 发送方BID < 端口ID。仅根桥主动发送BPDU,新优根桥可触发抢占。
STP的根桥是可以抢占的,为了确保交换网络的稳定性,提前规划STP组网,并将规划为根桥的交换机优先级设置为0
STP选举完成之后,只有根桥会产生并发送BPDU报文
在生成树中一个端口要想转发数据至少要30s,为了防止临时环路的问题
- 选举根桥(根交换机)
- 基于桥ID(16bit的优先级和48bit的桥MAC地址构成)
- STP网络中,BID最小的设备会被选举为根桥,越小越优
- 优先级范围:0-61440----4096 的倍数,默认32768
- 选举根端口(基于根路径开销、对端BID、对端PID、本端PID)—非根交换机用来接收根桥发过来的BPDU最近的接口
- 路径开销:没条路径的开销值
- 根路径开销:到达根桥的所有路径开销之和
- 当根路径开销一样的时候,比较对端BID(越小越优先)
- 如果还没比较出来则比较对端PID(越小越优)PID=端口优先级+端口号,端口优先级范围:0-240 16的倍数 默认128
- 最后比较本段PID(越小越优)和比较对端PID是一样的规则,只不过这次是本段接口
- 选举指定端口(基于根路径开销、本段BID、本段PID)—根交换机发出BPDU的接口(每一条链路上进行选举的)
- 首先根桥的接口大概率是指定端口(一条线的两个接口插到了同一台设备上这种情况就是一个指定一个阻塞端口)
- 其次比较根路径开销值,小的是指定端口
- 如果指定端口通过路由开销比较不出来,则比较BID 小的优先,最后是比较PID,小的优先
- 非根非指定端口阻塞掉——A口
- 既不是根端口也不是指定端口的接口就会被当成阻塞端口
- 最后剩下的一个端口就是阻塞端口
STP接口状态
- 禁用:不收发BPDU,也不收发数据帧
- 阻塞:不发BPDU,但是持续监听BPDU,不转发业务数据帧,不进行MAC地址学习
- 侦听:该端口为指定端口或者是根端口,接口依然处于STP计算过程中,可收发BPDU,不收发业务数据帧,不进行MAC地址学习
- 学习:侦听业务数据帧,但不转发,且收到业务数据帧后进行MAC地址学习
- 转发:处理并正常转发业务数据帧,进行BPDU处理,接口角色是根接口或指定端口才会进入转发状态
个人总结:一开始啥都不弄,阻塞开始侦听BPDU,侦听开始学习并收发BPDU,学习开始侦听业务数据帧且学习MAC地址,转发就全部收发
接口状态迁移
- 接口初始化或激活,自动进入阻塞状态
- 接口被选举为根端口或是指定端口,自动进入侦听状态
- 转发延迟计时器超时且接口依然为根接口或指定接口,进入学习状态,之后进入转发状态
- 当接口不再是根接口或指定接口或指定状态,会直接进入阻塞状态
- 接口被禁用或者链路失效会直接进入禁用或者Down状态