首页 > 其他分享 >【STP 生成树】

【STP 生成树】

时间:2025-01-09 18:00:27浏览次数:7  
标签:BPDU 根桥 端口 生成 交换机 STP 转发 ID

STP 生成树

一、STP概述

STP用于防止网络中因存在冗余路径导致的环路问题,STP会选举出一个根桥,并在网络中选择最佳路径,将多余的链路阻塞,形成一个无环的树形结构,通过定期发送BPDU报文,确保网络的稳定性和安全性。

二、BPDU 桥协议数据单元

1、BPDU概述

1.BPDU桥协议数据单元是STP协议中用于交换信息的协议报文,交换机之间通过BPDU报文交换信息,以确定网络拓扑结构根桥的位置,BPDU主要有两种类型:配置BPDU拓扑变更通知BPDU
2.每个交换机端口根据接收到的BPDU信息决定自身的角色,包括根端口指定端口等。
3.拓扑变更处理:当网络拓扑发生变化时,非根交换机会通过根端口发送TCN BPDU通知根桥,根桥会发送带有TC标志的BPDU,以通知整个网络拓扑结构发生变化。

2、BPDU中各字段

BPDU报文中包含了一系列字段,用以承载生成树协议所需的信息。
1.根ID Root ID:由优先级和MAC地址组成,优先级越小,该桥成为根桥的概率越大,通过比较BPDU中的根ID,STP协议选出网络中桥ID最小的交换机作为根桥
2…路径开销 Cost of Path:路径开销反映了从一个端口到根桥的总开销,通常与链路的带宽成反比,Cost与端口的带宽有关。带宽越大,Cost越小
3…Bridge ID 桥ID:桥ID由桥优先级和MAC地址组成的,用于标识发送BPDU的交换机。
4…Port ID 端口ID:端口ID表示发出BPDU的端口,有助于识别网络中特定的端口,Port ID总共16bit
5.Message Age:Message Age记录了BPDU自发送以来的时间,用于计算BPDU的新鲜度
6.Max Age:Max Age指定了BPDU在网络中被认为是有效的最长时间老化时间,默认值通常是20秒,当一个端口在Max Age时间内没有收到任何BPDU报文时,该端口会认为与其相连的网络出现了故障,进而触发生成树的重计算,开始进入侦听和学习状态。
7.Hello Time:Hello Time指定了根桥发送BPDU的时间间隔,用于保持网络拓扑的稳定性,默认值通常是2秒,即在运行STP的网络中,交换机会每隔2秒钟发送一次BPDU。

三、根端口、指定端口、阻塞端口

1、根端口

1.每个非根交换机上通往根桥路径代价最小的端口,这是该交换机通往根桥的最佳路径,
2.选举过程基于到达根桥的总成本Cost,成本最小的端口被选为根端口,如果成本相同,则比较发送方的桥ID和端口ID,选择最小的作为根端口(比较顺序Cost、桥ID、端口ID)。

2、指定端口

1.DP指定端口是STP算法选定的端口,用于在不与根桥直接连接的网段上转发配置消息BPDU,同一网段中只有一个端口会成为指定端口,而其他的端口则会被阻塞,以防止环路的形成。
2.指定端口负责向本地网段上的其他交换机端口传播BPDU,确保整个网段上的交换机都能接收到来自根桥的BPDU。
3.每条链路都会有一个指定端口,根交换机上的端口不一定是指定端口。
4.通过调整端口优先级桥ID来影响指定端口的选举过程,可以通过降低端口的路径成本或桥ID来增加其成为指定端口的概率。
5.根路径成本(Root Path Cost):指端口到根桥的距离,即路径成本越低的端口越有可能成为指定端口。
6.发送者的桥ID(Sending Bridge ID):比较端口所连接的交换机的桥ID,桥ID越小的交换机更有可能成为指定端口。
7.发送端口的端口ID(Sending Port ID):比较端口所连接的交换机的端口ID,端口ID越小的端口更有可能成为指定端口。

3、阻塞端口

1.不被选为根端口或指定端口的其他端口将被阻塞,阻塞端口不参与数据传输。
2.阻塞端口是为了防止环路的形成,一旦网络拓扑发生变化,STP会重新计算生成树,可能会解除某些阻塞端口的状态,使其能够转发数据。

禁用状态(Disabled)、阻塞状态(Blocking)、侦听状态(Listening)、学习状态(Learning)、转发状态(Forwarding)。

四、根桥选举、备份根桥选举

1、根桥选举

1.交换机通过比较桥ID选举根桥以及其他端口角色,根桥是STP网络的中心,所有的交换机通过BPDU报文进行通信,并最终选举出一个具有最低桥ID的交换机作为根桥,所有交换机初始时都认为自己是根桥,并通过BPDU报文交换信息最终选出根桥。
2.桥ID由优先级和MAC地址组成,桥ID=桥优先级+MAC,且根桥的选举,只和桥优先级+MAC这两个因素有关,桥优先级的默认值取值是32768,且必须是4096的倍数,取值范围是0-65535。如果优先级相同,则会比较MAC地址,最小的MAC地址将被选为根桥。根桥的优先级越小越优先,不一定为 0,只需要比其他交换设备小即可。若运行STP的交换机上所显示的所有端口均处于转发状态,则该交换机为根桥交换机。

2、备份根桥选举

1.通过配置stp root secondary命令来指定一个交换机作为备份根桥,如果根桥发生故障,备份根桥将会接替根桥角色,继续维持网络的稳定运行。
2.stp root secondary命令会将设备的优先级自动设置为4096,这个值是一个相对较高的优先级,因此备份根桥不会成为普通的STP环境中的根桥,只有在原根桥失效的情况下才会提升为根桥。

五、禁用/阻塞/侦听/学习/转发五种端口状态

1.禁用状态(Disabled):端口不处理、不转发BPDU报文,也不转发用户流量。
2.阻塞状态(Blocking):端口仅能接收并处理BPDU,不能转发BPDU或用户流量。
3.侦听状态(Listening):端口可以接收和发送BPDU,但不转发用户流量。
4.学习状态(Learning):端口可以接收和发送BPDU,开始构建MAC地址表,但不转发用户流量,Learning状态下,端口接收数据帧并构建 MAC 地址表,然后进入转发状态Forwarding,Learning状态转变为Forwarding状态时,不经过Forward Delay转发延迟时间,只有替代端口变为根端口才有转发延迟。
5.转发状态(Forwarding):端口可以接收、处理和发送BPDU,并转发用户流量。

六、Forward Delay 转发延迟时间

1.Forward Delay的存在是为了确保网络在拓扑发生变化时能够稳定,避免过快的端口状态转变导致的临时环路问题。
2.Forward Delay转发延迟时间决定了端口从Blocking阻塞状态转移到Forwarding转发状态所需的时间,只有从替代端口变为根端口才有转发延迟。
3.当端口从Blocking阻塞状态转变为Forwarding转发状态时,总共经历30秒,首先是进入监听Listening状态,这是端口开始接收并发送BPDU报文,但不转发用户流量的阶段,这个过程持续15秒;随后是学习Learning状态,端口在这一状态下学习MAC地址,但仍然不转发用户流量,这个过程持续15秒;最后是转发Forwarding状态,端口开始转发用户流量并继续学习MAC地址。

标签:BPDU,根桥,端口,生成,交换机,STP,转发,ID
From: https://blog.csdn.net/weixin_46398572/article/details/145030080

相关文章