摘要

  • RFC 6428 在一个 BFD 会话内交错 MPLS-TP Continuity Check(CC)与 proactive Connectivity Verification(CV)。CC 使用 G-ACh 码点 0x0022,CV 使用 0x0023;正常运行时 CC 与每秒一个 CV 交错发送。
  • CV 携带不可由中间节点改写的 Source MEP-ID TLV,接收端 MEP 据此识别错误维护端点。RDI 只存在于 CC 的 BFD diagnostic 字段;CV 的 diagnostic 字段必须忽略,不能拿来解释 RDI。
  • 连续性检测的超时约为会话周期乘以远端 Detect Multiplier 3;错误连通性应在一秒内发现。退出错误连通性缺陷则要求连续 3.5 秒未收到带有该缺陷的 CV。

机制与边界

操作员配置 MEG、MEP-ID、CC 周期、期望的 CV 状态、认证状态和密钥(如使用),并可配置或本地分配对端 discriminator。源 MEP 发送证据,但不能单方面宣告接收端已连接到正确对象。sink MEP 负责比较 Source MEP-ID、MEP 类型、封装、discriminator 与 label 映射,以及启用认证时的认证结果。

错误封装、意外的 Source MEP-ID 或类型、映射到另一条 label 的 discriminator、正确 discriminator 却从错误 label 到达,及启用认证时认证失败,都可构成 mis-connectivity。检测到后,sink MEP 向客户流程声明 signal fail;是否阻断流量,必须由 MPLS-TP OAM 框架规定的 defect consequent action 决定,不能因为收到了某个数据包就直接阻断。检测时间到期的诊断值应为 1,Link Down Indication 后为 5,检测到 mis-connectivity 时必须为 9。

协调模式由一个双向 BFD 会话跟踪缺陷状态;独立模式使用两个会话,因此一方会话可能在收到远端 RDI 时仍为 UP。所有状态改变和 Poll/Final 交换都必须使用 CC;CV 中的状态与 Poll/Final 信息必须忽略。由此,operator configuration、源 MEP 证据、sink MEP 缺陷分类以及 RFC 6371 所处的 consequent-action 框架各有权限,不能合并成一个简单的 UP/DOWN 判断。

操作员验证夹具

在抓包和配置核对中,至少逐项记录:

  1. G-ACh 码点是否分别为 0x0022(CC)与 0x0023(CV);若使用 GAL,GAL 是否位于栈底且 TTL 至少为 1。
  2. 是否能看到 CC 与每秒一个 CV 的交错节奏;连续性丢失的告警是否按“会话周期 × 远端 Detect Multiplier 3”核验,而不是凭经验填入延迟。
  3. CV 的 Source MEP-ID TLV 是否等于预期 MEP、类型是否正确,且节点没有改写该值。
  4. 本端与对端 discriminator 是否映射到同一 label;反向检查“预期 discriminator 从错误 label 到达”的情形。
  5. 封装、MEG、MEP-ID、CC 周期、CV 状态、认证开关和密钥是否与 operator configuration 一致;认证失败时不得把报文身份当作已验证。
  6. RDI 是否只从 CC diagnostic 字段读取;CV diagnostic 字段是否被明确忽略;CV 中的 session state 与 Poll/Final 是否没有被用于状态变更。
  7. 是否区分 diagnostic 1(检测时间到期)、5(Link Down Indication)和 9(mis-connectivity),并检查错误连通性恢复是否满足 3.5 秒无缺陷 CV。
  8. 是否标注 coordinated 或 independent;若为 independent,同时记录本地 UP、收到远端 RDI 和另一方向状态,不能只保留一个会话结论。
  9. Source MEP-ID TLV 不在 BFD control-packet length 内,使用 BFD digest authentication 时也不纳入 digest;这是一项必须单独评估的完整性边界,而不是认证成功的自动替代品。

决策路径

先确认封装和 G-ACh 承载,再确认 label/discriminator;随后以 CV 的 Source MEP-ID 和类型判定是否为预期端点,独立读取 CC diagnostic 中的 RDI,并核对模式与定时器。若为错误连通性,分类为 sink MEP 缺陷,报告 diagnostic 9,等待规定的 3.5 秒退出条件,并按 OAM consequent action 决定客户流量处理。若只是远端 RDI,在 independent 模式不要把 UP 改写成“服务健康”;应把本端会话状态、远端缺陷和客户影响分别呈现。

CC 没有 CV 时,可以显示连续到达,却不能确立预期源身份。反过来,若把 CV diagnostic 当作 RDI,便越过了规范明确要求忽略的字段边界。错误 Source MEP-ID 或错误 label 映射即使报文持续到达仍是缺陷;会话 UP 也不等于应用服务健康。资料包没有指称任何厂商、运营商、部署比例、模式选择、误报率、客户影响时长、商业成本或恢复结果;也没有提供某项部署或事故的指控。RFC 5880、5586、5921、5860、6371、5884、5885 仅在各自规定的状态机、承载、框架、要求、后续动作和 MPLS/VCCV 适用范围内提供背景,不能取代 RFC 6428 的处理规则。所列 errata 是检索时快照,不构成额外更正主张。

来源