连接多台交换机
STP 怎样剪断环路:根桥和最小路径直觉
本课问题:生成树怎样从冗余拓扑中选出一棵无环树? 学完你能:识别根桥并根据路径开销预测根端口。
前置知识
- 二层环路为什么会引发广播风暴和 MAC 漂移
课堂开场
本课问题:生成树怎样从冗余拓扑中选出一棵无环树?
学完结果:识别根桥并根据路径开销预测根端口。
预计时间:20 分钟。前置课:二层环路为什么会引发广播风暴和 MAC 漂移。
范围控制:本课只判断角色,不调整优先级。
02基础知识讲解
三台交换机组成三角形以提供冗余。如果所有链路都转发会形成环路,STP 必须选一个共同参考点并保留到它的最小代价路径。
本课最小拓扑或状态图:Core-SW1(根桥) ─ Access-SW1;Core-SW1 ─ Access-SW2;Access-SW1 ─ Access-SW2(一端阻塞)。
直觉解释:根桥像一棵树的树根。每台非根设备选择最省成本的方向靠近树根,多余的横向路径保留作备用但不转发普通流量。
正式定义:STP 以最低桥 ID 选举根桥;非根桥依据累计路径开销选择根端口,并在每个链路段选指定端口,其他冗余端口进入非转发状态。
判断依据:根桥应由设计指定,不能让接入交换机意外当选。
| 重点 | 你要理解 | 判断依据 |
|---|---|---|
| 重点 1 | STP 先选根桥,再计算每台设备到根的最小路径。 | 先比较 Bridge ID 找出 Core-SW1 为根,再分别计算 Access-SW1 两条路径开销,预测较小开销方向为根端口。 |
| 重点 2 | 部分冗余端口停止转发以消除环路。 | Root ID 与本桥 ID 相同且根路径代价为 0,证明该设备当前就是 CIST 根桥。它不说明其他实例的根桥。 |
| 重点 3 | 根桥应由设计指定,不能让接入交换机意外当选。 | 根桥判断错误时先按优先级、再按 MAC 比较 Bridge ID。 |
03正确理解与常见误解
正确示例:先比较 Bridge ID 找出 Core-SW1 为根,再分别计算 Access-SW1 两条路径开销,预测较小开销方向为根端口。
错误示例:把物理位置最高的设备自动当根桥,或认为被阻塞端口已经关闭且不再接收 BPDU。
- 术语与判断:STP 先选根桥,再计算每台设备到根的最小路径。
- 术语与判断:部分冗余端口停止转发以消除环路。
- 术语与判断:根桥应由设计指定,不能让接入交换机意外当选。
04老师演示
演示环境:设备 SW1,华为 S5735-L24T4X-A,VRP V200R022C00SPC500,当前提示符 <SW1>,隔离课程网络。教师准备执行只读命令:
- 前检
核对 SW1、目标对象、当前状态、带外路径和变更前业务基线。 - 只读核验(查看生成树状态)
display stp显示生成树模式、桥标识、根桥和计时器等详细信息。 - 只读核验(查看生成树状态)
display stp brief汇总显示端口角色、优先级和转发状态。 - 只读核验(查看生成树状态)
display stp brief确认根端口、指定端口和备用端口符合设计拓扑。 - 只读核验(查看 MSTP 实例根桥与端口角色)
display stp instance 1 brief第 1 步:在目标设备上执行并核对命令作用范围。 - 只读核验(查看 MSTP 实例根桥与端口角色)
display stp region-configuration读取实际状态或计数器,确认“核对各实例承载 VLAN、根桥和转发/阻塞端口”已经满足。
安全说明:命令来自“查看生成树状态”华为实现,用于华为使用 display stp 查看实例和根桥信息,使用 brief 输出快速检查端口角色与状态。 执行前已确认当前设备、版本、视图、影响对象、停止条件和输出脱敏范围。
脱敏真实输出:
<SW1>display stp brief CIST Bridge ID: 4096.00e0-fc00-0001 CIST Root ID: 4096.00e0-fc00-0001 RootPathCost: 0 This bridge is the root Topology change count: 2
异常输出:
CIST Root ID: 32768.00e0-fc00-a101 Root Port: GE0/0/1 Warning: Access-SW1 is acting as root; expected root is Core-SW1 差异说明:根 ID 指向别的桥且设备通过 GE0/0/1 到根,告警还说明接入交换机意外成为根;这和预期核心根桥不同。先核对各桥 ID 与实例,不立即调整优先级。 此时不能套用正常结论;先保存采集时间,再执行“查看 MSTP 实例根桥与端口角色”对应的最小只读检查。
05逐行读懂输出
结论:当前输出可以支持“识别根桥并根据路径开销预测根端口。”中的基础判断,但仍要完成跟做任务和业务验收,不能把单份输出当作全部证明。
- 第 1 行“CIST Bridge ID: 4096.00e0-fc00-0001”:Bridge ID 是本桥的优先级和 MAC 组合,4096 较低可作为根桥候选。它不能仅靠优先级断言全网一定选它为根。
- 第 2 行“CIST Root ID: 4096.00e0-fc00-0001 RootPathCost: 0”:Root ID 与本桥 ID 相同且根路径代价为 0,证明该设备当前就是 CIST 根桥。它不说明其他实例的根桥。
- 第 3 行“This bridge is the root Topology change count: 2”:明确提示本桥为根,拓扑变更计数为 2 只是历史次数。它不能说明这两次变更一定异常。
06学员跟做
起始状态:使用隔离课程环境,SW1 当前配置保持阶段基线,学员已登录但尚未执行本课检查。目标状态:识别根桥并根据路径开销预测根端口。
操作步骤:①在三角拓扑为三台设备写出桥优先级和 MAC 组成的 Bridge ID;②找出最低 Bridge ID,标为根桥;③在每台非根桥上比较到根的路径开销并预测根端口;④用 display stp brief 核对根 ID 和端口角色,本课不调整优先级;⑤进入“引导:只读判断 STP 根桥与根端口”独立完成相同目标。
成功标准:输出与规划一致,立即闯关全部目标通过,并能用自己的话说明三个重点。失败检查顺序:①根桥判断错误时先按优先级、再按 MAC 比较 Bridge ID;②根端口与预测不符时核对链路速率对应的路径开销;③接入交换机意外为根时只记录偏差,留到批准的根桥配置任务处理。
- 保存教师演示命令和本次学员输出,文件名含设备、日期和课次。
- 步骤标题只提示检查对象,不复制最终答案。
- 失败时一次只验证一个假设,不连续粘贴未知命令。
07安全、验证与回滚
本课以只读观察为主。只读命令仍可能暴露资产信息,保存输出前要替换序列号、真实公网地址、账号和其他敏感字段;任何清表、重启、删除或配置动作都不属于本课。
验证必须同时回答:配置或输入是否正确、设备状态是否符合预期、真实任务“识别根桥并根据路径开销预测根端口。”是否完成。
08本课关联资源
按顺序完成:先看命令 → 立即闯关 → 可选加练 → 案例步骤 → 返回本页复盘。
09自测一:概念判断
先判断对错,再写出为什么。
- 判断 1:以下做法是正确的——把物理位置最高的设备自动当根桥,或认为被阻塞端口已经关闭且不再接收 BPDU。
- 判断 2:以下做法是正确的——先比较 Bridge ID 找出 Core-SW1 为根,再分别计算 Access-SW1 两条路径开销,预测较小开销方向为根端口。
10自测二:输出解读
重新阅读老师演示的第 2 行输出:它能直接证明什么?还不能证明“识别根桥并根据路径开销预测根端口。”中的哪一部分?请写出下一条最小验证证据。
11自测三:小型操作
在隔离环境或纸面拓扑中完成:识别根桥并根据路径开销预测根端口。 保存关键输出,按“现象—证据—结论—下一步”写四行记录;不得复制本页最终结论。
答案与复盘
13下一课
下一课:根端口、指定端口、阻塞端口怎样判断。你已经能“识别根桥并根据路径开销预测根端口。”,下一课将用这项能力继续回答“同一条冗余路径上的端口为什么承担不同角色?”。