HCIE数通-二层破环专题(终章):ERPS标准化的以太环网保护协议
HCIE数通-二层破环专题(终章):ERPS标准化的以太环网保护协议

大家好。前几篇文章我们深入探讨了STP/RSTP/MSTP的演进、华为私有RRPP环网协议、以及SEP智能以太网保护技术。今天,我们把目光投向环网保护技术的“集大成者“--ERPS(Ethernet Ring Protection Switching,以太环网保护切换)。
ERPS是ITU-T制定的国际标准(G.8032),它吸取了EAPS、RPR、SDH、STP等众多环网保护技术的优点,在实现50ms级快速倒换的同时,支持多环、多域结构,并可实现负载分担。
如果说RRPP和SEP是华为的“独门绝技”,那ERPS就是可以在全球范围内、多厂商设备间互联互通的“通用语言”。今天,我们就从理论到实践,再到HCIE考题,把ERPS彻底讲透。
一、ERPS是什么?它解决了什么问题?
1. 定义
ERPS(Ethernet Ring Protection Switching,以太环网保护切换) 是ITU-T(国际电信联盟)制定的二层环网保护标准,标准号为G.8032 ,因此也常被称为G.8032 。
ERPS专门用于以太网环状拓扑,通过快速检测链路故障并自动切换流量路径,实现网络的高可用性。当环网完整时,它通过阻塞特定端口防止环路;当链路或节点故障时,它能在50毫秒内 完成倒换,保障业务不中断。
2. 为什么需要ERPS?
回顾我们之前讲过的环网协议:
| 协议 | 优点 | 局限 |
|---|---|---|
| STP/RSTP/MSTP | 标准协议,支持任意拓扑 | 收敛速度慢(秒级),无法满足实时业务要求 |
| RRPP | 收敛速度快(<50ms) | 华为私有协议,无法多厂商互通 |
| SEP | 收敛快、拓扑可视、支持任意拓扑 | 华为私有协议,无法多厂商互通 |
那么,有没有一种协议,既有RRPP的快速收敛性能,又像STP一样是国际标准、支持多厂商互通?ERPS应运而生。
2008年12月,ITU-T正式发布了G.8032标准,标志着以太环网保护技术真正具备了成熟商用的条件,各厂家基于标准的互通成为可能。
3. ERPS的核心优势
根据ITU-T G.8032标准和华为官方文档,ERPS具有以下关键优势:
| 优势 | 说明 |
|---|---|
| 快速故障恢复 | 采用R-APS协议进行实时监控与自动切换,可在50毫秒内 完成流量切换 |
| 国际标准 | ITU-T制定,支持同品牌或跨品牌交换机协同运作,降低建置与整合成本 |
| 环路防护 | 通过RPL(Ring Protection Link)机制有效防止环网中的广播风暴 |
| 弹性拓扑 | 支持单环、多环、子环与组合环状拓扑,具备高灵活性和扩展性 |
| 多实例支持 | ERPSv2版本支持多实例,可实现不同VLAN流量的负载分担 |
| 灵活恢复模式 | 支持回切(Revertive)和非回切(Non-revertive)两种模式 |
| 多种切换方式 | 支持强制切换(Force Switch)和手工切换(Manual Switch) |
二、ERPS的核心概念
在深入配置之前,我们必须掌握ERPS的核心术语。这些概念贯穿整个ERPS体系,也是HCIE考试的高频考点。

