生成树协议(STP)配置详解:避免网络环路的最佳实践
生成树协议(STP)配置详解:避免网络环路的最佳实践
- 生成树协议(STP)配置详解:避免网络环路的最佳实践
- 一、STP基本原理
- 二、STP 配置示例(华为交换机)
- 1. 启用生成树协议
- 2. 配置根桥
- 3. 查看生成树状态
- 4. 测试
- 4. 调整路径成本(Path Cost)
- 5. 配置边缘端口(Edge Port)
- 6. 启用BPDU保护
- 三、快速生成树(RSTP)与增强STP
- 1. 启用RSTP(Rapid Spanning Tree Protocol)
- 2. 启用MSTP(Multiple Spanning Tree Protocol)
- 四、STP优化与排错
- 1. 避免根桥漂移
- 2. 防止环路意外发生
- 3. 监控STP状态变化
- 五、结语
生成树协议(STP)配置详解:避免网络环路的最佳实践
前言
肝文不易,点个免费的赞和关注,有错误的地方请在评论区指出,看个人主页有惊喜。
作者:神的孩子都在歌唱
在复杂的局域网(LAN)中,冗余链路是提高网络可靠性的重要手段,但如果不加以控制,冗余链路可能会导致网络环路(Loop),引发广播风暴、MAC地址表波动和高CPU占用,最终导致整个网络瘫痪。 生成树协议(Spanning Tree Protocol, STP)正是为了解决这一问题而设计的。它通过自动检测冗余链路并阻止环路,确保网络稳定运行。本文将深入讲解STP的原理、配置方法,以及如何优化生成树协议以提升网络性能。
如下网络配置,当PC1访问PC2时候,发现ping不通,原因的话就是这四台交换机出现了环路,流量转发不到PC2。
备注:交换机S5700会默认开启stp,开启后他就会自动选举。所以为了测试先把他关了
stp disable
一、STP基本原理
STP基于树形拓扑工作,它的核心思想是:在多条冗余路径中,自动选择一条主路径,阻塞其余路径,以避免环路。STP的工作过程包括:
- 选举根桥(Root Bridge):所有交换机通过BPDU(Bridge Protocol Data Unit)报文相互比较,选出具有最低桥ID的交换机作为根桥。
- 计算最优路径:各交换机根据路径成本(Path Cost),计算到达根桥的最佳路径,并将其端口设为根端口(Root Port)。
- 选举指定端口(Designated Port):在每条链路上,决定哪个交换机的端口将成为指定端口,用于数据转发。 根桥所有端口都是指定端口
- 阻塞非必要路径:将冗余路径上的端口设为阻塞状态(Blocking),防止环路形成。
二、STP 配置示例(华为交换机)
在华为交换机上,可以使用如下命令来配置生成树协议。
1. 启用生成树协议
在所有交换机上启用STP,确保环路保护机制生效。
[Huawei] stp enable # 启用STP
2. 配置根桥
如果你的交换机是核心设备,建议手动指定其为根桥,以防止动态选举导致网络不稳定。
[SwitchA] stp priority 4096 # 设置优先级,数值越小,优先级越高
默认STP优先级为32768,建议核心交换机设为4096或8192,以确保它成为根桥。
也可以直接设置为根桥
[SwitchA] stp root primary
神唱这里将SwitchA作为根桥,将SwitchB设置为备份根桥
[SwitchB] stp root secondary
3. 查看生成树状态
使用以下命令检查当前STP状态,包括根桥选举、端口角色等信息。
[SwitchA] display stp brief
可以看到根桥 SwitchA 的两个端口都是指定端口。
SwitchC的端口1是根端口,端口2是指定端口,端口3是禁用的。
4. 测试
我们在使用PC1 ping PC2,发现ping的通了,说明流量转发到了。
如果认真看文章的朋友应该很快就能知道流量是怎么发的了,如下
PC1 -> SwitchD -> SwitchA -> SwitchB -> SwitchC -> PC2
有朋友会问为什么不直接从SwitchD -> SwitchC, 原因就是SwitchC的端口3被禁用了,可以通过抓包的方式发现流量根本没进来。
又有人问了,如果我就是想走D到C呢,我不想走那么多交换机。有没有设置的命令。有的,兄弟有的。
4. 调整路径成本(Path Cost)
如果希望调整特定链路的优先级(比如,让某条链路成为主路径),可以修改端口的路径成本:
[SwitchC] interface GigabitEthernet 0/0/3
[SwitchC-GigabitEthernet0/0/3] stp cost 10 # 设置端口路径成本为10
路径成本越低,优先级越高,该路径越可能成为主路径。 ,这时我们再看 SwitchC的stp配置
可以发现端口3从禁用变成可转发的根端口了。我们在抓包试试。
这回流量是从端口3进来了。也就是
PC1 -> SwitchD -> SwitchC -> PC2
5. 配置边缘端口(Edge Port)
如果某个端口连接的是终端设备(如PC或服务器),而非交换机,为了加速端口收敛,可以配置为边缘端口(即快速转发模式,等效于Cisco的PortFast):
[Huawei-GigabitEthernet0/0/2] stp edged-port enable
这样,该端口在上线时无需经历**Listening(监听)和 Learning(学习)**阶段,可以立即进入转发状态,加快网络恢复速度。
简单理解就是提前预习了。不需要等到你请求的时候在学习。
6. 启用BPDU保护
如果边缘端口意外接收到BPDU报文,可能意味着环路风险。可以启用BPDU保护,以防止错误连接交换机:
[Huawei-GigabitEthernet0/0/2] stp bpdu-protection
当启用该功能的端口收到BPDU报文后,会自动进入Err-Disable状态,避免环路形成。
三、快速生成树(RSTP)与增强STP
传统STP收敛速度较慢(通常需要50秒),对于现代网络来说可能过于迟缓。因此,我们可以选择**快速生成树(RSTP)或增强型生成树(MSTP)**来提高收敛速度。
1. 启用RSTP(Rapid Spanning Tree Protocol)
RSTP的主要优势是可以加快端口的状态转换速度,使网络更快恢复。启用RSTP的方法如下:
[Huawei] stp mode rstp # 启用RSTP模式
2. 启用MSTP(Multiple Spanning Tree Protocol)
如果你在网络中部署了多个VLAN,并希望不同VLAN使用不同的生成树实例,可以使用MSTP,它比传统STP和RSTP更高效:
[Huawei] stp mode mstp # 启用MSTP模式
然后,你需要手动配置MSTP实例,将VLAN映射到不同的实例,以优化流量路径。
[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错误失效而产生环路:
[Huawei] stp loop-protection
3. 监控STP状态变化
定期检查STP状态,避免误配置导致网络问题。
[Huawei] display stp brief
如果发现某些端口状态频繁变化,可能需要检查物理连接或路径成本设置是否合理。
五、结语
生成树协议(STP)是避免网络环路的重要技术,它可以自动选择最佳路径,并阻塞冗余链路,以确保网络稳定运行。
- STP适用于所有以太网交换网络,但收敛速度较慢。
- RSTP提高了收敛速度,适用于大部分企业网络。
- MSTP适用于多VLAN环境,可以优化不同VLAN的流量路径。
在实际部署时,建议优先使用RSTP或MSTP,并结合边缘端口、BPDU保护、环路防护等优化措施,以提高网络的稳定性和安全性。
作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接
相关文章:

生成树协议(STP)配置详解:避免网络环路的最佳实践
生成树协议(STP)配置详解:避免网络环路的最佳实践 生成树协议(STP)配置详解:避免网络环路的最佳实践一、STP基本原理二、STP 配置示例(华为交换机)1. 启用生成树协议2. 配置根桥3. 查…...

面向 C 语言项目的系统化重构实战指南
摘要: 在实际开发中,C 语言项目往往随着功能演进逐渐变得混乱:目录不清、宏滥用、冗余代码、耦合高、测试少……面对这样的“技术债积累”,盲目大刀阔斧只会带来更多混乱。本文结合 C 语言的特点,从项目评估、目录规划、宏与内联、接口封装、冗余剔除、测试与 CI、迭代重构…...
网络层——蚂蚁和信鸽的关系VS路由原理和相关配置
前言(🐜✉️🕊️) 今天内容的主角是蚂蚁(动态路由)和信鸽(静态路由),为什么这么说呢,来看一则小故事吧。 森林里,森林邮局要送一份重要信件&am…...

Python Pandas库简介及常见用法
Python Pandas库简介及常见用法 一、 Pandas简介1. 简介2. 主要特点(一)强大的数据结构(二)灵活的数据操作(三)时间序列分析支持(四)与其他库的兼容性 3.应用场景(一&…...

第十六届蓝桥杯复盘
文章目录 1.数位倍数2.IPv63.变换数组4.最大数字5.小说6.01串7.甘蔗8.原料采购 省赛过去一段时间了,现在复盘下,省赛报完名后一直没准备所以没打算参赛,直到比赛前两天才决定参加,赛前两天匆匆忙忙下载安装了比赛要用的编译器ecli…...

【已解决】HBuilder X编辑器在外接显示器或者4K显示器怎么界面变的好小问题
触发方式:主要涉及DPI缩放问题,可能在电脑息屏有概率触发 修复方式: 1.先关掉软件直接更改屏幕缩放,然后打开软件,再关掉软件恢复原来的缩放,再打开软件就好了 2.(不推荐)右键HBuilder在属性里…...

直线型绝对值位移传感器:精准测量的科技利刃
在科技飞速发展的今天,精确测量成为了众多领域不可或缺的关键环节。无论是工业自动化生产线上的精细操作,还是航空航天领域中对零部件位移的严苛把控,亦或是科研实验中对微小位移变化的精准捕捉,都离不开一款高性能的测量设备——…...
解决服务器重装之后vscode Remote-SSH无法连接的问题
在你的windows命令窗口输入: ssh-keygen -R 服务器IPssh-keygen 不是内部或外部命令 .找到Git(安装目录)/usr/bin目录下的ssh-keygen.exe(如果找不到,可以在计算机全局搜索) 2.属性–>高级系统设置–>环境变量–>系统变量,找到Path变量&#…...
AI 招聘系统科普:如何辨别真智能与伪自动化
一、传统招聘模式的效率困境 在数字化转型浪潮中,传统招聘模式的效率瓶颈日益凸显。以中大型企业为例,HR 约 60% 的工作时间消耗在重复操作上: 职位发布:需在多个渠道手动登录、填写字段,单次耗时超 20 分钟…...

Ansible模块——管理100台Linux的最佳实践
使用 Ansible 管理 100 台 Linux 服务器时,推荐遵循以下 最佳实践,以提升可维护性、可扩展性和安全性。以下内容结合实战经验进行总结,适用于中大型环境(如 100 台服务器): 一、基础架构设计 1. 分组与分层…...

从0开始学习大模型--Day09--langchain初步使用实战
众所周知,一味地学习知识,所学的东西和概念都是空中楼阁,大部分情况下,实战都是很有必要的,今天就通过微调langchain来更深刻地理解它。 中间如何进入到langchain界面请参考结尾视频链接。 首先,进入界面…...

C++中的菱形继承问题
假设有一个问题,类似于鸭子这样的动物有很多种,如企鹅和鱿鱼,它们也可能会有一些共同的特性。例如,我们可以有一个叫做 AquaticBird (涉禽,水鸟的一类)的类,它又继承自 Animal 和 Sw…...
订单越来越到导致接口列表查询数据缓慢解决思路
文章目录 **一、前期诊断:定位性能瓶颈****1. 数据现状分析****2. 业务场景梳理** **二、基础优化:快速提升性能****1. 索引精准优化****2. 表结构优化(垂直分表)****3. 读写分离与缓存策略** **三、架构升级:应对千万…...
word格式相关问题
页眉 1 去除页眉横线: 双击打开页眉,然后点击正文样式,横线就没有了。 2 让两部分内容的页眉不一样: 使用“分节符”区分两部分内容,分节符可以在“布局-分隔符”找到。然后双击打开页眉,取消“链接到前一…...

网络-MOXA设备基本操作
修改本机IP和网络设备同网段,输入设备IP地址进入登录界面,交换机没有密码,路由器密码为moxa 修改设备IP地址 交换机 路由器 环网 启用Turbo Ring协议:在设备的网络管理界面中,找到环网配置选项,启用Turb…...

飞桨paddle import fluid报错【已解决】
跟着飞桨的安装指南安装了paddle之后 pip install paddlepaddle有一个验证: import paddle.fluid as fluid fluid.install check.run check()报错情况如下,但是我在pip list中,确实看到了paddle安装上了 我import paddle别的包,…...

测试工程师要如何开展单元测试
单元测试是软件开发过程中至关重要的环节,它通过验证代码的最小可测试单元(如函数、方法或类)是否按预期工作,帮助开发团队在早期发现和修复缺陷,提升代码质量和可维护性。以下是测试工程师开展单元测试的详细步骤和方法: 一、理…...

IPv4 地址嵌入 IPv6 的前缀转换方式详解
1. 概述 在 IPv4 和 IPv6 网络共存的过渡期,NAT64(Network Address Translation 64)是一种关键技术,用于实现 IPv6-only 网络与 IPv4-only 网络的互操作。NAT64 前缀转换通过将 IPv4 地址嵌入到 IPv6 地址中,允许 IPv…...

野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(三)用yolov5-face算法实现人脸检测
环境直接使用第一篇中安装好的环境即可 先clone yolov5-face项目 git clone https://github.com/deepcam-cn/yolov5-face.git 并下载预训练权重文件yolov5n-face.pt 网盘链接: https://pan.baidu.com/s/1xsYns6cyB84aPDgXB7sNDQ 提取码: lw9j (野火官方提供&am…...
IS-IS 中间系统到中间系统
前言: 中间系统到中间系统IS-IS(Intermediate System to Intermediate System)属于内部网关协议IGP(Interior Gateway Protocol),用于自治系统内部 IS-IS也是一种链路状态协议,使用最短路径优先…...

【图像生成大模型】HunyuanVideo:大规模视频生成模型的系统性框架
HunyuanVideo:大规模视频生成模型的系统性框架 引言HunyuanVideo 项目概述核心技术1. 统一的图像和视频生成架构2. 多模态大语言模型(MLLM)文本编码器3. 3D VAE4. 提示重写(Prompt Rewrite) 项目运行方式与执行步骤1. …...
GitHub 趋势日报 (2025年05月19日)
本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1public-apis/public-apis免费API的集体清单⭐ 1821⭐ 344364Python2virattt/a…...

如何使用Java生成pdf报告
文章目录 一、环境准备与Maven依赖说明二、核心代码解析1. 基础文档创建2. 中文字体处理3. 复杂表格创建4. 图片插入 三、完整代码示例四、最终效果 这篇主要说一下如何使用Java生成pdf,包括标题,文字,图片,表格的插入和调整等相关…...
HarmonyOS鸿蒙应用规格开发指南
在鸿蒙生态系统中,应用规格是确保应用符合系统要求的基础。本文将深入探讨鸿蒙应用的规格开发实践,帮助开发者打造符合规范的应用。 应用包结构规范 1. 基本配置要求 包结构规范 符合规范的应用包结构正确的HAP配置文件完整的应用信息 示例配置&…...
【Harmony】【鸿蒙】List列表View如何刷新内部的自定义View的某一个控件
创建自定义View Component export struct TestView{State leftIcon?:Resource $r(app.media.leftIcon)State leftText?:Resource | string $r(app.string.leftText)State rightText?:Resource | string $r(app.string.rightText)State rightIcon?:Resource $r(app.med…...
iisARR负均衡
IIS ARR负载均衡详细配置指南 🎯 什么是ARR(Application Request Routing) ARR是IIS的一个扩展模块,它可以: 负载均衡:将请求分发到多个服务器反向代理:隐藏后端服务器架构健康检查…...
uniapp打包报错:重新在manifest.json中生成自己的APPID
在UniApp开发过程中,打包时可能会遇到报错提示需要在manifest.json中重新生成自己的APPID。以下是解决该问题的具体方法: 检查并生成APPID 打开项目根目录下的manifest.json文件,找到appid字段。如果该字段为空或为默认值,需要重…...

人脸识别备案开启安全防护模式!紧跟《办法》!
国家互联网信息办公室与公安部于 2025 年 3 月 13 日联合公布了《人脸识别技术应用安全管理办法》(以下简称《办法》),并自 2025 年 6 月 1 日起正式施行。其中,人脸识别备案成为了规范技术应用、守护信息安全的关键一环。 一、…...
【爬虫】DrissionPage-7
官方文档: https://www.drissionpage.cn/browser_control/get_page_info/ 1. 页面信息 📌 html 描述:返回当前页面的 HTML 文本。注意:不包含 <iframe> 元素的内容。返回类型:str 示例: html_co…...

新浪《经济新闻》丨珈和科技联合蒲江政府打造“数字茶园+智能工厂+文旅综合体“创新模式
5月14日,新浪网《经济新闻》频道专题报道珈和科技在第十四届四川国际茶业博览会上的精彩亮相,并深度聚焦我司以数字技术赋能川茶产业高质量发展创新技术路径,及在成都市“茶业建圈强链”主题推介会上,珈和科技与蒲江县人民政府就智…...