摘要

  • RFC 9516 为单一运营商域内的服务功能链提供主动 OAM 的连续性、追踪和故障定位工具;它并不签发“业务服务已经交付”的凭证。
  • 绿色 Echo 结果只属于被构造的测试。生产结论还需要分类规则、实际 RSP、被选函数实例、真实流量以及独立结果观测。

最危险的网络图往往没有明显错误。图上列出一个 SFP,标出三个 SFF,最后一跳返回 End of the SFP。各节点名称都正确,探针也确实走到了终点。随后,图标题被写成“防火墙服务已恢复”。

标题比图多说了许多话。

RFC 7665 先把这些对象拆开。服务功能链是由抽象服务功能和顺序约束组成的集合;流量必须先被分类,才会被放入该链。分类是本地策略,它可以依赖客户、网络、服务、会话或其他条件。一个叫作“安全链”的名称,不会说明某个客户流在某一时刻是否命中了某条分类规则。

SFP 又不同于真正渲染的路径。SFP 是逻辑实例;RSP 才是由具体 SFF 与 SF 身份组成的实现。RFC 9516 特别重视这种区分,因为同一 SFP 可以对应多条 RSP。同一个 SFF 后面可以接入多个同类 SF;在负载均衡场景中,某一实际流只会穿过其中一个实例。

因此,Echo 追踪列出可用实例,不能等同于“客户包由这些实例处理”。它也不能说明哈希、会话粘性、故障切换或资源压力在生产时选择了哪一个实例。对一条 RSP 的探测成功,更不能自动覆盖同一 SFP 的每一条候选 RSP。

主动 OAM 的价值在于把测试做得可辨识。RFC 9516 要求 Echo Request 使用被监测 SFP 的恰当底层封装,设置 NSH 的 O 位,并在 NSH 后紧接 SFC Active OAM Header。这一构造追求 fate sharing:测试包应与被监测 SFC 数据在前向路径上经历相同的路径和底层处理。

“应当共享命运”不是“已经证明完全相同”。测试包可能没有复制生产包的长度、五元组、元数据、应用语义、加密状态或队列压力。某个 SF 也可能会对实际会话维护状态、对租户实施策略、对特定协议解析内容;这些条件未必出现在探针里。一个探针可达,不等于所有相关业务流都以相同方式被分类、转发和处理。

回程尤其不能被悄悄拼进同一条证明链。请求按 NSH 指定的 SFP 前进,回复通常却不带 NSH。发送方可以要求经 IPv4/IPv6 UDP 在带外返回,也可以要求经指定 SFP 返回。双向都呈绿色时,报告应保留各自的构造与路径,而不是把两种观察合成为一条未经说明的端到端服务结论。

返回码的范围同样明确。有效请求到达 SFP 末端时,末端 SFF 返回 End of the SFP;中间 SFF 可返回 No Error。这些码说明接收方如何处理这一请求。它们不证明防火墙对客户交易作出了正确决定,不证明某个应用层检查已经完成,也不证明用户获得了可用的服务。

RFC 9516 本身没有承诺这些外延。它处理故障管理;性能监测并不由该文档满足,且在其范围之外。连续性、性能、函数语义和客户结果是不同的观测问题,不能由一个回包压缩成一个答案。

可靠的运营记录应把它们重新展开:保存分类策略版本、代表的流类别、SFC/SFP/RSP 与底层网络的时间版本;保存探针源、封装、序列、丢失、回程模式和时间基准;再结合入口与出口的生产流观察、实际 SF 实例的处理记录,以及与所承诺服务相称的独立结果。每项证据都可能受保密和留存约束,但省略它们不会让 Echo 更有权威。

RFC 9516 所设定的单一提供商运营域也应被尊重。域内的操作者可以构造测试、识别元素并解释本地回包。跨域后,分类、路径、责任和观察者都可能变化。一家网络的 OAM 成功不能自然成为另一家网络服务的证明。

探针的正确位置不是服务结论的终点,而是下一轮核验的起点。

Sources