1. ERPS环
ERPS环是由一组配置了相同的控制VLAN且互连的二层交换设备构成的环形拓扑,是ERPS协议的基本单位。
ERPS环分为主环 和子环 :
- 主环(Major Ring) :封闭的环,是网络的核心骨干
- 子环(Sub-Ring) :非封闭的环,嵌套于主环中,通过虚拟通道与主环互通
注意 :子环的配置只有ERPSv2版本支持,v1版本不支持。
2. 节点
加入ERPS环的二层交换设备称之为节点 。每个节点不能多于两个端口加入同一个ERPS环。
3. 端口角色
ERPS协议中规定,端口主要有三种角色:
| 端口角色 | 说明 |
|---|---|
| RPL owner端口 | 一个ERPS环只有一个RPL owner端口,由用户配置决定。通过阻塞RPL owner端口转发用户流量来防止环路。当环网故障时,该端口自动放开,恢复流量转发。RPL owner端口所在的链路即为环保护链路RPL(Ring Protection Link) 。 |
| RPL neighbour端口 | RPL neighbour端口是与RPL owner端口直接相连的端口。正常情况下,RPL owner端口和RPL neighbour端口都会被阻塞。当环网出现故障时,两者都会被放开。引入此角色可以减少刷新FDB表项的次数。注意 :RPL neighbour端口只有ERPSv2版本支持。 |
| 普通端口 | 在ERPS环中,除RPL owner端口和RPL neighbour端口以外的端口都是普通端口。普通端口负责监测自己直连的链路状态,并把变化及时通知其他端口。 |
4. 端口状态
在ERPS环中,启动ERPS协议的端口状态分为两种:
| 状态 | 说明 |
|---|---|
| Forwarding | 端口既转发用户流量,又接收/发送ERPS协议报文 |
| Discarding | 端口仅能发送和接收ERPS协议报文,不转发用户流量 |
5. 控制VLAN与数据VLAN
- 控制VLAN :专门用于传递ERPS协议报文(如R-APS报文)。每个ERPS环必须配置控制VLAN,不同ERPS环不能使用相同ID的控制VLAN。
- 数据VLAN :与控制VLAN相对,用来传递用户数据报文。
6. 保护实例
对于运行ERPS协议的二层设备,传递ERPS协议报文和数据报文的VLAN必须映射到保护实例 中,这样ERPS协议才会按照其阻塞原则对这些报文进行转发或阻塞。否则,VLAN报文可能会在成环的网络中产生广播风暴。
7. ERPS定时器
ERPS协议中使用多种定时器来保证故障检测和恢复的可靠性:
| 定时器 | 作用 | 说明 |
|---|---|---|
| Guard Timer | 防止收到过期的故障RAPS报文 | 链路故障恢复后启动,超时前不处理RAPS报文。默认200厘秒(2秒) |
| WTR Timer(Wait to Restore) | 防止网络震荡 | 故障恢复后,等待一段时间再阻塞RPL owner端口。默认1分钟 |
| Holdoff Timer | 延迟故障上报 | 多层业务场景中,给上层业务恢复时间。默认0厘秒 |
| WTB Timer(Wait to Block) | 防止阻塞点震荡 | 清除手工切换状态时启用。不支持配置,默认7秒 |
8. 回切/非回切模式
当ERPS链路恢复正常后,可以通过设置回切模式来决定是否重新阻塞RPL owner端口:
- 回切模式(Revertive) :故障链路恢复后,等待WTR时间后,重新阻塞RPL owner端口,流量切回原路径。这是缺省模式 。
- 非回切模式(Non-revertive) :故障链路恢复后,不阻塞RPL owner端口,流量继续走备用路径,不会重新切回。
注意 :ERPSv1版本只支持回切模式,ERPSv2版本两种模式都支持。
9. 阻塞点切换方式
ERPS支持通过人为配置来干预端口的阻塞:
- 强制切换(Force Switch) :配置了强制切换的端口会马上被阻塞,不管环上其他链路是否存在故障 。
- 手工切换(Manual Switch) :只有当环的状态为Idle或Pending时,配置手工切换的端口才会阻塞,否则不阻塞。
- 清除操作 :清除本地配置的手工切换和强制切换功能,或手工触发回切动作。
注意 :阻塞点切换方式是ERPSv2版本的功能,v1版本不支持。
10. 子环RAPS报文传输方式
ERPSv2版本支持相交环等多环组网,子环RAPS报文传输方式分为两种:
| 传输方式 | 说明 | 优点 | 缺点 |
|---|---|---|---|
| 虚通道(VC,Virtual-Channel) | 子环的RAPS协议报文通过相交节点在主环内运行,相交节点不终结子环协议报文 | 可应用于子环链路不连续的复杂组网 | 需要为虚通道预留资源、分配控制VLAN ID |
| 非虚通道(NVC,Non-Virtual-Channel) | 子环的RAPS协议报文在相交节点上终结,阻塞端口仅阻塞数据流量 | 不需要相邻网络预留资源、分配控制VLAN ID | 不能应用于子环链路不连续的特殊组网 |
缺省情况下,子环RAPS报文传输方式为非虚通道方式 。

