前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >生成树协议(STP)配置详解:避免网络环路的最佳实践

生成树协议(STP)配置详解:避免网络环路的最佳实践

作者头像
神的孩子都在歌唱
发布于 2025-03-05 12:24:25
发布于 2025-03-05 12:24:25
79301
代码可运行
举报
运行总次数:1
代码可运行

生成树协议(STP)配置详解:避免网络环路的最佳实践

前言

作者:神的孩子都在歌唱

在复杂的局域网(LAN)中,冗余链路是提高网络可靠性的重要手段,但如果不加以控制,冗余链路可能会导致网络环路(Loop),引发广播风暴、MAC地址表波动和高CPU占用,最终导致整个网络瘫痪。 生成树协议(Spanning Tree Protocol, STP)正是为了解决这一问题而设计的。它通过自动检测冗余链路并阻止环路,确保网络稳定运行。本文将深入讲解STP的原理、配置方法,以及如何优化生成树协议以提升网络性能。

如下网络配置中,当PC1访问PC2时候,发现ping不通,原因的话就是这四台交换机出现了环路,流量转发不到PC2。

image-20250305010051906
image-20250305010051906

备注:交换机S5700会默认开启stp,开启后他就会自动选举。所以为了测试先把他关了 stp disable

一、STP基本原理

STP基于树形拓扑工作,它的核心思想是:在多条冗余路径中,自动选择一条主路径,阻塞其余路径,以避免环路。STP的工作过程包括:

  1. 1. 选举根桥(Root Bridge):所有交换机通过BPDU(Bridge Protocol Data Unit)报文相互比较,选出具有最低桥ID的交换机作为根桥。
  2. 2. 计算最优路径:各交换机根据路径成本(Path Cost),计算到达根桥的最佳路径,并将其端口设为根端口(Root Port)
  3. 3. 选举指定端口(Designated Port):在每条链路上,决定哪个交换机的端口将成为指定端口,用于数据转发。 根桥所有端口都是指定端口
  4. 4. 阻塞非必要路径:将冗余路径上的端口设为阻塞状态(Blocking),防止环路形成。

二、STP 配置示例(华为交换机)

在华为交换机上,可以使用如下命令来配置生成树协议。

1. 启用生成树协议

在所有交换机上启用STP,确保环路保护机制生效。

代码语言:javascript
代码运行次数:1
运行
AI代码解释
复制
[Huawei] stp enable  # 启用STP

2. 配置根桥

如果你的交换机是核心设备,建议手动指定其为根桥,以防止动态选举导致网络不稳定。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[SwitchA] stp priority 4096  # 设置优先级,数值越小,优先级越高

默认STP优先级为32768,建议核心交换机设为4096或8192,以确保它成为根桥。

也可以直接设置为根桥

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[SwitchA] stp root primary

神唱这里将SwitchA作为根桥,将SwitchB设置为备份根桥

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[SwitchB] stp root secondary

3. 查看生成树状态

使用以下命令检查当前STP状态,包括根桥选举、端口角色等信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[SwitchA] display stp brief
image-20250305012529019
image-20250305012529019

可以看到根桥 SwitchA 的两个端口都是指定端口。

image-20250305012845397
image-20250305012845397

SwitchC的端口1是根端口,端口2是指定端口,端口3是禁用的。

4. 测试

我们在使用PC1 ping PC2,发现ping的通了,说明流量转发到了。

image-20250305014326340
image-20250305014326340

如果认真看文章的朋友应该很快就能知道流量是怎么发的了,如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PC1 -> SwitchD  -> SwitchA  -> SwitchB  -> SwitchC -> PC2 

有朋友会问为什么不直接从SwitchD -> SwitchC, 原因就是SwitchC的端口3被禁用了,可以通过抓包的方式发现流量根本没进来。

image-20250305015239058
image-20250305015239058

又有人问了,如果我就是想走D到C呢,我不想走那么多交换机。有没有设置的命令。有的,兄弟有的。

