摘要

  • RFC 3386 面对的不是“有没有恢复机制”,而是多个层次都能对同一物理故障作出反应时,谁先行动、谁暂缓,以及控制权何时交还。
  • 延迟定时器给底层一个有限的优先恢复窗口。时间过去只证明时间过去,并不证明底层切换成功、备份物理独立或应用连续可用。

光功率突然消失,光设备看到断点;SDH/SONET 看到电路失效;MPLS 看到标签交换路径不再运送分组;IP 看到目的地失去可达性。四种观察都可能真实,但它们位于不同现实层,也不自动赋予同一种处置权限。

如果每一层都把“我看见了故障”解释成“我现在必须搬动流量”,底层可能正在保护倒换,上层已经开始重路由。同一业务被移动两次,两个控制器同时占用稀缺备用容量,上层依据的拓扑又在计算期间被底层悄然改写。局部反应都很快,整体恢复反而可能更乱。

RFC 3386 于 2002 年 11 月以 Informational 文件发布,来自 IETF 流量工程工作组的网络层次与生存性设计团队。它没有定义一套完整恢复协议,也没有报告某个运营商的实测结果。文件收集的是近期、可操作的服务提供商需求,希望把分组网与非分组网的恢复方法收敛到少量可互操作方案。

文件把网络层次分成两类。纵向层次存在于光、SDH/SONET、MPLS、IP 等不同技术之间;横向层次存在于同一技术内的区域或管理边界之间。纵向问题最棘手,因为各层可以各自保护,却通常看不见另一层内部究竟做了什么。

RFC 3386 给出的近期办法不是建立一个洞悉所有细节的超级控制平面,而是使用嵌套时间尺度。若底层恢复比上层慢,上层先等一小段时间。文件的具体例子是:当 SDH/SONET 提供保护倒换时,MPLS 的恢复定时器应给它留下完成时间。

这里的“等”不是消极状态,而是一项有期限的授权。上层暂时承认底层拥有第一次恢复机会。期限太短,两层仍会竞速;期限太长,底层若无法恢复,原本可由 MPLS 或 IP 绕行的中断就被白白延长。定时器数值因此包含一个运维判断:这个底层资源确实配置了保护,它覆盖当前业务,而且应在这段窗口内给出结果。

如果底层本来就不具备恢复能力,结论立即反转。未保护的 SDH/SONET 线性电路不应让上层等待一个不存在的动作。RFC 3386 要求允许调整等待值,或者让底层立即把故障通知上层,使其直接采取保护或恢复。用一个固定值覆盖保护与未保护资源,只会把配置差异伪装成时间一致性。

触发方向也不是对称的。文件明确说,上层故障不应触发底层恢复。IP 路由失效可能来自策略、控制面或远端问题;它本身不能证明光路断裂。让证据较少的层越权移动资源,会扩大故障面。

RFC 列出了几组建议时间:预先建立容量的 1:1 路径保护为 100 至 500 毫秒;预先规划但共享容量的方案为 100 至 750 毫秒;本地恢复为 50 毫秒;源端路径恢复为 1 至 5 秒。这些数值不包含信号传播时间。设计团队还特意说明,他们不会宣称这些界限在科学上足以满足某一特定应用。

这句克制决定了数字的证据性质。它们是设计需求的落点,不是现场测量,更不是 SLA。故障出现到用户恢复之间,还包括检测、等待、倒换、信令、路由收敛、传播与应用处理。底层在 50 毫秒内完成动作,并不能证明通话没有中断,也不能证明交易已完成。

保护与恢复的区别同样重要。保护在故障前安排资源;恢复在故障后选择新路径。预先建立的容量已经承诺给相应连接,预先规划的容量则可能被多条业务共享。共享让正常时期的资源利用率更高,但多项业务同时失效时,就必须决定谁先恢复、谁可以被抢占、备用容量是否足够。

共享风险组把逻辑拓扑拉回物理世界。RFC 3386 把 SRG 定义为会被同一故障或同一类故障共同影响的一组网络元素。两条逻辑链路可能共用管道、光缆、路权、光环或机房。MPLS 算出的两条不同路径,可能仍在底层交汇于同一个挖断点。没有 SRG 证据,“备用路径”只是拓扑视图中的名字。

本地恢复与源端路径恢复还揭示了稳定性差异。故障附近的修复可以很快,但形成的绕路可能次优,之后还要由首端重新整理。源端重路由通常更慢,却可能更合理地使用全网资源。第一条重新传包的路径,不一定是运营者最终应保留的路径。

横向边界也需要回执。RFC 要求跨区域信令表达恢复成功或失败。一侧发出恢复请求,并不等于另一侧完成恢复;某一段恢复成功,也不等于整条连接恢复。请求、尝试、结果和端到端业务状态必须分开记录。

后来的 RFC 4427 统一了恢复术语,RFC 4428 进一步讨论多层恢复,RFC 7347 继续保留可配置的等待机制,RFC 7926 则说明客户层抽象如何隐藏服务器层的共享风险。这些文件证明问题持续存在,却不能证明 2002 年的时间值在所有网络中部署成功。

Lu Heng 的最小初始规范视角解释了为何当时优先选择松耦合。层间需要共同约定恢复顺序、故障提示和授权截止时间,却不必交换所有内部拓扑或合并全部控制面。共同规则应足够小,让不同厂商可以执行;未来是否需要更深纵向协同,再由实际收益决定。

现实层视角则限制了“恢复”这个词。保护已配置、故障已发现、倒换命令已发出、传输电路已切换、MPLS 路径已重建、IP 已收敛、应用重新完成请求,是七张不同回执。定时器到期只能证明时钟越过某一点,不能替一个不可见层签发成功证明。

RFC 3386 留下的长久原则不是“永远让光层先做”。真正原则是把恢复权写成一项临时委托:说明谁先行动、保护哪些故障域、拥有多少时间、失败后如何立即升级,并在每个边界保存结果。恢复机制越多,越需要这种纪律;否则冗余本身就会成为竞争者。

来源