F
Member
工业以太网的冗余方案,宣传页上都是"零切换"。但零切换的前提条件、限制范围、以及对网络架构的要求,很少有人说清楚。这篇把 RSTP、PRP、HSR 三套机制的边界讲清楚,并给一组我们实测的收敛数据。
一、三套机制的本质区别
RSTP(快速生成树)
原理:逻辑上禁用一个端口,断链后重新计算路径
本质是"先断再通",所以一定存在中断时间
实测:8 台环网、无负载时 20~80 ms;30 台环网、70% 负载时 200~800 ms
结论:适合对中断不敏感的场景(一般工业控制、监控)
PRP(并行冗余协议,IEC 62439-3 Clause 4)
原理:报文同时从两个独立网络发出,接收端按序列号去重
本质是"双份发送",无切换动作,所以中断为 0
代价:需要两套完全独立的网络(双网卡、双交换机、双链路)
适用:变电站自动化、轨道交通信号
HSR(高可用性无缝冗余,IEC 62439-3 Clause 5)
原理:报文在环上双向传输,接收端取先到的一份
本质是"环网冗余",中断为 0
代价:环上每个节点都要支持 HSR,且环网带宽被占用一倍
适用:环状拓扑的现场总线替代
二、零切换的真实含义
"零切换"不等于"零丢包"。这两种情况仍然会丢:
1) 单节点故障:PRP/HSR 保护的是链路与路径,节点本身宕机,该节点的业务照样中断
2) 环网重构期间的新节点加入:HSR 在节点上下线时会短暂阻断环网流量,取决于实现的"环闭合"机制
所以设计时要问一句:我要保护的是链路故障,还是节点故障?
链路故障用 PRP/HSR;节点故障只能靠应用层冗余(双机热备)。
三、实测方法(这套方法比看参数表靠谱)
测试拓扑:8 台交换机组成环网,中间节点接入测试仪
背景流量:70% 线速,组播 + 单播混合
测试动作:物理拔掉一段光纤,30 秒后插回
测量项:
业务中断时长 = 丢包数 ÷ 发送速率
拓扑收敛时间 = 生成树日志的拓扑变更时间戳差
恢复后是否有乱序或重复帧
多次循环(建议 20 次)统计最大值,不要只看平均
我们测下来的典型值:
RSTP 8 节点:平均 45 ms,最大 120 ms
RSTP 30 节点:平均 210 ms,最大 900 ms
PRP:0 ms(链路级),但节点重启时约 3 s
HSR:0 ms(链路级),节点上下线时 1~5 s(取决于环闭合实现)
四、工业现场最常见的三个配置错误
错误 1:PRP 的两个网络没有真正独立
常见做法是两套交换机级联在一起做管理,结果一条管理链路故障把两套网络连成环,
反而产生广播风暴。PRP 要求两个局域网物理隔离,管理面也要分离。
错误 2:HSR 环网混入不支持 HSR 的节点
HSR 环上任何一个节点不支持,整个环就退化成普通环网,零切换失效。
常见的坑是接入了一台普通交换机做分支。
错误 3:组播没有做冗余路径抑制
组播在冗余拓扑里会走多条路径,如果没有正确的去重或剪枝,
接收端会收到重复报文,应用层可能表现为数据错乱。
五、和光口的关系
工业环网大量使用光纤,这里有两个细节:
1) 光口故障检测时间
RSTP 依赖链路状态变化触发,光口的光丢失检测(LOS)时间通常是微秒级,没问题。
但如果是通过光模块的 DDM 告警触发,采样周期可能是秒级,会拖慢收敛。
所以环网端口要做"快速链路检测",不要依赖 DDM。
2) 光模块的链路闪断
劣质光模块在温度变化时会出现毫秒级闪断,这类闪断会触发 RSTP 重收敛,
表现为"网络时不时卡一下"。排查时看生成树日志的变更频率,
如果一天几十次,先查光模块与跳线,不要怀疑协议配置。
六、选型建议
一般工业控制:RSTP,够用且成本低
流程工业、变电站:PRP,双网冗余
轨交、环形拓扑现场:HSR
要求确定性且节点多:考虑 TSN(802.1Qbv)配合冗余,但生态仍在成熟
—— 北亿纤通(F-tone Networks)工业网络技术团队
技术资料:https://www.f-tone.com
一、三套机制的本质区别
RSTP(快速生成树)
原理:逻辑上禁用一个端口,断链后重新计算路径
本质是"先断再通",所以一定存在中断时间
实测:8 台环网、无负载时 20~80 ms;30 台环网、70% 负载时 200~800 ms
结论:适合对中断不敏感的场景(一般工业控制、监控)
PRP(并行冗余协议,IEC 62439-3 Clause 4)
原理:报文同时从两个独立网络发出,接收端按序列号去重
本质是"双份发送",无切换动作,所以中断为 0
代价:需要两套完全独立的网络(双网卡、双交换机、双链路)
适用:变电站自动化、轨道交通信号
HSR(高可用性无缝冗余,IEC 62439-3 Clause 5)
原理:报文在环上双向传输,接收端取先到的一份
本质是"环网冗余",中断为 0
代价:环上每个节点都要支持 HSR,且环网带宽被占用一倍
适用:环状拓扑的现场总线替代
二、零切换的真实含义
"零切换"不等于"零丢包"。这两种情况仍然会丢:
1) 单节点故障:PRP/HSR 保护的是链路与路径,节点本身宕机,该节点的业务照样中断
2) 环网重构期间的新节点加入:HSR 在节点上下线时会短暂阻断环网流量,取决于实现的"环闭合"机制
所以设计时要问一句:我要保护的是链路故障,还是节点故障?
链路故障用 PRP/HSR;节点故障只能靠应用层冗余(双机热备)。
三、实测方法(这套方法比看参数表靠谱)
测试拓扑:8 台交换机组成环网,中间节点接入测试仪
背景流量:70% 线速,组播 + 单播混合
测试动作:物理拔掉一段光纤,30 秒后插回
测量项:
业务中断时长 = 丢包数 ÷ 发送速率
拓扑收敛时间 = 生成树日志的拓扑变更时间戳差
恢复后是否有乱序或重复帧
多次循环(建议 20 次)统计最大值,不要只看平均
我们测下来的典型值:
RSTP 8 节点:平均 45 ms,最大 120 ms
RSTP 30 节点:平均 210 ms,最大 900 ms
PRP:0 ms(链路级),但节点重启时约 3 s
HSR:0 ms(链路级),节点上下线时 1~5 s(取决于环闭合实现)
四、工业现场最常见的三个配置错误
错误 1:PRP 的两个网络没有真正独立
常见做法是两套交换机级联在一起做管理,结果一条管理链路故障把两套网络连成环,
反而产生广播风暴。PRP 要求两个局域网物理隔离,管理面也要分离。
错误 2:HSR 环网混入不支持 HSR 的节点
HSR 环上任何一个节点不支持,整个环就退化成普通环网,零切换失效。
常见的坑是接入了一台普通交换机做分支。
错误 3:组播没有做冗余路径抑制
组播在冗余拓扑里会走多条路径,如果没有正确的去重或剪枝,
接收端会收到重复报文,应用层可能表现为数据错乱。
五、和光口的关系
工业环网大量使用光纤,这里有两个细节:
1) 光口故障检测时间
RSTP 依赖链路状态变化触发,光口的光丢失检测(LOS)时间通常是微秒级,没问题。
但如果是通过光模块的 DDM 告警触发,采样周期可能是秒级,会拖慢收敛。
所以环网端口要做"快速链路检测",不要依赖 DDM。
2) 光模块的链路闪断
劣质光模块在温度变化时会出现毫秒级闪断,这类闪断会触发 RSTP 重收敛,
表现为"网络时不时卡一下"。排查时看生成树日志的变更频率,
如果一天几十次,先查光模块与跳线,不要怀疑协议配置。
六、选型建议
一般工业控制:RSTP,够用且成本低
流程工业、变电站:PRP,双网冗余
轨交、环形拓扑现场:HSR
要求确定性且节点多:考虑 TSN(802.1Qbv)配合冗余,但生态仍在成熟
—— 北亿纤通(F-tone Networks)工业网络技术团队
技术资料:https://www.f-tone.com