三、ERPS的工作原理
ERPS采用R-APS(Ring Automatic Protection Switching,环网自动保护切换)协议 进行环状网络状态监控与切换控制。下面我们以单环为例,按照链路正常→链路故障→链路恢复的过程,详细拆解ERPS的运行机制。
1. 链路正常状态
如图(参考华为官方文档)所示,由SwitchA~SwitchE组成的环路上各设备通信正常。
- 为防止环路产生,ERPS首先会阻塞RPL owner端口 。如果配置了RPL neighbour端口,该端口同样会被阻塞。
- 其他端口正常转发业务流量。
- RPL owner端口以5秒 为周期向环中其他节点发送NRRB RAPS报文 (No Request, RPL Blocked),表示ERPS环当前链路一切正常。
此时环的状态为Idle (空闲状态)。
2. 链路故障状态
当SwitchD和SwitchE之间的链路发生故障时,ERPS协议启动保护倒换机制:
第一步:故障检测与本地处理
- SwitchD和SwitchE检测到链路故障,将故障链路上的端口阻塞 (Discarding),并刷新本设备的FDB表项。
第二步:故障通告
- SwitchD和SwitchE向外发送携带本地端口链路故障消息的SF RAPS报文 (Signal Fail)。
- 一旦感知到链路故障,会连续发送3个相同的RAPS报文 ,然后以5秒的间隔持续稳定发送。
第三步:全网响应与倒换
- 其他设备收到SF RAPS报文后,都刷新本设备的FDB表项。
- 当SwitchC(RPL owner端口所在设备)收到该报文后,放开RPL owner端口 (Forwarding),并刷新自己的FDB表项。
- 当SwitchB(RPL neighbour端口所在设备)收到RAPS报文后,放开RPL neighbour端口 ,并刷新自己的FDB表项。
结果 :故障链路被阻塞,备用路径(RPL)被放开,流量通过SwitchC→SwitchD→SwitchE路径转发,业务不中断。
此时环的状态变为Protection (保护状态)。
3. 链路恢复状态
以回切模式 为例,链路恢复正常后的处理过程如下:
第一步:链路恢复与防护
- 当SwitchD和SwitchE之间的链路恢复后,为了防止收到过期的RAPS协议报文,分别启动Guard Timer定时器 ,在该定时器超时前不接收其他RAPS报文。
- 同时向外发送NR RAPS报文 (No Request)。
第二步:等待恢复
- 当RPL owner端口所在设备(SwitchC)收到NR RAPS报文后,启动WTR Timer定时器 。
- 该定时器的作用是:防止立即阻塞RPL owner端口而引起网络震荡。
第三步:恢复原状
- 当WTR Timer定时器超时后,RPL owner端口被阻塞 (Discarding),同时向外发送NRRB RAPS报文 。
- SwitchD和SwitchE收到NRRB RAPS报文后,将自己设备上原来阻塞的端口放开 (Forwarding),停止发送NR RAPS报文,并刷新FDB表项。
- 其他设备收到NRRB RAPS报文后,也完成FDB表项的刷新。
此时环的状态恢复为Idle 。
非回切模式 下,链路故障恢复后不启动WTR Timer,阻塞链路还保持在原来的故障链路上,不会重新切回到RPL上。
4. 保护倒换(强制切换/手工切换)
ERPS支持人为干预阻塞点。以强制切换为例:
- 在SwitchE与SwitchD相连的端口上执行强制切换,该端口被阻塞。
- SwitchE向外发送FS RAPS报文 (Forced Switch)。
- 其他设备收到FS RAPS报文后,刷新FDB表项。SwitchC和SwitchB收到后,分别放开RPL owner端口和RPL neighbour端口。
执行清除操作后,被强制阻塞的端口会发送NR RAPS报文,并根据回切/非回切模式决定是否重新阻塞RPL owner端口。
此时环的状态变为ForcedSwitch 或ManmualSwitch 。
四、ERPS多实例:负载均衡的实现
1. 为什么需要多实例?
在普通的ERPS组网中,一个物理环上只能配置一个ERPS环,也只能指定一个阻塞点。这意味着:
- 所有业务数据在ERPS环上只能通过一条路径 传输
- 阻塞端口另一侧的链路完全空闲 ,造成带宽浪费
2. 多实例的原理
ERPS多实例支持在同一个物理环路上配置两个逻辑ERPS环路 。每个ERPS环:
- 有自己的控制VLAN、端口角色和阻塞点
- 配置一个保护实例,每个保护实例代表一个VLAN范围
- 不同ERPS环计算出的拓扑仅对该ERPS环有效,互不影响
3. 多实例应用示例
如图(参考华为官方文档)所示,在RouterA~RouterE组成的物理环路上配置ERPS Ring1和ERPS Ring2:
- ERPS Ring1 :阻塞端口为Interface1,保护实例对应VLAN 100~200
- ERPS Ring2 :阻塞端口为Interface2,保护实例对应VLAN 300~400
配置完成后:
- VLAN 100~200的流量按照Data Flow1 路径转发
- VLAN 300~400的流量按照Data Flow2 路径转发
效果 :实现了流量的负载分担 ,最大化利用了链路资源。
ERPSv1与ERPSv2
ERPS目前有ERPSv1和ERPSv2两个版本,ERPSv1是ITU-T在2008年6月发布的版本,ERPSv2是ITU-T在2010年8月发布的版本。ERPSv2完全兼容ERPSv1,并在ERPSv1的基础上进行了功能扩展。ERPSv1和ERPSv2的区别如所示。
| ERPSv1和ERPSv2比较 | 功能 | ERPSv1 | ERPSv2 |
|---|---|---|---|
| :- | :- | :- |
| 创建环 | 只支持创建单环,不支持配置子环。 | 支持创建多环,可以配置主环和子环。 |
|---|---|---|
| 配置端口角色 | 支持配置RPL owner和普通端口。 | 在支持配置RPL owner和普通端口基础上,还支持配置RPL neighbour端口。 |
| 配置网络拓扑变化通告 | 不支持该功能。 | 支持该功能。 |
| 子环传输R-APS报文采用虚通道或非虚通道 | 不支持该功能。 | 支持该功能。 |
| 回切\非回切模式 | 默认为回切模式,不支持配置,不支持非回切模式。 | 支持配置为回切模式或非回切模式。 |
| 手工切换阻塞点 | 不支持该功能。 | 支持该功能,且支持强制切换和手工切换。 |
五、ERPS配置实战(基于华为设备)
1. 单环配置示例
拓扑 :四台交换机组成单环,要求实现50ms级故障倒换。