4. 调整路径成本(Path Cost)

如果希望调整特定链路的优先级(比如,让某条链路成为主路径),可以修改端口的路径成本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[SwitchC] interface GigabitEthernet 0/0/3
[SwitchC-GigabitEthernet0/0/3] stp cost 10  # 设置端口路径成本为10

路径成本越低,优先级越高,该路径越可能成为主路径。 ,这时我们再看 SwitchC的stp配置

image-20250305020706905
image-20250305020706905

可以发现端口3从禁用变成可转发的根端口了。我们在抓包试试。

image-20250305020846028
image-20250305020846028

这回流量是从端口3进来了。也就是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PC1 -> SwitchD -> SwitchC -> PC2 

5. 配置边缘端口(Edge Port)

如果某个端口连接的是终端设备(如PC或服务器),而非交换机,为了加速端口收敛,可以配置为边缘端口(即快速转发模式,等效于Cisco的PortFast):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei-GigabitEthernet0/0/2] stp edged-port enable

这样,该端口在上线时无需经历**Listening(监听)和 Learning(学习)**阶段,可以立即进入转发状态,加快网络恢复速度。

简单理解就是提前预习了。不需要等到你请求的时候在学习。

6. 启用BPDU保护

如果边缘端口意外接收到BPDU报文,可能意味着环路风险。可以启用BPDU保护,以防止错误连接交换机:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei-GigabitEthernet0/0/2] stp bpdu-protection

当启用该功能的端口收到BPDU报文后,会自动进入Err-Disable状态,避免环路形成。

三、快速生成树(RSTP)与增强STP

传统STP收敛速度较慢(通常需要50秒),对于现代网络来说可能过于迟缓。因此,我们可以选择 快速生成树(RSTP)增强型生成树(MSTP) 来提高收敛速度。

1. 启用RSTP(Rapid Spanning Tree Protocol)

RSTP的主要优势是可以加快端口的状态转换速度,使网络更快恢复。启用RSTP的方法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei] stp mode rstp  # 启用RSTP模式

2. 启用MSTP(Multiple Spanning Tree Protocol)

如果你在网络中部署了多个VLAN,并希望不同VLAN使用不同的生成树实例,可以使用MSTP,它比传统STP和RSTP更高效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei] stp mode mstp  # 启用MSTP模式

然后,你需要手动配置MSTP实例,将VLAN映射到不同的实例,以优化流量路径。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei] stp region-config
[Huawei-mst-region] instance 1 vlan 10 20 30
[Huawei-mst-region] instance 2 vlan 40 50 60
[Huawei-mst-region] active region-configuration

这样,不同的VLAN可以使用不同的路径,有效均衡网络流量。

四、STP优化与排错

1. 避免根桥漂移

如果STP根桥在网络运行过程中频繁变化,可能会引起网络不稳定。为了防止这一问题,可以在核心交换机上手动设置较低的优先级,并在接入交换机上提高优先级,确保根桥始终由核心交换机担任。

2. 防止环路意外发生

在接入层交换机上,建议启用环路保护功能(Loop Guard),以防止因STP错误失效而产生环路:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei] stp loop-protection

3. 监控STP状态变化

定期检查STP状态,避免误配置导致网络问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei] display stp brief

如果发现某些端口状态频繁变化,可能需要检查物理连接或路径成本设置是否合理。

五、结语

生成树协议(STP)是避免网络环路的重要技术,它可以自动选择最佳路径,并阻塞冗余链路,以确保网络稳定运行。

  • STP适用于所有以太网交换网络,但收敛速度较慢。
  • RSTP提高了收敛速度,适用于大部分企业网络
  • MSTP适用于多VLAN环境,可以优化不同VLAN的流量路径

在实际部署时,建议优先使用RSTP或MSTP,并结合边缘端口、BPDU保护、环路防护等优化措施,以提高网络的稳定性和安全性。

