text: 快速理解网络协议（五）STP 协议
  为了更好地理解物理链路环路对网络的影响，需要大致了解以太网交换机自学习和转发帧的过程。后文中的 “交换机” 均表示以太网二层交换机。交换机 Switch 是一种网络设备，用于在局域网内连接多个网络设备，接收其发送的数据帧。基于目标 MAC 地址决定转发或丢弃数据帧，以及数据帧从哪个端口转发出去。交换机有多个端口，每个端口都被隔离成自己的碰撞域，即连接某个端口的网络设备独占整个带宽。交换机在网络中肩负着至关重要的角色，它以一种即插即用的方式，实现了网络设备之间的高效数据传输。在交换机刚启动时，其内部的帧交换表是空的。随着网络中各设备之间的通信，交换机通过自学习算法逐渐建立起帧交换表。  下面我们来举例说明交换机的自学习和帧转发过程，网络拓扑如下图所示。假设各设备知道网络中其它设备的 MAC 地址（无需进行 ARP）。  交换机 1 自学习之后，根据目标 MAC 地址和交换机的帧交换表，决定转发或丢弃数据帧。其中包括三种情况，泛洪、明确转发和丢弃。Spanning Tree Protocol，即 STP 协议，用于为以太网构建无环路的逻辑拓扑。   如图所示，设备 A、B、C 互相通信需要通过交换机 1、2、3。当交换机 1 出现故障时，设备 A 无法与 B、C 通信，此种现象称之为单点故障。为了解决单点故障的问题，提高网络的可靠性，需要在物理上冗余备份链路，如下图所示。交换机 1 和交换机 3 之间添加了一条冗余链路，当交换机 1 与交换机 2 间的链路出现故障时，设备 A 仍旧可以通过交换机 3 与 B、C 通信。u2002根据交换机自学习和转发帧的过程的解析，当网络物理拓扑中存在环路时，会带来以下问题：u2002STP 协议通过阻塞交换机端口，令其不再转发数据帧，使得环路被裁剪成一棵树，达到 在逻辑上消除环路的目的 在链路发生故障后，激活备份链路，及时恢复网络连通性。在解析 STP 协议的具体过程前，先来了解一下 STP 协议中的重要组成部分。2. 非根桥交换机选举根端口（RP），按照以下顺序选举3. 每个网段选举指定端口（DP），根桥的所有端口都是指定端口，非根桥按照以下顺序选举4. 阻塞既不是根端口也不是指定端口的端口2. 按照此拓扑推理并验证Switch A 在整个网络中优先级最高，为根桥，所有端口都为指定端口验证Switch ASwitch B，优先级 20480推理e0/0 与根桥的根路径成本最低，e0/0 为 RP e1/0 与 Switch E 相连比较，e1/0 为 DP 验证Switch BSwitch C，优先级 81923. 关闭 Switch B，查看 Switch F 的变化u2002u2002由上可知，当网络中的某个设备发生故障不可用时，需要等待所有的网络设备接收和传播 BPDU，重新选举根桥、根端口、指定端口和阻塞端口，收敛速度慢。而且在网络设备端口状态的转换过程中，数据流量会被阻塞，可能会加剧延时。除此之外，STP 协议对局域网仅生成一棵树，对于所有 VLAN 都使用相同的拓扑。这意味着在多个 VLAN 环境中，可能存在不必要的阻塞端口。如果需要不同的拓扑或特定的 VLAN 配置，可能需要手动配置。总结一下，STP 协议的缺点有以下两条:针对 STP 协议缺点的改进，出现了 RSTP 和 MSTP 协议RSTP 是 STP 的改进版本，它的主要目标是加速 STP 的收敛速度。MSTP 是 STP 的另一种改进版本，旨在提供更大的灵活性，特别是在多 VLAN 环境下。原创不易，期待点赞收藏，任何建议欢迎评论区交流~more about me