STP协议概述、STP工作原理、STP拓扑计算
摘要:本文详细分析了生成树协议(STP)的工作原理及其在网络中的关键作用。首先阐述了二层环路导致的广播风暴、MAC地址表震荡等危害,指出物理冗余链路与交换机泛洪机制的根本冲突。随后系统介绍了STP的核心功能:通过选举根桥、根端口和指定端口,逻辑上阻断冗余链路,构建无环拓扑结构。文章深入解析了BID、路径开销、端口ID等关键参数的计算规则,以及STP如何动态维护网络拓扑,在保障冗余性的同时避免环路。
文章目录
一、广播风暴的产生

广播风暴
广播帧在闭环路径中被交换机不断泛洪,形成无限循环是典型的网络二层环路导致的广播风暴。其核心原因在于交换机的工作原理与物理环路的拓扑结构之间产生了根本性冲突。
二、STP概述
生成树协议(STP) 之所以必不可少,核心原因在于它巧妙地解决了网络可靠性与环路隐患之间的矛盾。
2.1 环路的根源与危害
为了提升网络的可靠性,我们通常会在网络设备(如交换机)之间部署冗余链路。然而,这种物理上的环路会带来三个致命问题:
- 广播风暴:交换机有一个基本工作特性:当它收到一个广播帧或未知单播帧时,会从除接收端口以外的所有端口转发出去。在存在物理环路的网络中,这样的帧会在交换机之间循环传递,并且被不断复制,短时间内就会耗尽网络带宽和设备的CPU资源,导致网络瘫痪。
- MAC地址表震荡:由于同一个数据帧会通过不同的路径多次到达交换机,交换机会不断更新同一MAC地址所对应的端口信息。这使得MAC地址表项在多个端口间频繁跳动,变得极不稳定,严重影响了交换机正常的帧转发功能 。
- 数据帧重复:终端设备可能会多次收到同一个数据帧,这会导致上层协议处理混乱。
简单来说,STP就像一位聪明的交通指挥。它承认网络中存在多条道路(冗余链路)是好事,但为了避免车辆(数据帧)不停绕圈造成大堵车(广播风暴),它会智慧地设置一些临时的“禁行”标志(阻塞端口),只保留最佳路线。一旦主路发生事故(链路故障),它能立刻撤掉标志,启用备选道路,从而兼顾了无环路的通畅性和故障时的韧性。


如何预防单点故障和单链路故障

2.2 增加冗余/备份链路后,引发的新的问题

2.3 如何解决因二层环路所导致的广播风暴

三、STP协议
3.1 STP是什么
STP : Spanning Tree Protocol 生成树协议
STP(生成树协议)是一个用于在交换网络中防止环路的协议,同时它还能在链路故障时提供备份路径。
它的核心价值是:让你能够放心地搭建带有冗余链路的网络,而不用担心广播风暴等问题。
为什么叫 生成树
想象一下,你的交换网络有很多台交换机,它们之间通过多条链路连接,形成一个复杂的、网状的拓扑,就像一团交错的树枝。
STP协议运行后,它会做一件事:在这团“乱麻”中,通过逻辑上阻塞一些端口,“修剪”掉多余的链路,从而构建出一棵清晰的、从树根到树叶都只有唯一路径的“树”。
3.2 STP的作用(如何实现逻辑无环,如何防止广播风暴)

3.3 STP的工作原理
3.3.1 STP中的角色
STP的角色分为设备角色和端口角色两大类。
核心要点总结
3.3.2 STP工作的步骤


3.3.3 步骤1:选举根网桥
1、BID
比较网桥ID(BID),选择网桥ID值最小的交换机为根桥
BID:优先级+MAC(总长度8字节)





交换机上查看网桥ID(BID)
display STP

3.3.3 步骤2:选举根端口
1)每个非根交换机上选举1个根端口–(RP-根端口)
非根交换机到根交换机的根路径开销值最小的端口(根路径成本最小)
- 开销cost (到达根交换机的路径成本)
默认值
100Mbit 端口 【200000】
1000Mbit (1G)端口 【20000】
10000Mbit(10G)端口 【2000】

2)BID:优先级+MAC(对端设备)
3)PID(端口ID):优先级+端口号(对端设备的)
端口优先级:默认值128 范围:0-240 步长值:16


SW2上A、B两个口都是千兆带宽,所以到根桥的开销都是20000(一样的)
A与根桥是直接相连的
“两个口的开销都是 20000” 指的是 每个端口的 Port Cost(因为都是千兆)。
根端口(Root Port)选举使用的是真正的 累计根路径成本(Root Path Cost)
计算公式
累计根路径成本 = 本端口的 Port Cost + 从对端收到的根路径成本(Root Path Cost)

