全网对 STP 生成树协议最全面最优质的总结,网络工程师收藏!
你好,这里是网络技术联盟站,我是瑞哥。
今天给大家带来STP协议归纳总结,如果大家觉得不错的话,可以收藏哦。
让我们直接开始!
STP关键属性
- 英文全称:
Spanning Tree Protocol
- 中文意思:生成树协议
- 协议类型:二层协议
- 作用:二层防环,自适应网络变化和故障
- 组播地址:
01:80:C2:00:00:00
STP关键名词解释
- 网桥 ID :网桥优先级 + MAC 地址
- 网桥优先级:0-65535
- 默认优先级:32768
- 端口 ID:端口优先级 + 端口号
- 端口优先级:0-240,默认为 128,增量为 16
- 路径成本:所有链路的累积成本,针对的交换机和根桥之间
STP 操作
- 选择根桥(RB)
- 选择根端口(RP)
- 选择指定端口(DP)
- 阻塞所有剩余端口
选择根桥
- 为了防止循环STP将接口置于转发或阻塞模式,为此,它首先选择一个RB。
- 起初,当所有交换机启动时,它们开始交换BPDU(网桥优先级+MAC地址),所有交换机都将自己的BID作为根网桥ID。
- 如果交换机听到比自己小BID的Hello,则该交换机停止将其自己的BID作为RB ID广播,并开始转发自己的BID以及高级网桥的Hello 作为根网桥ID。
- 最终通过交换Hello,具有最低优先级(默认优先级32768)的Switch成为RB,如果优先级相同,则继续选举直到选出胜出的MAC地址。
- 默认情况下,根桥的所有端口都将被标记为指定端口,因此将始终处于转发状态
选择根端口
在非根网桥上接收最佳 BPDU 的端口。
选择根端口的标准:
- 到达根桥的最低路径cost
- 最低发送者网桥 ID
- 最低发送者端口 ID
(端口优先级 + 端口号):端口优先级默认为 128,端口号为交换机接口号。
选择指定端口
指定端口在特定局域网 (LAN) 上具有最低的生成树路径cost,路径开销取决于桥接端口接口的速度,网段任一侧的每个端口的成本和 STP 计算的该端口返回根桥的总成本用于在每个网段的基础上选择指定端口。
- 一个网桥可能有许多指定端口(交换机)。
- 一个根桥的端口都是指定端口,根桥(Root Switch)上没有根端口。
根端口和指定端口快速对比记忆:根端口永远不能是指定端口,根端口是交换机上从“交换机”到根桥的成本最低的端口。指定端口是“局域网 (LAN) 网段”上对根网桥成本最低的端口。
阻塞所有剩余端口
阻塞所有剩余的非根和非指定端口.
STP 路径选择规则
- root id 最小的桥成为根
- 优先选择cost最小的邻居
- 优先选择桥ID最小的邻居
- 优先选择发送者端口ID最小的,例如 F0/1 与 F0/2,会选择F0/1
STP BPDU 类型
- 配置BPDU
- 拓扑变化通知BPDU
配置BPDU
- 英文缩写:CBPDU
- 英文全称:Configuration BPDU
用于生成树计算,来选举根桥并确定端口角色。
拓扑变化通知BPDU
- 英文缩写:TCN BPDU
- 英文全称:Topology Change Notification BPDU
用于通告网络拓扑的变化,当网络拓扑发生变化时,拓扑变化通知BPDU 会被发送到上游设备,直到到达根桥。
STP 拓扑说明
如上图:
- 设备A优先级为0,设备B优先级为1,设备C优先级为2
- 设备A和设备B之间的路径cost为5,设备A和设备C之间的路径cost为10,设备B和设备C之间的路径cost为4
经过STP计算后:
- 设备A成为根桥;
- 设备A上的所有端口为指定端口,全部处于转发状态;
- 设备B与设备A相连的端口为根端口,设备B与设备C相连的端口为指定端口;
- 设备C与设备A相连的端口为阻塞端口,设备C与设备B相连的端口为根端口。
STP桥ID
STP网球ID是一个8 字节的字段,分为两部分:
- 第一部分是2 字节的网桥优先级字段(可以配置)
- 第二部分是交换机的6 字节 MAC 地址。
虽然网桥优先级是可配置的,但MAC 地址在所有交换机中是唯一的,并且这两者的总和确保了唯一的网桥 ID。
生成树通过桥 ID 中的信息来识别交换机,桥 ID 最低的交换机称为根桥,是树的中心。
STP端口状态
STP有五大状态:
- Blocking
- Listening
- Learning
- Forwarding
- Disabled
Blocking
- 监听 BPDU
- 不发送或接收数据包
- 端口不会学习 MAC 地址
最大年龄:20 秒
Listening
- 监听 BPDU
- 不发送或接收数据包
- 端口不会学习 MAC 地址
- 所有端口都保持这种状态,直到根交换机被选举
- 非指定端口被阻塞
转发延迟:15 秒
Learning
- 监听 BPDU
- 接收数据包用来学习 MAC 地址
- 不传输数据包
转发延迟:15 秒
Forwarding
- 监听 BPDU
- 接收和发送数据包
- 学习 MAC 地址
Disabled
- 端口管理关闭
一张图总结记忆一下:
从Blocking到Listening状态,经过一个转发延迟(15s)到Learning,再经历一个转发延迟(15s)到Forwarding状态。
STP 链路开销
- 链路带宽:4 Mbps,STP链路开销:250
- 链路带宽:10 Mbps,STP链路开销:100
- 链路带宽:16 Mbps,STP链路开销:63
- 链路带宽:45 Mbps,STP链路开销:22
- 链路带宽:100 Mbps,STP链路开销:10
- 链路带宽:622 Mbps,STP链路开销:2
- 链路带宽:1 Gbps,STP链路开销:1
- 链路带宽:10 Gbpss,STP链路开销:0
STP 定时器
Hello
- BPDU内部发送
- 范围:1-10s,默认2s
转发延迟
- Listening状态 + Learning状态延迟
- 范围:4-30s,默认15s
最大年龄
- 交换机端口保存其配置网桥协议数据单元 (BPDU)信息的最大时间间隔长度
- 范围:4-60s,默认是20s
- 点赞
- 收藏
- 关注作者
评论(0)