有什么路由器/协议/方案能做到基于链路质量的故障切换

发布于

hxdyxd:

## 假如有两条 VPN 线路:

```plaintext
R1 ===== R3 ===== R4
PRIMARY (成本可接受,低延迟,大宽带,假设 100Mbps )

R1 ----- R2 ----- R4
BACKUP (成本超高按流量计费,更稳定,主要做备份)
```
我希望能保障 R1-R4 的链路高可用

## 故障

```plaintext
假如今天:
R1 ───────── R3
100M

未来某天:
R1 ───────── R3

20M

丢包/延迟暴涨
```

**根据链路质量快速切换**

```plaintext
正常
R1 ─────── R3 ────── R4
100M

↓ 质量恶化

R1 ─────── R2 ────── R4
BACKUP
```

## 目标

```plaintext
R1-R3 正常

所有业务走 R3

R1-R3 拥塞,丢包 > 5%| RTT 大于 50ms (只是举例,可能有其他判断办法)

优先走 R1-R2

R1-R3 恢复

再切回 R1-R3
```

我发现普通的多 wan 路由器做得很差
大多只能负载均衡(类似 ECMP )
或者主备(类似 ospf ),主链路“断线”才切,丢包很高也不认为是异常
我在几个节点之间做了 ospf ,确实能做到切换
不过因为“断线”才切换,实际体验很差
感觉这个需求非常常见,一直不到合理而且主流的方案

---

原文链接:[点击查看](https://www.v2ex.com/t/1234583)

评论(3)

自己写个脚本盯着丢包率,超标就切线路不就行了?想更智能一点的话,可以参考 clash 的 smart 内核那套思路,用机器学习来判断什么时候该切换。

· 0 个赞

可以看看 FRR:https://frrouting.org/ ,链路断开时能自动切换。

· 0 个赞

首推 Surge 的 Smart Group,真的好用:只要还有一条线路是正常的,使用上完全感知不到有节点挂了。

· 0 个赞

0.048165s