作者:神的孩子都在歌唱 本人博客:https://blog.csdn.net/weixin_46654114 转载说明:务必注明来源,附带本人博客连接

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 神的孩子都在歌唱 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
华为实操系列 | 如何使用STP破除网络环路?
在网络中,由于冗余备份的需要,一般在设备之间部署多条物理链路,其中一条作为主用链路,其他链路作为备份。这样难免会形成环路,环路可能会引起广播风暴和MAC表项损坏。
网络技术联盟站
2019/07/23
1.7K0
华为生成树协议(STP/RSTP/MSTP)知识总结及案例习题
以下是基于《第9章 生成树协议(STP/RSTP/MSTP)》整理的配套章节练习题(含答案与解析),涵盖选择题、判断题、简答题与图解题,适用于考试复习与实操训练。
知孤云出岫
2025/05/11
2140
华为生成树协议(STP/RSTP/MSTP)知识总结及案例习题
华为生成树协议 STP / RSTP / MSTP 知识点总结及案例
📶 典型收敛延迟:Listening(15s)+ Learning(15s)= 30s
知孤云出岫
2025/05/17
3840
华为生成树协议 STP / RSTP / MSTP 知识点总结及案例
STP生成树协议(超详细小白也能看懂)
为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。
利又德智能感知
2023/05/24
2K0
STP生成树协议(超详细小白也能看懂)
STP、RSTP 和 MSTP 的区别,一次性说清楚
交换机网络中,防止环路是至关重要的。生成树协议(STP)、快速生成树协议(RSTP)、以及多生成树协议(MSTP)是我们最常见的环路防护机制。那么就跟着神唱来了解一下他们的区别是什么吧。
神的孩子都在歌唱
2025/03/27
5470
STP、RSTP 和 MSTP 的区别,一次性说清楚
华为生成树与端口聚合
交换机(Switch)是一种用于电信号转发的网络设备,它可以为接入交换机的任意两个网络节点提供独享的电信号通路,最常见的交换机是以太网交换机,其他常见的还有电话语音交换机、光纤交换机等,交换机是集线器的升级替代产品,理论上讲交换机就是按照通信两端传输信息的需求,将需要的信息发送到目标设备上的网络组件.
王 瑞
2022/12/28
5700
华为生成树与端口聚合
扼杀网络中的环路:STP、RSTP、MSTP
在计算机网络中,网络拓扑的稳定性和可靠性是非常重要的。为了解决网络中的环路和冗余路径带来的问题,产生了一系列的网络协议,其中包括STP、RSTP和MSTP。本文将介绍这三种协议的基本概念、工作原理和应用场景。
网络技术联盟站
2023/07/14
7090
扼杀网络中的环路:STP、RSTP、MSTP
一文读懂 STP:交换机接口状态详解及工作原理
在网络世界中,交换机是网络的“交通枢纽”,但如果连接不当,很容易出现**“网络环路”**,导致广播风暴、数据包无限循环,最终让整个网络瘫痪。
神的孩子都在歌唱
2025/03/07
3900
一文读懂 STP:交换机接口状态详解及工作原理
【干货】关于STP生成树,最易犯的九大错误!
运行生成树协议(STP)的以太网设备已部署在许多网络中。许多企业对STP习以为常,但是却没有按照行业最佳实践来配置它,STP错误比比皆是。
网络工程师笔记
2021/05/17
3.3K0
【干货】关于STP生成树,最易犯的九大错误!
ENSP中MSTP多段传输协议生成树
在华为ENSP中,MSTP(多段传输协议)是重要的生成树协议,它扩展了STP(生成树协议)和RSTP(快速生成树协议)等传统生成树协议的功能,以满足现代网络不断增长的需求。它在防止环路、确保网络快速收敛以及优化复杂网络拓扑中的流量方面发挥着关键作用。
神秘泣男子
2024/04/27
3930
ENSP中MSTP多段传输协议生成树
爱情就像 RSTP 协议,哪怕有再多的干扰和潜在分歧,我们也能找到最优路径,让爱稳稳流动,不会陷入迷茫的循环——基于华为ENSP的RSTP、MSTP全面深入剖析
如果交换机的某个端口处于网络的边缘,即不与其他交换设备相连,直接与终端设备直连,这种端口可以被设置为边缘端口----因为终端设备无法处理STP报文。
盛透侧视攻城狮
2025/02/13
2050
爱情就像 RSTP 协议,哪怕有再多的干扰和潜在分歧,我们也能找到最优路径,让爱稳稳流动,不会陷入迷茫的循环——基于华为ENSP的RSTP、MSTP全面深入剖析
生成树协议
以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)。
十二惊惶
2024/02/28
3010
生成树协议
弄它!!! 深入了解STP生成树协议
STP是一个用于局域网中消除环路的协议。运行该协议的设备通过彼此交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路。由于局域网规模的不断增长,生成树协议已经成为了当前最重要的局域网协议之一。
不吃小白菜
2020/09/03
1.6K0
弄它!!! 深入了解STP生成树协议
初级应该掌握的破环技术(STP选举过程)
要想防止环路,又实现线路备份的效果,假设交换机支持这样的功能,它能够根据某种算法,交换机之间发现自己的有多条线路,并且存在环路,直接把某一根线给阻塞掉,这样就相当于只有一根线在使用,比如上图,默认情况下把办公区三到E0/0/4的线路阻塞掉,这样转发路径只能是办公区1----核心交换机----办公区3
网络之路一天
2024/01/08
4001
初级应该掌握的破环技术(STP选举过程)
华为实操系列 | 如何使用MSTP破除网络环路?
当网络中存在环路时,可以部署STP/RSTP进行破环。但是使用STP/RSTP破环后,局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。
网络技术联盟站
2019/07/23
1.6K0
(收藏必看)HCIE | 彻底搞懂LAN技术-CSS、Eth-trunk、MSTP、vlan
高可靠性:集群系统两台成员交换机之间冗余备份,同时利用链路聚合功能实现跨设备的链路冗余备份。
网络技术联盟站
2020/03/26
1.3K0
(收藏必看)HCIE | 彻底搞懂LAN技术-CSS、Eth-trunk、MSTP、vlan
初级应该掌握的破环技术(STP状态机与迁移过程)
上一篇主要讲了根桥与三种端口角色(根端口、指定端口、备用端口)的选举过程,这个选举是要时间的,随着二层的网络拓扑越来越大,STP的选举就会越久,同时某一台设备出现故障,STP完成整个状态的收敛也需要时间,那什么时候可以发送数据就成了一个问题,所以在三种端口角色的基础上面,还定义了五种端口状态来确保整个二层网络选举完毕以及出现故障的时候能够完成网络的恢复。
网络之路一天
2024/01/08
6490
初级应该掌握的破环技术(STP状态机与迁移过程)
爱情就像 STP 生成树协议,哪怕有再多的干扰和潜在分歧,我们也能找到最优路径,让爱稳稳流动,不会陷入迷茫的循环——基于华为ENSP的STP生成树协议深入浅出(1)
盛透侧视攻城狮
2025/02/12
1570
爱情就像 STP 生成树协议,哪怕有再多的干扰和潜在分歧,我们也能找到最优路径,让爱稳稳流动,不会陷入迷茫的循环——基于华为ENSP的STP生成树协议深入浅出(1)
H3C stp配置
一个局域网通常由多台交换机互连而成,为了避免广播风暴,我们需要保证在网络中不存在路径回环,也就是说所有链路应该组成一颗无回环的树,交换机上的STP协议(生成树协议)就实现了这样的功能。
py3study
2020/01/07
1.5K0
STP工作原理和配置
网络收敛 (1)、选举一个根桥; (2)、每个非根交换机选举一个根端口; (3)、每个网段选举一个指定端口; (4)、阻塞非根、非指定端口;
宝耶需努力
2022/12/13
9960
STP工作原理和配置
推荐阅读
相关推荐
华为实操系列 | 如何使用STP破除网络环路?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验