以太网、Wi-Fi 与蜂窝网络故障切换:验收测试应覆盖哪些内容

工业物联网网关可能显示以太网链路已建立、Wi-Fi 已连接或蜂窝网络已注册,但遥测数据实际上已无法到达目的地。因此,有效的以太网、Wi-Fi 与蜂窝网络故障切换验收测试,应跟踪一条记录从采集到约定应用端点的完整过程,还应验证交付中断期间以及首选网络恢复后的系统行为。

以下框架用于编写项目专属的验收要求,不代表任何 Obeita 产品经过测试的性能或得到保证的能力。

断开任何连接前,先明确交付约定

约定支持的接口、优先级顺序、允许的蜂窝网络使用量,以及回切采用自动、手动还是定时方式。以太网、Wi-Fi 和蜂窝网络不一定按此顺序排列优先级。识别共用依赖项:两个接口如果使用同一个上游路由器、DNS 服务或后端,可能同时失效。

准备隔离的测试环境、经批准的故障注入方法、恢复流程、具有代表性的数据载荷,以及实际使用的固件和配置。记录接入点设置、SIM/APN 与运营商、IP 版本、路由与防火墙规则、DNS 配置、消息代理设置和证书要求。使用已脱敏且不含凭据的配置导出文件。

为网关、网络、消息代理和最终消费端配置观测手段。为每条测试记录分配稳定的事件标识符、源时间戳和序列号。同步时钟并记录其不确定度;本地耗时测量使用单调时钟。明确成功是指收到消息代理确认、完成数据库持久化,还是达成其他可观测的业务结果。

健康状态测试不能止于链路指示灯

分别检查本地接入、地址分配与路由、DNS、TCP/TLS、消息代理访问以及应用处理。ping 测试不会验证 DNS 或消息代理。TLS 握手成功也不能证明遥测记录已被处理。

对于使用 NetworkManager 的网关,文档规定的连通性检查会请求已配置的 URI 并评估响应。该结果仅说明所配置的检查成功,并不是应用验收测试。应检查配置,而不是默认连通性监测已经启用。参见NetworkManager 连通性参考文档。

通过各候选路径预定的接口和路由分别进行探测,并检查其 DNS 行为。否则,健康的活动连接可能掩盖备用路径故障。区分单一路径故障与所有路径共用的后端服务中断;反复切换接口无法修复已失效的共用服务。

Six layers of gateway health checks from physical link readiness through confirmed application delivery, with separate checks on Ethernet, Wi-Fi, and cellular paths.
图 1. 每项观测验证交付路径中的不同环节。应单独测试各候选路径,避免活动路由掩盖备用路径故障。

明确切换与回切决策

规定探测目标、间隔、超时、连续失败阈值、备用路径就绪检查、重试退避策略和最小驻留时间。设定恢复到首选链路前所需的健康探测阈值或稳定持续时间。这种滞回机制可避免短暂恢复触发反复切换。

记录每类故障对应的预期操作。例如,WAN 黑洞可能需要切换路径,而应用整体拒绝请求则应触发独立告警和有界重试。无效证书必须继续作为错误处理,不能因此禁用证书校验。TLS 1.3 定义了与证书相关的错误警报;应单独记录错误原因,与可达性超时区分开来。

预期连接会变化,并验证数据恢复

切换接入网络可能改变源地址或 NAT 映射。普通 TCP 通过两端的套接字标识连接,具体见RFC 9293。仅仅发生路由变更,并不能说明现有连接仍然有效。应明确测试连接中断检测、TCP 重连、TLS 身份认证和 MQTT 重连。

MQTT 会话连续性与网络连接是两回事。验证 Client ID、Clean Start、Session Expiry Interval、session-present 的处理、重新订阅以及在途消息的行为。MQTT QoS 约束的是一个发送方与一个接收方之间的交付;QoS 1 可能产生重复消息。即使是 QoS 2,本身也不能保证下游数据库或设备只产生一次实际效果。这些边界依据OASIS MQTT 5.0 规范第 4.1–4.6 节。

