解决什么问题
FRER 经常被简单描述成“发两份”。但真正的问题是:你希望这两份保护什么故障?如果不回答这个问题,可靠性结论就没有对象。
单链路断开、单桥失效、端口误码、供电故障、线束损坏、短暂拥塞、配置错误,这些故障需要的保护方式并不相同。FRER 不是魔法,它只能覆盖路径和机制覆盖得到的范围。
背景与直觉
买保险前要知道保什么。只保设备损坏,不能自动覆盖数据丢失;只保火灾,不能自动覆盖洪水。网络可靠性也是一样。FRER 设计必须先说清“保单条款”。
怎么解决
先把故障按层次列出来。
| 故障类型 | 例子 | FRER 设计要问 |
|---|---|---|
| 链路故障 | 断线、误码严重 | 副本路径是否绕开该链路 |
| 桥设备故障 | 交换机重启或失效 | 路径是否经过不同桥 |
| 端口故障 | 单端口 down | 是否有替代端口 |
| 共因故障 | 供电、机柜、线束 | 物理故障域是否分离 |
| 拥塞/配置 | 队列错误、窗口错位 | FRER 是否只是复制错误配置 |
故障模型写清后,再看路径设计和验证。你说要覆盖单链路故障,就要注入断链测试;你说要覆盖单桥故障,就不能让两个副本都经过同一桥。
带来了什么新问题
故障模型会让设计变得诚实,也会暴露无法覆盖的范围。比如 talker 本身故障,FRER 通常保护不了;复制点之前的链路故障,也无法通过复制点之后的双路径修复。
这不是 FRER 的失败,而是可靠性设计的边界。清楚边界比模糊承诺更重要。
检查点
- 如果复制点在第一台交换机之后,talker 到第一台交换机之间的链路故障能被 FRER 覆盖吗?
- 为什么线束级共因故障会让两条逻辑路径同时失效?