具体到本拓扑的累计成本计算
为什么 SW2 不能把自己 1 口的 BPDU 当作根端口的来源?
为什么 SW2‑1(根端口)收到的 BPDU 不会直接转发到 SW2‑2?
3.3.3 步骤3:选举指定端口
关键点:一个网段上必须有且只有一个指定端口,其余端口(如果不是根端口)则被阻塞。
规律:根桥的接口都是指定口

- 指定端口:在同一段链路(segment)上唯一负责把根桥信息(BPDU)向该段的其它交换机传播的端口。
- 根端口:每台非根桥上唯一一条通向根桥的最优路径端口。根端口只接收 BPDU,不转发(除 TCN),而指定端口负责转发。

详细步骤分解:




===================================================================================
3.4 STP选举步骤总览
核心目标:打破循环
STP的唯一目的就是防止网络形成环路。它通过阻塞一些端口来实现。根端口和指定端口就是那些不被阻塞的“好端口”,选举就是为了决定谁好谁坏。
第一步:必须先确定的“老大”——根桥
- 是什么:整个网络里桥ID最小的交换机就是根桥。
- 桥ID = 桥优先级 + MAC地址。先比优先级,数字小赢;优先级一样,比MAC地址,小赢。
- 记住:根桥上的所有端口,都是指定端口,永远不会被阻塞。 这是最重要的特性。
逻辑:先把“老大”定下来,所有决策都以它为中心。
第二步:选举根端口 —— “每个小弟找一条回家的最佳路径”
1. 选举范围是谁?
- 除了根桥(老大)以外,其他每一台交换机(小弟),都必须选出一个,且只能选出一个根端口。
- 根端口的方向是指向根桥的。
2. 选举规则(三步走,必须按顺序)
规则一:比“距离”
- 看哪个端口收到的BPDU里,到根桥的路径开销值最小。
- 逻辑:你家有前门和后门,从前门到公司距离100米,从后门到公司距离200米,你每天上班肯定走前门。这个“前门”就是根端口。
- 关键:比的是从端口收到的那个开销值。
规则二:如果距离一样,比“谁告诉你的”
- 如果两个端口到根桥的距离一样,比如前门和后门都离公司100米。这时就看哪条路是“更牛的人”告诉你的。
- 比较发送BPDU过来的那台交换机的桥ID,桥ID小的更“牛”。
- 逻辑:一条路是部门经理告诉你的,另一条路是CEO告诉你的,你肯定信CEO指的这条路。
规则三:如果告诉你的也是同一个人,比“他用的哪个门”
- 这种情况很少见,比如你两个门都连着CEO家。这时,CEO从他家的A门(端口)和你说话,从他家的B门(端口)和你说话。
- 比较对方(发送BPDU)的那个端口的端口ID,端口ID小的获胜。
- 逻辑:CEO从他的“办公室正门”和你联系,比从他的“厨房后窗”和你联系更正式,你肯定以正门为准。
根端口选举一句话总结:在每个小弟身上,选一个离家(根桥)最近的门。如果一样近,选一个最牛的人指的门。如果指路的是同一个人,选他那个最正经的门。
第三步:选举指定端口 —— “每条街上选一个管事的人”
1. 选举范围是谁?
- 网络中的每一个物理网段(每条“街”)。比如,一条网线连着两台交换机,这就是一个网段。
- 每个网段必须选出一个,且只能选出一个指定端口。
2. 选举规则(同样是三步走,顺序不变)
为什么根端口跟指定端口的选举规则不一样呢



总结与对比:为什么规则不一样?
到根桥的路径开销 (收到的) 跟 本机的根路径开销 (自身的) 区别
我的本机根路径开销 = 我收到的根路径开销 + 我到发送者(上游交换机)的端口成本



STP配置
修改默认优先级,可以调整根桥
练习题




BPDU报文

BPDU是什么?

BPDU的两种主要类型

配置BPDU的核心字段(“公文内容”)

BPDU的工作过程与逻辑(“公文如何流转”)

STP五种端口状态
五种状态详解

为什么需要这么复杂的状态机?—— 逻辑总结

STP三种计时器
核心思想:稳定压倒一切
STP的设计哲学是:宁可慢,不可乱;宁可等待,绝不能产生环路。
这三种计时器就是为了实现这个哲学,它们共同创造了一个“等待与确认”的机制,确保网络中的所有交换机有足够的时间来同步信息,并对任何变化达成共识。

STP端口从启动到转发的完整、正确的状态转换流程,及其与计时器的关系如下:
核心流程:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)