摘要

  • LAG 对外呈现一条逻辑链路,RFC 9533 却要求每条物理成员分别建立 OWAMP 或 TWAMP 微会话;聚合口地址与一个五元组不能证明所有成员都被测过。
  • Sender 与 Reflector 微会话标识只在各自端点和父会话中有意义。端点还必须把编号同报文实际到达的物理成员相互校验,失败便丢弃报文。
  • 通过校验的探针可以成为调度策略的输入,但它不证明生产流量经过同一成员,也不证明控制器已执行变更或服务结果已经改善。

一条逻辑链路掩盖了四种运行现实

链路聚合把多个物理端口组合成一个逻辑接口。它提高带宽,也让一个成员失效时其余成员继续承载业务。但“聚合口仍然在线”并不等于“每条成员的性能都相同”。在广域网络中,同一 LAG 的不同成员可能走不同承载路径,时延、抖动和丢包自然可以不同。

流量通常按哈希分配。固定五元组的普通主动测量很可能只命中一条成员。改变端口或地址也许能采到更多成员,却只会得到一个无法证明覆盖范围的平均值。RFC 9533 为此定义“微会话”:每条物理成员各有一条 OWAMP 或 TWAMP 会话,完整测量必须建立整套会话。

这些微会话共享相同的发送方和接收方 IP 地址。它们可以使用不同 UDP 端口,但规范建议共用一对端口,便于运维。区分它们的关键因此不是 IP 外壳,而是“某会话在某时段绑定某物理成员”的本地事实。

控制请求首先承诺覆盖全集

控制客户端发送编号 5 的 Request-OW-Micro-Sessions,或编号 11 的 Request-TW-Micro-Sessions。服务器接受后,必须为收到该请求的 LAG 中全部成员建立微会话。IANA 登记证明了两个命令编号的公共含义,却不证明某台设备接受过请求,更不证明它当时创建的成员集合完整。

因此,控制请求本身就是覆盖凭据。假设清单有四条成员,报表只有三条结果。直接对三条取平均,会把“第四条没有证据”改写为“第四条没有问题”。缺失可能来自创建失败、映射过期或测试报文被丢弃。预期成员集合、接受集合、活动会话集合和有效样本集合必须分别保存。

OWAMP 的处理尤其直观。发送端必须从微会话关联的成员发出测试包;接收端依据报文真正进入的物理成员查找会话。找不到对应会话就丢弃。物理入端口不是附加日志,而是样本能否成立的一部分。

两个编号各自服从一端的命名范围

微 TWAMP 新增两个 16 位字段。Sender Micro-session ID 标识发送端成员,只要求在发送端的该 TWAMP 会话内唯一;Reflector Micro-session ID 标识反射端成员,只要求在反射端相应范围内唯一。它们不是全球端口号,也没有跨重启永久不变的承诺。只保存数字而删除端点、父会话和有效期,会人为制造并不存在的全局身份。

发送端一开始可能不知道远端编号,这时 Reflector 字段为零。以后可以通过预配置获得,也可以从反射报文学习;RFC 9533 没有规定学习程序。零值因此应解释为“发送端尚未提供可供远端校验的编号”,不能被包装成对远端物理链路的确认。

报文到达反射端时,设备先用实际入成员关联微会话。没有会话就丢弃。若 Reflector ID 非零,还要核对它是否对应实际入成员,不一致也丢弃。返回时,反射端复制收到的 Sender ID,并写入自己会话对应的 Reflector ID。

返回报文到达发送端后,同样先按实际入成员寻找微会话,再检查复制回来的 Sender ID,并用 Reflector ID 验证反射端行为。任一步骤失败,报文都不能进入性能统计。一个被接受的时延或丢包样本,背后实际有两套本地映射、两次物理端口观察和一组双向校验。

一次有效测量没有自动获得调度权

校验通过只能说明这次探针交换在当时会话状态下与预期成员相符。生产流量的五元组可能不同,哈希结果也可能不同。样本还不能证明控制器已经读取结果、策略已经选择动作、设备已经安装配置,更不能证明用户体验有所改善。

RFC 8668 可以发布二层聚合成员属性,为调度提供另一类输入,但“发布属性”和“观察性能”仍是不同记录。完整链条应依次保留成员清单、会话创建、端口观察、测量样本、策略版本、决策、变更请求、设备确认以及变更后的流量结果。

安全边界同样不能被夸大。RFC 9533 沿用 OWAMP 与 TWAMP 的安全机制,没有另加新机制。认证可以保护协议交换,却不能让已经更换板卡后的旧映射自动变新,也不能证明复用的本地编号仍指向同一物理对象。报文完整性与清单时效性是两项责任。

值得保留的最小证据账本

每个样本至少应记录:LAG 身份与清单版本、双方端点、控制请求与接受结果、预期成员数、父会话、两个微会话标识、远端标识来自配置还是学习或仍为零、双方实际收发成员、每项校验结果、丢弃原因、时间戳与误差估计、指标值以及失效时间。

三类异常不能合并。性能异常是“已接受样本越过阈值”;证据异常是“会话或成员绑定没有通过校验”;覆盖异常是“预期成员没有可用微会话”。它们分别需要排查承载、重建映射或补齐测试。一个红灯无法承担这三种诊断。

资料来源

来源