二层网络MAC学习与生成树STP防环实战

本实验旨在通过华为 eNSP 模拟器,直观地观察二层交换机的 MAC 地址表动态学习过程,并验证物理环路带来的广播风暴灾难,最后通过配置生成树协议(STP)实现逻辑防环。

一、实验环境搭建

  • 模拟器:华为 eNSP(Enterprise Network Simulation Platform)

  • 拓扑设备

    • 2 台二层交换机(如 S5700)
    • 2 台 PC 终端
  • 连接方式

    • PC1、PC2都 连接 SW1。

      image-20260329183811986

二、实验步骤详解

步骤 1:MAC 地址表学习机制验证

  1. 基础配置

    • 为 PC1 和 PC2 配置同网段的静态 IP(例如:192.168.1.1 和 192.168.1.2),子网掩码 255.255.255.0。

      image-20260329183834915

  2. 观察初始状态

    • 双击进入 SW1 的命令行(CLI)。

    • 执行命令 display mac-address。此时由于没有数据通信,MAC 地址表应当是空的。

      image-20260329183918379

  3. 触发通信与抓包分析

    • 在 PC1 的命令行中执行 ping 192.168.1.2

      image-20260329184017809

    • 在交换机与PC2之间的链路上开启 Wireshark 抓包。

    • 分析抓包:可以清晰看到首个报文是全 F 的广播包(ARP Request),随后是单播的 ARP Reply;紧接着是 ICMP 的 Echo Request 和 Reply 报文。

      image-20260329184421117

      image-20260329184448774

  4. 验证动态学习

    • 再次在交换机上执行 display mac-address

    • 此时表中已动态生成了 PC1 和 PC2 的 MAC 地址及其对应的物理端口映射关系。

      image-20260329184101712

步骤 2:物理环路与广播风暴模拟

  1. 构建物理环路

    • 在 SW1 和 SW2 之间连接两条线缆(链路 2),人为制造物理环路。

      image-20260329184811917

  2. 关闭 STP 协议

    • 华为交换机默认开启了生成树协议。为了观察环路危害,需手动关闭。

    • 在两台交换机的系统视图下执行: stp disable

      image-20260329185555790

  3. 引发并观察风暴

    • 再次从 PC1 ping PC2。

    • 现象 1:Ping 测试出现大量丢包或完全不通,网络严重卡顿。

      image-20260329185843343

    • 现象 2:Wireshark 抓包界面瞬间被海量的 ARP 或广播报文淹没。

      image-20260329185858588

    • 现象 3:在交换机上执行 display interface,可观察到接口的广播包数量呈指数级激增,CPU 占用率飙升。这就是典型的“广播风暴”。

      image-20260329190150513

      image-20260329190238887

步骤 3:STP 协议防环验证

  1. 重新开启 STP

    • 在两台交换机的系统视图下执行:stp enable,恢复生成树协议的运行。

      image-20260329190503183

    • 等待约 30-50 秒(标准 STP 的收敛时间)。此时网络恢复平静,Ping 测试恢复正常。

      image-20260329190536539

  2. 根桥选举与端口状态

    • 可通过stp priority设置根桥优先级。也可直接stp root primary设置为根桥

    • 在 SW1 和 SW2 上执行 display stp

      image-20260329191829025

    • 查看根桥(Root Bridge):系统会比较两台交换机的 Bridge ID(优先级 32768 + MAC 地址)。MAC 地址较小的设备被选举为根桥,其所有端口均为 Forwarding(转发)状态。

      image-20260329190814811

    • 查看被阻塞的端口:在非根桥交换机上执行 display stp brief

    • 可以看到,冗余链路中的某一个端口状态被置为了 Discarding(阻塞,简称 ALTE/DISC)。该端口逻辑上已被切断,从而打破了环路。

    • 另一个连接根桥的端口则处于 Forwarding(转发,简称 ROOT/FORW) 状态。

      image-20260329190833785

    为什么设置为根桥后

    image-20260329192316194

    没有显示端口为root,且状态全部为Forwarding

    image-20260329192403801

    而另一个交换机,明明已经不是根桥了

    image-20260329192510236

    接口却为root ,且状态还有Discarding

    image-20260329192629585

通过这个直观的实验,我们深刻理解了二层网络的脆弱性以及生成树协议在保障园区网稳定性中的不可替代作用。