# 全局使能ERPS(华为设备默认未使能)[SW1] erps enable
# 创建ERPS环1,配置控制VLAN为100[SW1] erps ring 1[SW1-erps-ring1] control-vlan 100
# 配置保护实例(假设所有VLAN都受保护)[SW1-erps-ring1] protected-instance 0
# 配置端口角色(GE0/0/1为RPL owner端口)[SW1-erps-ring1] port gigabitethernet 0/0/1 rpl owner[SW1-erps-ring1] port gigabitethernet 0/0/2
# 使能ERPS环[SW1-erps-ring1] active[SW1-erps-ring1] quit
# 将接口加入控制VLAN和数据VLAN[SW1] interface gigabitethernet 0/0/1[SW1-GigabitEthernet0/0/1] port link-type trunk[SW1-GigabitEthernet0/0/1] port trunk allow-pass vlan 100 10 to 20[SW1-GigabitEthernet0/0/1] quit
# 配置其他交换机类似,但端口角色不同# 其他节点配置普通端口,不需要指定rpl owner
2. 多实例配置示例
场景 :同一物理环上运行两个ERPS实例,实现不同VLAN流量的负载分担。
# 配置ERPS实例1(保护VLAN 100-200)[SW1] erps ring 1[SW1-erps-ring1] control-vlan 100[SW1-erps-ring1] protected-instance 1[SW1-erps-ring1] port gigabitethernet 0/0/1 rpl owner[SW1-erps-ring1] port gigabitethernet 0/0/2[SW1-erps-ring1] active[SW1-erps-ring1] quit
# 配置ERPS实例2(保护VLAN 300-400)[SW1] erps ring 2[SW1-erps-ring2] control-vlan 200[SW1-erps-ring2] protected-instance 2[SW1-erps-ring2] port gigabitethernet 0/0/2 rpl owner # 注意:不同实例的阻塞点可以不同[SW1-erps-ring2] port gigabitethernet 0/0/1[SW1-erps-ring2] active[SW1-erps-ring2] quit
3. 回切模式配置
# 配置回切模式(缺省即为回切模式)[SW1-erps-ring1] revertive# 或配置非回切模式[SW1-erps-ring1] non-revertive
# 配置WTR定时器(缺省1分钟)[SW1-erps-ring1] wtr-timer 2
4. 验证命令
# 查看所有ERPS环的简要信息display erps
# 查看指定ERPS环的详细信息display erps ring 1 verbose
# 查看ERPS环统计信息display erps statistics ring 1
# 示例输出(参考华为官方文档)[citation:2]<HUAWEI> display erps ring 1 verboseRing ID : 1Control Vlan : 100Protected Instance : 0WTR Timer Setting (min) : 1 Running (s) : 0Guard Timer Setting (csec) : 200 Running (csec) : 0Ring State : IdleRevertive Mode : RevertiveVersion : 2Sub-ring : NoForced Switch Port : -Manual Switch Port : -
Port Port Role Port Status Signal Status----------------------------------------------------------------GE0/0/1 RPL Owner Discarding Non-failedGE0/0/2 Common Forwarding Non-failed
5. 配置注意事项
根据华为官方文档,ERPS配置有以下要点:
- 每个ERPS环必须配置控制VLAN
- 不同ERPS环不能使用相同ID的控制VLAN
- 传递ERPS协议报文和数据报文的VLAN必须映射到保护实例 中
- 一个ERPS环只有一个RPL owner端口
- RPL neighbour端口只有ERPSv2版本支持
- 子环配置只有ERPSv2版本支持
六、ERPS与RSTP的对比
| 对比维度 | ERPS | RSTP |
|---|---|---|
| 标准制定 | ITU-T G.8032国际标准 | IEEE 802.1w国际标准 |
| 收敛速度 | <50ms | 数百毫秒到数秒 |
| 拓扑支持 | 单环、多环、子环、组合环 | 树状拓扑为主,拓朴灵活性较低 |
| 恢复模式 | 支持回切/非回切两种模式 | 自动回切 |
| 阻塞点控制 | 支持强制切换、手工切换 | 不支持人工干预 |
| 负载均衡 | 支持多实例负载分担 | 不支持(MSTP才支持) |
| 配置复杂度 | 较高(需规划控制VLAN、保护实例) | 简单 |
| 适用场景 | 电信网络、智能交通、数据中心等需快速恢复的环境 | 中小型企业网络 |
选型建议 :
- ✅ 推荐ERPS的场景 :
- 需要50ms级快速倒换 的关键业务(工业自动化、智能交通、电力系统)
- 多厂商设备混合组网 (标准协议,互通性好)
- 需要多环、子环复杂拓扑 的大型网络
- 需要灵活阻塞控制 (强制切换、手工切换)
- ✅ 推荐RSTP的场景 :
- 中小型网络,对收敛速度要求不高
- 需要简单配置、快速部署
- 树状拓扑为主
七、HCIE考题实例分析
考题描述(HCIE综合题)
某大型企业采用华为交换机组建ERPS环网,由6台交换机组成单环,RPL owner端口设置在SwitchA的GE0/0/1。网络运行正常。某日,运维人员报告在SwitchC和SwitchD之间链路故障时,业务中断时间超过了200ms,不满足SLA(Service Level Agreement)要求。请分析可能的原因,并给出优化方案。
分析思路
- 检查ERPS收敛时间标准
- ERPS标准收敛时间为50ms ,超过200ms说明配置或链路存在问题。
- 检查定时器配置
- 检查Guard Timer 是否过大,导致故障恢复后长时间不处理RAPS报文
- 检查Holdoff Timer 是否配置过大,导致故障上报延迟
- 检查R-APS报文传输
- 确认R-APS报文是否正常收发
- 检查控制VLAN配置是否正确,是否被阻塞
- 检查链路质量
- 确认故障链路是否存在频繁闪断
- 检查端口协商模式是否正常
优化方案
- 优化定时器配置 :
[SwitchA-erps-ring1] guard-timer 100 # 将Guard Timer从200厘秒降低到100厘秒[SwitchA-erps-ring1] holdoff-timer 0 # 取消Holdoff Timer延迟
- 启用快速检测 :
# 调整R-APS报文发送间隔(默认5秒,可通过修改Hello定时器优化)# 注:华为设备中R-APS报文发送间隔与Hello定时器关联
- 检查控制VLAN :
display erps ring 1 verbose # 确认控制VLAN配置正确
- 升级ERPS版本 :
# 如果当前是ERPSv1,考虑升级到v2以获得更多优化特性[SwitchA-erps-ring1] version 2
答案要点
- 原因 :Guard Timer或Holdoff Timer配置过大,导致故障检测和倒换延迟;或控制VLAN配置错误导致R-APS报文转发受阻。
- 解决方案 :优化定时器配置,确保控制VLAN正确配置并放行。
八、总结与思考
| 关键点 | 说明 |
|---|---|
| ERPS定位 | ITU-T G.8032国际标准环网保护协议,支持多厂商互通 |
| 核心机制 | R-APS协议监控、RPL链路保护、定时器协同 |
| 端口角色 | RPL owner、RPL neighbour(v2)、普通端口 |
| 端口状态 | Forwarding(转发)/ Discarding(阻塞) |
| 组网形态 | 单环、多环、主环+子环(v2) |
| 恢复模式 | 回切模式(缺省)/ 非回切模式(v2) |
| 切换方式 | 自动倒换、强制切换、手工切换(v2) |
| 高级特性 | 多实例负载均衡(v2) |
| 收敛时间 | <50ms |
| HCIE考点 | 多环组网配置、定时器调优、故障排查、负载均衡设计 |
ERPS作为ITU-T制定的国际标准,以其50ms级快速倒换 、多厂商互通 、灵活拓扑支持 等优势,在电信网络、工业自动化、智能交通、数据中心等对可靠性要求极高的场景中发挥着不可替代的作用。掌握ERPS,不仅能让你在HCIE考试中游刃有余,更能让你在面对复杂网络设计时,多一份从容和底气。
九、ERPS与其他环网协议的对比总结
| 协议 | 标准 | 收敛速度 | 拓扑支持 | 负载均衡 | 互通性 | 适用场景 |
|---|---|---|---|---|---|---|
| STP | IEEE 802.1D | 30-50秒 | 任意 | 不支持 | 标准 | 小型网络 |
| RSTP | IEEE 802.1w | 1-3秒 | 任意 | 不支持 | 标准 | 中型网络 |
| MSTP | IEEE 802.1s | 1-3秒 | 任意 | 支持 | 标准 | 大型园区网 |
| RRPP | 华为私有 | <50ms | 环网 | 支持 | 仅华为 | 华为环网 |
| SEP | 华为私有 | <50ms | 任意 | 支持 | 仅华为 | 华为混合组网 |
| ERPS | ITU-T G.8032 | <50ms | 环网(v2多环) | 支持(v2多实例) | 标准 | 多厂商环网、工业场景 |

