boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

5.1STP基础


avatar
yuhui 2025年10月22日 19

5.1 STP基础

生成树协议(STP):

STP是防止环路的网络协议,它可以允许网络中存在冗余,同时创建出无环的第二次拓扑。IEEE 802.1D是STP的原始IEEE MAC桥接标准。

路径冗余通过消除单点故障提供了多种网络服务,当两台交换机存在多条路径就会出现二层环路,二层环路可能导致MAC表不稳定、链路饱和以及交换机和终端上CPU利用率过高。

第2层以太网协议不包含识别和消除帧无限循环的机制,这一点和第3层协议(如IPv4和IPv6协议)不同。IPv4和IPv6都提供了一种机制,来限制第 3 层网络设备重新传输数据包的次数。路由器会减少每个 IPv4 数据包中的 TTL(生存时间)值,也会减小每个 IPv6 数据包中的跳数限制(Hop Limit)字段值。当这些字段值递减到 0 时,路由器就会删除这个数据包。以太网和以太网交换机则没有类似的机制来限制交换机重新传输第 2 层帧的次数。STP 是专门为第 2 层以太网开发的环路预防机制。

如果没有启用 STP,就有可能形成第 2 层环路,导致广播、组播和未知单播帧在网络中无限地循环。这可以在转瞬之间让网络陷入瘫痪,有时只需要几秒钟的时间。比如,广播帧(如ARP请求)会通过所有交换机端口转发出去,除了最初的入站端口之外。这就确保了广播域中的所有设备都能收到该帧。如果可转发该帧的路径不止一条,就可能会导致无限循环。在出现环路时,交换机的 MAC 地址表可能会根据广播帧中的信息不断更新,从而导致 MAC 数据库不稳定。这有可能会导致(交换机的)CPU利用率过高,让交换机无法转发帧。

广播风暴:

短时间内出现海量广播引起网络失能、瘫痪、载量过高。

第 2 层广播(如 ARP 请求)在网络中是非常常见的。第 2 层环路有可能会让网络迅速失能。第 2 层组播的转发方式通常与交换机处理广播的方式相同。因此,尽管 IPv6 数据包永远不会作为第 2 层广播进行转发,但 ICMPv6 邻居发现(ICMPv6 Neighour Discovery)会使用第 2 层组播。

生成树算法:

  1. 选举根桥。

BID+MAC BID值优先于MAC BID最低者为根桥

根路径开销:开销越小优先级越高。

1741671222099-f0cd379d-b6ce-4ba0-9846-86460cb89d5b.png

  1. 选举根端口。

根端口是指,从总开销的方面来看,最接近根网桥的交换机端口。这个总开销称为内部根路径开销。

内部根路径开销是到根网桥的路径上所有端口开销的总和。

开销最低的路径会成为首选路径,所有其他冗余路径都会被阻塞。

  1. 选举指定端口。

根桥:全部都是指定端口

非根桥:根端口的另一端是指定端口。(没有根端口时去往根桥开销路径最低的交换机上的端口,就是这个网段的指定端口。)

  1. 选举替代(阻塞)端口。

如果端口不是根端口或指定端口,那么它就会成为替代端口(或备份)端口。替代端口和备份端口处于丢弃或阻塞模式,以防形成环路。

STP计时器和端口状态:

STP 的收敛需要三个计时器,包括:

  • Hello 计时器 – hello 时间是 BPDU 之间时间的间隔。这个值默认为2秒,不过可以修改为 1 到 10 秒之间的值。
  • 转发延迟计时器 -转发延迟是在侦听和学习状态中消耗的时间。这个值默认为 15 秒,不过可以修改为4到 30 秒之间的值。
  • 最大老化时间计时器 -最大老化时间是交换机在尝试修改 STP 拓扑之前,等待的最大时间长度。这个值默认为 20 秒,不过可以修改为 6 到 40 秒之间的值。

注意: 默认时间可以在根桥上更改,用来表示这个 STP 域的计时器值。

1741671222121-aefa9d7b-97c6-45ad-9f25-c8e49da40314.png

端口状态 描述
阻塞 这种端口是替代端口,不参与帧 转发。端口接收 BPDU 帧以确定根桥的位置和 根 ID。BPDU 帧还会用于判断每个交换机端口 应该在最终的活动 STP 拓扑中承担什么端口角色。由于 最大老化时间计时器为 20 秒,没有从邻居交换机那里 如期接收到 BPDU 的交换机端口就会进入阻塞状态。
侦听 在阻塞状态之后,端口就会进入侦听状态。其中 端口接收 BPDU 以确定到根的路径。交换机端口 也会发送自己的 BPDU 帧,并通知相邻的交换机 这个交换机端口准备参与到活动拓扑当中。
学习 在侦听状态后,交换机端口会过渡到 学习状态。在学习状态中,交换机端口会接收并处理 BPDU ,同时准备参与帧的转发。端口也会开始 填充 MAC 地址表。但是,在学习状态下,用户 帧不会被转发给目的地。
转发 在转发状态下,交换机端口可以视为参与了活动 拓扑。交换机端口会转发用户流量,同时发送和接收 BPDU 帧。
已禁用 处于禁用状态的交换机端口不会参与生成 树,并且也不会转发帧。当交换机端口被管理禁用时, 这个端口就会设置为禁用状态。

端口状态细节:

端口状态 BPDU MAC 地址表 转发数据帧
阻塞 仅接收 无更新
监听 接收并发送 无更新
学习 接收并发送 更新表
转发 接收并发送 更新表
禁用 不发送且不接收 无更新

更新: 2025-03-11 13:34:10
原文: https://www.yuque.com/yuhui.net/network/mq6mee60ms762fes



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码