检查实际使用的消息代理支持哪些功能。例如,AWS IoT Core 文档说明其支持 QoS 0 和 1,而不支持 QoS 2。测试计划必须与所选服务相匹配。

如果要求离线缓冲,应规定何时视为完成持久化写入、字节数或记录数上限、保留期限和溢出策略。在存在尚未确认的记录时执行断电重启。在最终消费端核对事件 ID,测试重复记录的幂等处理,并分别保留源时间戳和到达时间。去重窗口应覆盖允许的最长重试与重放间隔。按数据源或数据流定义顺序要求,不要假设多个发布者之间存在全局顺序。应将重放与新数据流量同时进行测试,避免恢复过程无限期挤占新测量数据的处理机会。

用故障矩阵覆盖不同失效模式

从每一种允许的初始接口出发,执行各项适用测试,并在约定的载荷速率和大小下重复切换。记录注入的故障、预期决策、实际切换、告警、时间数据及记录核对结果。

注入条件 需要观测的内容
网关断电重启 重启后的配置、时钟状态、会话恢复和持久化缓冲区内容。
拔除以太网网线、Wi-Fi 断连或蜂窝服务中断 故障检测、符合条件的备用路径选择,以及应用交付恢复。
本地链路仍正常时发生上游黑洞 即使链路指示正常,仍能观察到健康检查超时和相应策略决策。
DNS 故障 新发起与缓存查询的行为、切换后的解析器选择,以及明确的故障报告。
TLS、消息代理或下游应用中断 区分错误类别;进行有界重试和缓冲,避免失控的路径切换。
间歇性丢包、延迟或链路反复上下线 滞回机制、驻留时间、重试限制、切换次数和蜂窝网络使用量。
所有路径不可用,随后持续恢复 缓冲区上限与溢出行为、积压记录核对,以及策略控制的回切。

将应用恢复与路由变更分别测量

为故障注入、故障判定、备用路径就绪、首条新事件被接收,以及积压数据重放完成分别记录时间戳。除恢复时间外,还应报告观测到的最大应用交付间断。路由更新很快,并不排除重连延迟很长或队列持续增长。

Illustrative failover timeline measuring detection, route readiness, first fresh application delivery, and backlog catch-up, followed by a separate stability-gated failback sequence.
图 2. 应用恢复与积压数据追平应分别测量。回切需要独立的稳定性条件和交付验证。此顺序仅用于说明,不代表实测性能。

示例测试,仅作说明,并非产品基准:将以太网设为首选路径,将蜂窝网络设为符合条件的备用路径。在持续生成带编号记录的同时,阻断以太网上游流量,但保持物理链路载波。观察配置的故障阈值,确认流量通过蜂窝网络发出,并在应用端核对新记录与缓冲记录。先间歇性恢复以太网,再持续恢复,以验证约定的回切规则。

客户必须在执行前给出通过或失败的判定值:最大应用中断时间、约定端点允许的记录丢失和重复处理效果、缓冲容量、重放完成时间、顺序保证范围、切换次数上限、蜂窝数据预算以及恢复稳定性时间间隔。记录测试次数、工作负载和网络条件;不能用示例数字代替实测结果或合同要求。

验收检查清单

  • 批准拓扑、交付端点、故障矩阵和可量化限值。
  • 测试切换前,独立验证每条符合条件的备用路径。
  • 记录决策原因和时间戳,而不仅是接口状态。
  • 恢复后核对缺失、重复、过期和乱序记录。
  • 重复断电、所有路径中断以及持续恢复后的回切测试。
  • 保留配置版本、日志、证据和偏差记录,供验收签核。

准备网关故障切换评审

请使用脱敏后的网络拓扑、接口优先级、验收限值和具有代表性的载荷样本,与 Obeita 讨论工业物联网网关需求。分享前请移除凭据、私有端点和生产标识符。这些资料有助于讨论所需行为与测试范围,而不会预设尚未确认支持的功能。

有关相关集成范围,请参阅已交付的多接口物联网网关集成项目;有关嵌入式问题调查,请参阅 Obeita 的固件与 BSP 诊断服务。如需制定项目专属的验收计划,请联系 Obeita。

类似文章