摘要

  • FQ-PIE 把可见五元组哈希到有限队列,每个队列由 PIE 管理,并由基于 DRR 的调度器提供服务。
  • 最近出队分组的时延是有效样本,却可能在链路速率、到达结构或队列归属变化后失去代表性。
  • 哈希桶、控制状态、拥塞信号、调度服务、被保护主体与端到端结果必须分别留据。

真实但已经落后一步

一个分组刚刚离开队列,时间戳给出了准确的排队时延。就在下一个概率更新周期之前,链路速率下降,新流集中到来,另一个流又与原流发生哈希碰撞。控制器使用的仍是“最近一个出队分组”。这个数没有伪造,也没有违反算法;只是它描述的世界已经发生变化。

draft-ietf-tsvwg-fq-pie-02 把流队列与 PIE 主动队列管理结合起来。入站分组先按协议号、源和目的地址、源和目的端口组成的五元组哈希到队列。PIE 在入队阶段根据排队时延相对目标的偏差和变化方向,周期性更新丢弃概率。出队则使用源自 Deficit Round Robin 的调度方式。

这个结构把分类、控制和服务分成不同时间尺度。将一个绿色指标扩展为“队列当前健康”或“用户受到公平服务”,等于忽略这些尺度之间的空隙。

测量点先于数字

RFC 8033 允许两类排队时延计算。一类依据队列长度和平均出队速率,用 Little 定律估计;另一类在入队时记录时间戳,在出队时直接测量。FQ-PIE 草案指出,前一种方法在每队列环境里可能不可靠:主机队列向设备驱动发送环移动的速率,未必等于分组在物理链路上的发送速率,而精确计算每个队列的出队速率也很困难。

因此草案建议使用直接时间戳。但“直接”不等于“没有上下文”。时间戳覆盖的是哪两个边界?硬件卸载是否把大量分组聚合后才交给网卡?样本属于哪个哈希桶?它与概率更新相隔多久?在此期间是否发生了速率或队列结构变化?

草案允许用最近出队分组的时延更新概率。审计记录应同时保存当前与前一时延样本、采样和更新时刻、样本年龄、队列积压、链路速率与测量点。否则,一个完全正确的旧样本会被当成当前全部状态。

目标值不是逐包承诺

PIE 的示例目标时延和更新周期均为 15 毫秒。目标用于反馈控制,并不是每个分组的服务保证。PIE 还明确允许短时突发:只要突发额度仍大于零,新到分组就能绕过随机丢弃。瞬时时延超过目标可能是设计内行为,而非控制器失效。

反过来,平均值接近目标也不能证明每个桶、每个流或每个用户都得到同样结果。控制器在每个可见队列上工作;汇总曲线可能掩盖碰撞、隧道聚合和多连接占用多个桶的差异。

因此,目标、突发额度、更新周期、控制系数和概率必须与实际样本一起报告。只显示“15 ms”会把配置意图冒充成观测结果。

桶不是主体

有限哈希表意味着不同五元组可能进入同一个桶。RFC 8290 对 FQ-CoDel 的相同分类原则明确记录了碰撞可能性,也指出流级公平未必是运营者真正需要的公平:接入商可能关心客户,托管或传输网络可能关心自治系统或网络。

不透明隧道会把多个内部会话压成一个外部可见流;一个应用也可以建立许多五元组并占据多个桶。于是,“每桶都被服务”无法回答“每个客户是否公平”。这不是算法缺陷,而是身份层没有进入算法输入。

证据至少需要五元组、哈希扰动或版本、桶数量、桶结果、碰撞信息和隧道上下文。若组织要按客户、应用或网络考核,还需独立的主体映射,并治理其隐私边界。桶号本身不能承担这项权威。

标记、丢弃与响应是三件事

FQ-PIE 可以对支持 ECN 的分组做标记,而不是直接丢弃。这个事件证明本地节点依据当时概率、阈值和分组能力做出了信号选择。它不证明接收方反馈了信号,更不证明发送方降低了速率或应用时延改善。

当总分组容量已经饱和,FQ-PIE 会不再继续处理而丢弃新到分组。它没有照搬 FQ-CoDel 在饱和时寻找字节数最大的队列并批量丢弃一半分组的做法;草案担心在 PIE 已于入队侧控制的情况下,批量丢弃会导致链路利用不足。

因此,饱和丢弃只是“容量已满、此分组未被接纳”的收据,不是“某个胖流有罪”的证明。要归因还需积压分布、流与主体映射、此前的控制状态和链路条件。

调度轮次不等于完成结果

基于 DRR 的调度器以 quantum 为单位访问队列。一次访问、相应 deficit 与实际出队字节能证明该桶获得了本地服务。它不能证明用户吞吐相等、应用同时完成或端到端时延一致。分组大小、RTT、拥塞控制、需求、下游瓶颈和一个主体拥有多少流都仍在起作用。

同样,链路保持繁忙只证明聚合利用。一个隧道可能把百个会话当作一个流,一个应用可能拥有八个队列,两个无关流可能共享一个桶。总体成功与分布不公可以同时存在。

管理层必须先选择分母:流、客户、主机、应用、隧道、网络或服务等级。FQ-PIE 能执行其中一段本地控制,但不会替组织决定谁应被视为相等主体。

草案状态与运行代码边界

当前第 02 版日期为 2026 年 7 月 6 日,到期日为 2027 年 1 月 7 日。Datatracker 将其列为 TSVWG 的活跃工作组草案,WG 状态为 WG Document,IESG 状态为 I-D Exists;草案正文写明预期状态为 Experimental。它不是 RFC。

草案报告 FQ-PIE 已出现在 Linux、FreeBSD 与 ns-3,并描述写作时这些实现的时间戳行为。这证明相关代码存在,不证明任何指定生产接口已启用、采用何种参数或获得何种结果。版本、构建、qdisc 挂载、接口、速率、卸载和观测期仍须单独证明。

文档还把 BBR 交互、标记转丢弃阈值、PIE 增强项、短流时延与替代哈希列为实验范围。这些是待验证问题,不能写成已经获得的收益。

来源