摘要
- 在 Media over QUIC Transport 草案第 22 版中,
FORWARD=0暂停某一条既有订阅的对象传送,但PUBLISH_DONE等控制消息仍会继续。 - 当所有下游订阅者都暂停时,接力节点可以为了预热缓存而让上游订阅继续运行。因此,一张暂停回执不能证明取流、资源消耗或缓存写入已经停止。
观众按下暂停,画面定格,播放器的下行流量下降,服务端也把该订阅标记为暂停。用户看见的是一个动作,链路中间的接力节点却可能作出另一项决定:继续从发布者接收直播轨道,以便恢复播放时少等一段时间。
这不一定是故障。2026年10月1日发布的 draft-ietf-moq-transport-22 明确保留了这种取舍。草案把 MOQT 定义为运行在 QUIC 与 WebTransport 之上的发布/订阅协议。Datatracker 将它列为 Media Over QUIC 工作组的活跃 Internet-Draft。它仍是进行中的工作,不是 RFC,也不能证明任何具名服务已经采用。文件页眉写着 Standards Track,而 Datatracker 当前没有显示预期 RFC 状态;两者都不能被升级解读为批准。
第 22 版首先做的是澄清语言。第 21 版把开关称为取值为 0 或 1 的 Forward State。第 22 版直接说,一条既有订阅处于暂停或未暂停状态,变更记录也写明把 Forward State 表述为订阅暂停。基础机制不是10月1日才出现;新之处在于运行人员终于能用更清楚的词去命名和测试它。
局部规则很严格。订阅暂停时,发布者不发送对象;控制消息并未停摆,其中包括 PUBLISH_DONE。订阅发起方在 PUBLISH 或 SUBSCRIBE 中使用 FORWARD 设置初始值。之后,订阅者用携带 FORWARD=0 的 REQUEST_UPDATE 暂停,用 FORWARD=1 恢复。超出 0 和 1 的值会触发协议违规。
所以,“暂停”并不等于“取消”。在取消、收到 PUBLISH_DONE 或 REQUEST_ERROR 之前,订阅状态仍会保留,并继续受流状态规则约束。暂停也不会把稍纵即逝的补取请求保存到未来。若暂停期间处理 FILL_PARAMETERS,系统不会打开 fill-fetch 流;后来仅仅恢复订阅,也不会自动补开。想在恢复时追补历史,必须重新表达相应请求。
流层的证据也要分开。发送方若在相关对象尚未全部送达前关闭 subgroup 流,就必须重置该流。第 22 版明确把“因为订阅暂停而省略 subgroup 对象”列入此类情况。干净的 FIN 可以支持“从订阅起点开始,这个 subgroup 已完整结束”的判断;重置则说明最后一个已收对象之后可能还有内容。两者都是合法事件,却不是同一种完成凭证。
最重要的权力边界在接力节点。只要某条轨道还有一个下游订阅者未暂停,接力节点就必须维持一条未暂停的上游订阅,才能接收并转发所需对象。但当所有下游订阅者都暂停时,是否暂停上游由接力节点自行决定。
上游继续运行,会开始接收对象并预热缓存,恢复延迟可能降低;代价是发布者和上游资源仍在为当前无人接收的内容工作。暂停上游可以省掉这部分工作,却可能让重新播放变慢。规范没有把这项利益冲突藏起来,而是把决定权留在本地。
因此,界面上的绿色“已暂停”标记,证据范围比围绕它构建的成本或隐私承诺更小。它最多证明某一条订阅在发布者处的协议状态。它不能证明接力节点停止取流、发布者停止工作、缓存停止变化,或计费传输归零。反过来,它也不能证明接力节点一定保持热流;那是本地策略,必须观察上游链路才能确认。
有用的运行记录应有七份:订阅者按顺序发出的暂停意图;发布者确认的当前状态;下游对象确实停止;仍在继续的控制消息;接力节点对上游的策略决定;实测的上游流量与缓存变化;以及恢复后观众真正看见的结果。任何一份都不能代替其余六份。
陆恒的“最小初始规范”在这里给出恰当分工:公共线缆协议要准确说明 FORWARD 改变什么,但不必替所有运营者决定延迟与资源之间的偏好。“运行代码优先”又把证明从配置标签移到上下游的实际字节。“现实分层”则要求把观众看到的静止画面、协议暂停状态、接力缓存和发布者工作分别记录。这是 Daniel Kade 对这些思想的编辑性运用,不是 IETF 或草案作者的立场。
结论并不宏大,却很重要:命令的权力只到它明示的边界。观众可以暂停向自己的传送,却不会因此自动取得接力节点上游策略的控制权。如果产品承诺更多——不取上游、不写缓存、不产生资源费用——就需要另一项可执行控制和另一张可核验回执。
来源
- https://datatracker.ietf.org/doc/draft-ietf-moq-transport/
- https://datatracker.ietf.org/doc/draft-ietf-moq-transport/history/
- https://datatracker.ietf.org/wg/moq/about/
- https://www.ietf.org/archive/id/draft-ietf-moq-transport-21.txt
- https://www.ietf.org/archive/id/draft-ietf-moq-transport-22.txt
- https://www.ietf.org/archive/id/draft-ietf-moq-transport-22.html
- https://www.ietf.org/archive/id/draft-ietf-moq-transport-22.xml
- https://mailarchive.ietf.org/arch/msg/moq/bdnX8GUFMv0SmxoHVXRTTIEaofQ/
- https://mailarchive.ietf.org/arch/msg/moq/QXNyzANzCOz8Z9-u9ahj_bzh05Y/
- https://www.rfc-editor.org/rfc/rfc9000.html
- https://www.rfc-editor.org/rfc/rfc9221.html
- https://www.rfc-editor.org/rfc/rfc9114.html
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance

