家庭多出口网络质量测量与动态选路方法

家里拉了多条宽带(电信 / 联通 / 移动)做多 WAN 出口,踩了一圈坑之后总结出一套测量和选路方法。核心结论先行:多条家宽的延迟差距很小,真正的差距在丢包;家宽公网 IP 一定会漂移,DDNS 不是可选项而是必选项。

三条家宽的分工不是「哪条快用哪条」,而是按访问方运营商做源地址路由分流,出口再叠加健康检查与 DDNS:

三条 WAN 的源地址路由分流与同一目标地址的不同出口示意

测量方法论:配对比较

网络测量最容易犯的错是”不同时间测不同线路,然后比数字”。正确的做法是配对测量:同一时刻、用完全相同的检测点集合,分别测每一条线路,两边样本一一对应。

具体做法:

  1. 选一个多地 Ping 检测服务,节点数越多越好(实测用了 265 个全国节点);
  2. 每条线路各测一轮,每节点 100 个包,间隔尽量短,保证网络环境没有大波动;
  3. 拿两轮结果按节点配对,算三类指标:
    • 均值延迟:整体水平;
    • 丢包点占比:有丢包的节点数 / 总节点数——比平均丢包率更能反映”有多少用户会感知到卡”;
    • 胜率:逐节点比大小,A 线快的节点数 vs B 线快的节点数。

单看平均延迟会得出”三条线差不多”的平庸结论,配对之后才能看出结构性差异。

实测发现一:延迟没差,差距在丢包

配对测量 265 个节点的结果:

指标电信线联通线
平均延迟32.8 ms30.8 ms
丢包点占比17.0%(45/265)2.3%(6/265)

两条线的平均延迟只差 2 ms,日常使用几乎无感。但丢包点占比差了 7 倍——这意味着跨网访问时,电信线上每 6 个用户就有 1 个会遇到明显卡顿,而联通线上 40 多个人才有 1 个。

进一步按访问方运营商拆分,结论更清晰:

  • 电信用户访问电信线:最优(延迟最低、无跨网丢包);
  • 联通 / 移动用户访问电信线:丢包点占比飙到 20%+;
  • 联通 / 移动用户访问联通线:丢包点占比仅 1%~2%。

延迟是体质问题,丢包是互联问题。 选路时丢包权重应该远高于延迟。

实测发现二:IPv6 的收益因线路而异

三条线都有原生 IPv6,配对测了一遍,结论完全相反:

  • 电信线:IPv6 明显优于 IPv4——平均延迟从 30.5 ms 降到 29.1 ms,丢包点从 6 个降到 2 个,P90 抖动从 34 ms 降到 29 ms。原因推测是 IPv6 跨网走更优的直连路径,少了运营侧的 NAT 转换;
  • 联通线:IPv6 反而更慢——31.2 ms vs 27.7 ms,一半以上节点 IPv4 更快;
  • 移动线:IPv6 不比联通 IPv4 快(30.9 vs 30.0 ms),但价值在于不占用联通线的上行带宽,把流量分流到了独立出口。

所以”上了 IPv6 就更快”是想当然。每一条线都要单独测,IPv6 只在该线路实测占优时启用。

实测发现三:家宽公网 IP 一定会漂

这是投入产出比最高的一次测量。连续多日观测发现:

  • 家宽公网 IP 并非静态,PPPoE 重拨 / 租约到期后会换段,不只是最后一段变化,整个 C 段都可能跳;
  • 三条线都在漂,今天测到的 IP 下周就面目全非;
  • 同一时刻不同连接看到的出口 IP 都可能不同(多出口负载均衡)。

意味着:任何把家宽 IP 硬编码的场景都会在某天悄悄失效——DNS A 记录、防火墙白名单、服务端回调地址,全是。

解法是 DDNS + 健康检查:

  1. 每条线一个域名(如 ct.example.com / cu.example.com),客户端定时上报当前 IP;
  2. 选路时先探活再选,连续超时的线路自动摘除,恢复后自动加回;
  3. 按访问方运营商分流解析:电信用户解析到电信线,其余解析到联通线(实测综合最优)。

只靠 DNS 分流不够——线路会整体不可用(实测过某条线 10 分钟内从可达变成全端口超时),没有健康检查就会把用户往黑洞里导。

给家庭多 WAN 的选路建议

按实测数据,一套可落地的策略:

1
2
3
4
5
电信用户  → 电信线(IPv6 优先)
联通用户 → 联通线(IPv4)
移动用户 → 移动原生 IPv6(分流带宽,不求更快)
默认/其他 → 联通线(丢包最低,跨网最稳)
所有线路 → DDNS 保活 + 健康检查自动摘除

方法论小结

原则错误做法正确做法
时间基准不同时间分别测同时刻配对测量
核心指标只比平均延迟延迟 + 丢包点占比 + 胜率
IPv6无脑开逐线实测,优者启用
公网 IP硬编码 / 手动改DDNS + 健康检查
分流全局一条线按访问方运营商 + 按线路质量

家庭多出口的优化空间比想象中大,但前提是先测量、后决策。凭感觉选路,多半会在丢包上栽跟头。