💡 文末互动 :你在实际工作中使用过ERPS协议吗?遇到过哪些坑?或者你对ERPS的哪个特性最感兴趣?欢迎在评论区分享你的经验!
📌 关注公众号,后台回复【HCIE数通】获取本文笔记、教程、实验拓扑文件,最新版ENSP PRO的朋友请订阅后续系列文章。
下期预告 :WAN技术篇 | PPP与MP:广域网链路中的“可靠”与“提速”艺术。我们将走出局域网,探索广域网技术的奥秘!
往期回顾:
HCIE数通-二层破环专题,SEP华为智能以太网保护协议的深度解析与实战
HCIE数通-二层破环专题(RRPP):华为环网保护协议的深度解析与实战
HCIE数通-二层破环专题(上): STP/RSTP/MSTP:从“死锁”到“负载均衡”的进化史
HCIE数通-网络基石篇:OSI与TCP/IP、你真的理解数据包的“一生”吗?
RHCE认证:
RHCE认证考试学习(十一):计划任务与Ansible自动化
RHCE认证学习笔记(八):防火墙与SELinux,筑牢系统安全防线
RHCE认证学习笔记(六):软件包管理 – 从RPM到YUM仓库
#HCIE数通 #HCIE考试 #HCIE教程 #HCIE实验 #HCIE网络工程师 #ENSP #ensppro #二层破环技术 #ERPS #华为ERPS破环技术
标题:HCIE数通-二层破环专题(终章):ERPS标准化的以太环网保护协议
作者:shuaiqijun
地址:https://shuaiqijun.com/articles/2026/03/26/1774506037525.html

