连接多台交换机
二层环路为什么会引发广播风暴和 MAC 漂移
本课问题:没有 TTL 的广播进入环路后会发生什么? 学完你能:沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。
前置知识
- 用 LLDP/CDP 发现真实邻居和端口
课堂开场
本课问题:没有 TTL 的广播进入环路后会发生什么?
学完结果:沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。
预计时间:40 分钟。前置课:用 LLDP/CDP 发现真实邻居和端口。
范围控制:本课不直接拔除未知上联。
02基础知识讲解
有人把两个接入口互连,广播被不断复制,交换机 CPU 升高,同一个 MAC 在两个端口之间快速移动。
本课最小拓扑或状态图:SW1 GE0/0/10 ─ 非法网线 ─ SW1 GE0/0/11,形成闭环;广播帧每绕一圈再次复制,二层帧没有 IP TTL 帮它停止。
直觉解释:环路像没有出口的环形扩音走廊,一声广播每绕一圈又被复制;设备忙于处理重复帧,正常业务被淹没。
正式定义:二层环路是帧在交换拓扑中存在重复闭合转发路径的状态,会造成广播风暴、重复帧和 MAC 地址在不同接口间漂移;STP 用阻塞冗余路径消除环路。
判断依据:MAC 在多个端口快速移动是重要证据,但仍要与 STP 和接线交叉确认。
| 重点 | 你要理解 | 判断依据 |
|---|---|---|
| 重点 1 | 二层广播不会像 IP 报文那样靠 TTL 自动停止。 | 同时观察广播速率、CPU、MAC漂移和STP变化,定位 GE0/0/10 与 GE0/0/11 的异常路径,先按批准流程隔离单一根因。 |
| 重点 2 | 环路会复制帧、耗尽带宽和设备资源。 | 该 MAC 移动次数为 0,始终在 GE0/0/1,说明当前没有看到它在端口间漂移。它不能排除其他 MAC 的异常。 |
| 重点 3 | MAC 在多个端口快速移动是重要证据,但仍要与 STP 和接线交叉确认。 | 只有单次 MAC 移动时先排除终端正常换口。 |
03正确理解与常见误解
正确示例:同时观察广播速率、CPU、MAC漂移和STP变化,定位 GE0/0/10 与 GE0/0/11 的异常路径,先按批准流程隔离单一根因。
错误示例:看到 CPU 高就重启所有交换机,或看到一次 MAC 移动就直接拔除未知上联。
- 术语与判断:二层广播不会像 IP 报文那样靠 TTL 自动停止。
- 术语与判断:环路会复制帧、耗尽带宽和设备资源。
- 术语与判断:MAC 在多个端口快速移动是重要证据,但仍要与 STP 和接线交叉确认。
04老师演示
演示环境:设备 SW1,华为 S5735-L24T4X-A,VRP V200R022C00SPC500,当前提示符 <SW1>,隔离课程网络。教师准备执行只读命令:
- 前检
核对 SW1、目标对象、当前状态、带外路径和变更前业务基线。 - 只读核验(查看 MAC 漂移与移动记录)
display mac-address flapping record第 1 步:在目标设备上执行并核对命令作用范围。 - 只读核验(查看 MAC 漂移与移动记录)
display mac-address flapping statistics读取实际状态或计数器,确认“根据同一 MAC 在不同接口间移动定位环路或接线错误”已经满足。 - 只读核验(查看生成树拓扑变化统计)
display stp topology-change第 1 步:在目标设备上执行并核对命令作用范围。 - 只读核验(查看生成树拓扑变化统计)
display stp brief读取实际状态或计数器,确认“确认拓扑变化次数、最近来源端口和发生时间”已经满足。 - 只读核验(查看 CPU 与内存状态)
display cpu-usage显示当前、近期和峰值 CPU 利用率。 - 只读核验(查看 CPU 与内存状态)
display memory-usage显示内存总量、已用量和利用率。 - 只读核验(查看 CPU 与内存状态)
display cpu-usage history在支持的平台查看历史趋势,并与故障时间和日志交叉验证。
安全说明:命令来自“查看 MAC 漂移与移动记录”华为实现,用于华为VRP 中用于查看 MAC 漂移与移动记录的最小操作与核验方法。 执行前已确认当前设备、版本、视图、影响对象、停止条件和输出脱敏范围。
脱敏真实输出:
<SW1>display mac-address flapping statistics MAC Address VLAN Move Count From To Last Move 00e0-fc12-3401 10 0 GE0/0/1 GE0/0/1 -- Total flapping MAC addresses: 0
异常输出:
00e0-fc12-3401 10 86 GE0/0/10 GE0/0/11 00:00:01 Alarm: MAC flapping detected; 124 moves in the last 10 seconds 差异说明:同一 MAC 在两个端口间大量移动,且十秒内告警 124 次;这与正常零漂移明显不同,符合环路风险。先关联广播、STP、LLDP 证据后按流程隔离最小对象。 此时不能套用正常结论;先保存采集时间,再执行“查看生成树拓扑变化统计”对应的最小只读检查。
05逐行读懂输出
结论:当前输出可以支持“沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。”中的基础判断,但仍要完成跟做任务和业务验收,不能把单份输出当作全部证明。
- 第 1 行“MAC Address VLAN Move Count From To Last Move”:表头说明 MAC 漂移记录会显示移动次数、来源和去向。它本身不表示已有环路。
- 第 2 行“00e0-fc12-3401 10 0 GE0/0/1 GE0/0/1 --”:该 MAC 移动次数为 0,始终在 GE0/0/1,说明当前没有看到它在端口间漂移。它不能排除其他 MAC 的异常。
- 第 3 行“Total flapping MAC addresses: 0”:总漂移 MAC 为 0,说明本次统计窗口没有发现 MAC flapping。它不能单独证明 CPU 或广播率正常。
06学员跟做
起始状态:使用隔离课程环境,SW1 当前配置保持阶段基线,学员已登录但尚未执行本课检查。目标状态:沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。
操作步骤:①沿闭环画出一份广播第一次进入和两次复制的路径;②采集 MAC 漂移、接口广播速率、CPU 和 STP 拓扑变化时间;③把同一时间窗口的四份证据对齐,圈出共同接口;④写出最小隔离对象、业务影响和恢复前验证,不直接拔未知上联;⑤进入“限时:二层环路与 MAC 漂移”独立完成相同目标。
成功标准:输出与规划一致,立即闯关全部目标通过,并能用自己的话说明三个重点。失败检查顺序:①只有单次 MAC 移动时先排除终端正常换口;②CPU 高但无广播与漂移时调查其他进程,不强判环路;③隔离候选接口前核对 LLDP、接口描述和冗余路径,避免切断唯一上联。
- 保存教师演示命令和本次学员输出,文件名含设备、日期和课次。
- 步骤标题只提示检查对象,不复制最终答案。
- 失败时一次只验证一个假设,不连续粘贴未知命令。
07安全、验证与回滚
本课以只读观察为主。只读命令仍可能暴露资产信息,保存输出前要替换序列号、真实公网地址、账号和其他敏感字段;任何清表、重启、删除或配置动作都不属于本课。
验证必须同时回答:配置或输入是否正确、设备状态是否符合预期、真实任务“沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。”是否完成。
08本课关联资源
按顺序完成:先看命令 → 立即闯关 → 可选加练 → 案例步骤 → 返回本页复盘。
- 必学命令:查看 MAC 漂移与移动记录打开资源 →目标:核对本课涉及的华为主线命令及四厂商差异|完成标准:能解释用途、视图、版本范围、验证和回滚。
- 必学命令:查看生成树拓扑变化统计打开资源 →目标:核对本课涉及的华为主线命令及四厂商差异|完成标准:能解释用途、视图、版本范围、验证和回滚。
- 必学命令:查看 CPU 与内存状态打开资源 →目标:核对本课涉及的华为主线命令及四厂商差异|完成标准:能解释用途、视图、版本范围、验证和回滚。
- 立即闯关:限时:二层环路与 MAC 漂移打开资源 →目标:独立完成“沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。”对应的最小任务|完成标准:规则引擎全部目标通过并保存关键输出。
09自测一:概念判断
先判断对错,再写出为什么。
- 判断 1:以下做法是正确的——看到 CPU 高就重启所有交换机,或看到一次 MAC 移动就直接拔除未知上联。
- 判断 2:以下做法是正确的——同时观察广播速率、CPU、MAC漂移和STP变化,定位 GE0/0/10 与 GE0/0/11 的异常路径,先按批准流程隔离单一根因。
10自测二:输出解读
重新阅读老师演示的第 2 行输出:它能直接证明什么?还不能证明“沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。”中的哪一部分?请写出下一条最小验证证据。
11自测三:小型操作
在隔离环境或纸面拓扑中完成:沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。 保存关键输出,按“现象—证据—结论—下一步”写四行记录;不得复制本页最终结论。
答案与复盘
13下一课
下一课:STP 怎样剪断环路:根桥和最小路径直觉。你已经能“沿拓扑画出帧复制路径,并从广播、CPU 和 MAC 移动识别环路。”,下一课将用这项能力继续回答“生成树怎样从冗余拓扑中选出一棵无环树?”。