3.6 生成树协议STP

实验介绍
本实验将帮助你理解生成树协议(STP)的作用和重要性。通过观察网络环路带来的问题以及STP如何解决这些问题,你将深入了解STP在现代网络中的关键作用。
摘要
在网络中,环路会导致两个严重问题:广播风暴和MAC地址表不稳定。本任务将通过实验直观地展示这些问题。

网络拓扑图

按照上图建立拓扑图,连接细节:

  • LSW1 的 G0/0/1 连接 LSW2 的 G0/0/1
  • LSW2 的 G0/0/2 连接 LSW3 的 G0/0/1
  • LSW3 的 G0/0/2 连接 LSW1 的 G0/0/2

配置 PC 的 IP 地址:

PC IP地址/子网掩码
PC1 192.168.1.10/24
PC2 192.168.1.20/24
警告
华为设备上默认开启 STP 功能。在本实验中,我们需要先关闭它以观察没有STP时网络的行为。

每一台交换机上执行以下命令:

bash

# 进入系统视图
system-view

# 关闭信息中心(减少日志输出)
undo info-center enable

# 关闭 STP
undo stp enable

关闭STP

技巧
在关闭 STP 时,系统会提示是否继续操作,此时需要输入 y 进行确认。

打开抓包工具,准备捕获网络流量:

打开抓包工具

选择一个交换机端口进行监控,例如 LSW3 的 G0/0/2:

选择监控端口

如下图所示,表格中是在该端口上抓取到的数据包。由于我们关闭了 STP 且网络中暂时没有发生任何通信,所以表格是空的。

空的抓包结果

信息
广播包会被交换机从除接收端口外的所有端口转发出去。在存在环路的网络中,这将导致广播风暴。

打开 PC1 的 UDP 发包工具,填写如下信息:

  • 目的IP地址:255.255.255.255 (广播地址)
  • 源IP地址:192.168.1.10
  • 目的端口号:1234(可任意填写)
  • 源端口号:1234(可任意填写)

UDP发包工具设置

点击发送后,观察抓包结果:

技巧
在不开启周期发送的情况下,点击一次发送按钮只会发送一个广播包

广播风暴现象

危险
由图可见,同一个广播包被不断地在网络中循环传播,这就是典型的广播风暴现象。在实际网络中,这会导致网络性能严重下降甚至完全瘫痪。

让PC1与PC2尝试通信。通信可能会失败,但这不影响我们的实验,因为在通信过程中局域网会运行 ARP 协议,尝试确定 PC2 的 MAC 地址和对应的交换机接口。

警告
由于环路的存在,PC 的对应接口会在交换机的MAC地址表中不断变化,这就是所谓的MAC地址漂移现象。

多次查看 LSW3 的转发表,可以观察到MAC地址表的不稳定状态:

MAC地址表不稳定

摘要
在本任务中,我们将开启STP协议,观察它如何消除网络环路,解决广播风暴和MAC地址表不稳定的问题。
信息
此时局域网中还存在着广播风暴现象,可以在抓包工具中确认。

在每台交换机的系统视图下执行:

bash

# 启用STP
stp enable

启用STP

回到抓包工具,可以发现广播风暴已经消失,只留下少量的 STP 协议数据包:

STP协议包

成功
这表明STP协议已经成功阻断了网络环路,广播风暴问题得到了解决。

回到 PC1 的UDP发包工具,再次点击发送:

再次发送广播包

在抓包工具中只能看到该广播包出现一次:

正常的广播包传播

成功
这证明STP已经成功消除了环路,广播包不会在网络中无限循环。

在每个交换机上执行 display stp brief 命令查看STP状态,找到状态为 DISCARDING(阻塞)的接口,这表明环路已被消除。

LSW1的STP状态: LSW1的STP状态

LSW2的STP状态: LSW2的STP状态

LSW3的STP状态: LSW3的STP状态

信息
在本例中,LSW3 的 G0/0/2 接口被阻塞,其角色为 ALTE(备用端口)。如果网络中有其他接口失效(如断电、物理中断等),该备用接口会自动转为工作状态,保证网络连通性。
摘要
STP不仅能消除环路,还提供了自动链路备份功能。本任务将演示当主要链路失效时,STP如何自动启用备用链路。

首先确定被阻塞的端口在哪台交换机上。在本例中,阻塞端口是 LSW3 上的 G0/0/2,后续操作将在 LSW3 上进行。

关闭没有被阻塞的端口(即当前正在工作的端口),在本例中是 G0/0/1:

bash

# 进入接口配置模式
int g0/0/1
# 关闭接口
shutdown

再次查看STP状态:

text

dis stp br

可以看到,刚才被阻塞的 G0/0/2 端口已经自动转为工作状态:

备用链路激活

成功
这证明了STP的自动链路备份功能。当主链路发生故障时,STP能够迅速激活备用链路,保证网络的连通性,同时仍然避免环路的形成。
摘要

通过本实验,我们观察到了:

  1. 网络环路会导致广播风暴和MAC地址表不稳定,严重影响网络性能
  2. STP协议能够有效检测并阻断网络环路,防止广播风暴
  3. STP还提供了自动链路备份功能,在主链路故障时自动启用备用链路

这些特性使STP成为现代交换网络中不可或缺的协议。

相关内容