IETF 126 Media over QUIC (moq) WG 議論まとめ
対象:2026年7月20日(月)/23日(木)/24日(金)の全3セッション(ウィーン)
情報源:各セッションのスライドおよび録画の文字起こし
全体像
今回の中心テーマは「moq-transport をどう終わらせるか」。エディタの Alan Frindell(Meta)は、IETF 125 以降に 72 PR がマージ(週平均 3.6、差分は +1843/−707 行)され機能面は前進したものの、未解決 issue が3月の 96 件から 109 件へ逆に増えたことを示し、「このペース(1サイクル +13 件)では永遠に終わらない」と警告した。
原因として挙げられたのは、LOC・MSF/CMSF・secure-objects・CAT4MoQ・Privacy Pass などの採択済みドラフトや SSTS・Top-N・Tempo などの拡張に注意が分散していること、および PR レビューと GitHub 上の非同期対応が遅いこと。ウィーンは4年前に最初の MoQ BOF が開かれた「MoQ 発祥の地」であり、「もう4年かけるのはやめよう」という訴えで締めくくられた。
セッション1(7/20)— コアドラフトとセキュリティ/認可
MOQT の主な変更点(draft-18 / -19)
- Range Filters(PR #1765、2024年4月の #441 をクローズ):優先度・サブグループ ID・オブジェクト ID・整数プロパティ値でフィルタ可能。Set ID で AND/OR 結合。サブスクリプション上ではオブジェクトプロパティ、
SUBSCRIBE_TRACKS上ではトラックプロパティにマッチする2モード moqt://URL スキーム:ALPN に h3 と moqt を併記、h3 が選ばれれば WebTransport にフォールバック。MOQT セッション用のメディアタイプを定義し、フラグメント#<type>:<value>はクライアント内で処理されワイヤには送らない- 制御プレーン:
SUBSCRIBE_NAMESPACE(探索)とSUBSCRIBE_TRACKS(ワイルドカード購読)の分離、PUBLISH_OKからの GROUP_ORDER 除去、同一トラックへの複数サブスクリプション許可(重複排除は行わない) - 双方向制御ストリームの FIN/RESET/STOP_SENDING の挙動明確化、Required Request ID による順序制約の撤廃(代わりに
SWITCH_FROMを調整機構の受け皿に) - 拡張性:mandatory-to-understand なトラックプロパティ用コードポイント範囲、名前空間の先頭タプル
.(予約)/.session(MOQT 層で完結、アプリに渡さない)/.<string>(IANA 登録必要) - データプレーン:SUBGROUP_HEADER の First Object ビット、DELIVERY_TIMEOUT のオブジェクト版/サブグループ版への分割、FETCH の
FILL_TIMEOUT、帯域プローブ用のパディングストリーム/データグラム
LOC(Mo Zanaty)
-03/-04 を発行。AAC など初期化データが必要なコーデック向けに audio config プロパティ(0x0F)を追加(WebCodecs の AudioDecoderConfig に対応)。プロパティのコードポイント衝突が4回目となり、ドラフトごとに開始番号を分ける運用の合意へ。未解決の主要論点は video フレーム duration プロパティの要否。Colin Perkins から「RTP で後から追加した項目群を先に洗い出し、パラメータ空間を確保しておくべき」との助言。
Secure Objects(Cullen Jennings)
- 脅威モデル記述の拡充(リレーが百万の下流に対して攻撃を並行試行できる増幅特性を明記)
- 正規化用の 64 ビット固定長整数化、パディング機能の整理
- publisher priority を認証対象から外すことにその場で合意(リレーは値を書き換えなくても無視できるので保護に意味がない)
- AEAD の 96 ビットノンス制約からオブジェクト ID は 32 ビットに制限されたまま
- 作者は WG Last Call を要求。「まず WGLC → セキュリティ早期レビュー → MOQT の IANA 表確定待ち」という段取りでおおむね支持。ただし実装2つが同一出自である点は懸念として残った
Auth デザインチーム中間報告(Mike English / Cloudflare)
10月の interim までに、①Privacy Pass 向けチャレンジ機構、②集約されたサブスクリプションの認可、③リレー間認可、の3点で解を出す予定。
中心的な緊張点は「ファンアウト効率と、オリジンパブリッシャによる個別サブスクライバ認証の両立」。提示された3案:
- エッジリレーへの委譲
- 一部サブスクライバを統計的にサンプリングして上流検証
- パブリッシャのポリシーをリレーに渡して判断させる
Ted Hardie は 1・3 系がサブスクライバ基盤の規模や属性をリレーに露出させるプライバシー上の代償を伴うと警告。Ian Swett や Chris Lemmons からは「HTTP CDN がすでに解いている問題では」「基本はベアラトークンで足り、必要なのはむしろトークンバインディング」との指摘も。AUTH_CHALLENGE / AUTH_RESPONSE メッセージの追加自体は方向性として支持され、DPoP の nonce チャレンジと形が一致している点が評価された。
MOQT issues(前半)
- 管理性・運用考慮事項は別リポジトリ/別ドラフトとして起こすことで合意(志願者が共著)
- タイムアウト全般:「すべてのタイムアウト値をワイヤで告知するのは不可、ユーザ体験に見える影響が出るものだけ明示」(Ian Swett)、「どの層が対処するかで分類せよ」(Ted Hardie)、「上限が無いケースを特定することが重要」(Mo Zanaty)
セッション2(7/23)— SSTS、ロケーションフィルタ、細かな設計論点
SSTS(Sender-Side Track Switching、Will Law / Akamai、PR #1638)
DTS から改称。最大の変更はアルゴリズムのプラガブル化で、switching set assignment パラメータの必須フィールドは switching set ID とアルゴリズム識別子のみに。SSTS_ALGORITHMS セットアップオプションでサーバが対応アルゴリズムを列挙(空リスト=非対応も可)。基準実装として「アルゴリズム0」を定義。DDoS 対策のセッション単位上限は「セッションを増やせば簡単に迂回される」ため削除され、リレーの自衛に委ねる方針に。
Location Filter(Mo Zanaty、PR #1809)
フィルタタイプの enum を廃し、start/end ロケーションの有無だけで表現する方式へ統一。start group のみ指定なら相対、start group + start object なら絶対、length=0 でフィルタ削除。機能追加ではなく「綴り方」の統一で、subscribe / fetch / fill fetch の3系統に散らばっていた表現を一本化。マージ合意に至った。
その他の issue
| 論点 | 結論・方向性 |
|---|---|
SUBSCRIPTION_STATE_UPDATE |
パブリッシャ側の一方的な状態変更を応答不要で通知。..._NOTIFY へ改名、通知内容の限定と制御メッセージ storm 回避の明記が action item |
| PUBLISH のパラメータ | サブスクリプション関連パラメータを一通り載せる方向(auth token など載せてはいけないものは明示)。適用可能箇所を示す表を作る issue が既存 |
| トラックエイリアスの再利用 | 別トラックへの再利用は禁止せず status quo 維持+注意書き追加 |
| サブスクリプション単位フロー制御(#869) | Victor Vasiliev は反対(優先度で足りる)。ストリーム数枯渇は優先度で防げない点は認められ、拡張ドラフト行きが読み筋 |
PUBLISH_OK での状態更新 |
直後の REQUEST_UPDATE に寄せて状態機械を単純化(異論なし) |
| どのトークンがエラー原因か | Auth デザインチーム送り |
| URL クエリ文字列の構造化 | key=value 形式の規範化を提案。Mike Bishop は技術的に問題なしと評価。議論が噛み合わず持ち越し |
| バージョンと拡張の関係 | 「新バージョンは既存拡張の可否を列挙しなければならない」という MUST は非現実的として緩和へ |
Live Agent 向けフィードバック要件(Yanmei / Alibaba)
Omni モデルとのビデオ通話アプリで MoQ と WebRTC を A/B 比較し、0-RTT によるセッション確立の速さ、マルチストリーム優先度による QoS、TTFT の改善を報告(10万コネクション規模)。リレー構成向けに「ラストマイル用(L1 リレーが消費)」と「オリジン用(L1 が転送、集約可)」の2種のフィードバックを提案。
セッション3(7/24)— 相互接続性と応用ドラフト
Interop レポート(Mike English)
自動 interop runner の結果に加え、Wiki でアドホックな相互接続報告も収集開始。draft-18 の相互接続性は draft-16 ほど堅くないというのが共通認識で、次回 Seattle interop を 18 のままにするか 20 に進めるかは、9月初旬に virtual interop day を挟んで判断する案が出た。
Jordi(Meta)から2案:①破壊的変更の機会を使って「同じことをする複数のやり方」を廃止し1つに絞る、②interop レベルの定義(レベル1=subscribe/live のみ、レベル2=+fetch…)。いずれも支持を集めた。
MSF / CMSF(Will Law)
- トラックフィールドのデルタ更新機構
- init data をトラックプロパティ(不変)/オブジェクトプロパティ(可変、グループ先頭に付与し反復必須)で運ぶ機能
- プロパティ登録先について「IETF 仕様がアプリケーション固有領域を参照すべきではない」(Mo Zanaty、Rohan Mahy)との強い意見。MOQT の標準アクション領域に登録し LOC と共有する方針に。「application-specific use」という語は private use に改めるべきとの指摘も
- カタログを空トラック名(null)に既定化する案、GOP 長の異なるトラック間切替(keyframe spacing 属性)の提案を議論
Tempo(Suhas Nandakumar、draft-nandakumar-moq-tempo)
視聴者間の同期再生。オブジェクトごとに capture timestamp・playout delay・hop time の3プロパティを載せ、リレーが hop time を更新。サブスクライバのフィードバックを sync server が集約してオリジンの遅延を調整。
会場からは「百万規模では中央のフィードバック集約は非現実的、各プレイヤーがステートレスに近い形で自律調整すべき」(Will Law、Ali、Jordi)という批判が集中。再生速度の微調整による局所補正、Top-N フィルタでフィードバックを統計的に間引く案が示された。
Mocha(Cullen Jennings、draft-ietf-moq-mocha-*)
チャットとビデオ会議を SFU やアプリサーバを一切使わずリレーのみで実現するデモ。
- チャット:参加者ごとのトラックに、先行メッセージへの参照を含めて DAG を形成し順序を復元。グループ番号を時間区間に対応させて過去分を fetch
- 会議:subscribe namespace で参加者を発見し、Top-N とトラックフィルタでアクティブスピーカー2名を選択
- 認可は CAT + DPoP、E2EE は MLS + secure objects
要件を具体化するための素材として提示され、「別の綴り方でベースドラフトを簡素化できるなら変更に前向き」との姿勢が示された。
Top Tracks Filter(Top-N、Mo Zanaty、PR #1518)
会議のアクティブスピーカー、監視カメラ、対戦ゲーム、フィード、オークションなどのファンイン用途。MAX_TOP_TRACKS セットアップオプション(N を8ビット=最大 255 に縮小)と、プロパティ型と N を指定するフィルタパラメータのみのシンプルな設計(spec text +135 行)。実装は moqtail / quicr-laps / cloudflare-moq-rs / openmoq-moqx の4つ。
「これが無いとリレー網の各段で枝刈りできず、結局アプリサーバを置くことになり MoQ を使う意味がなくなる」というのが推進側の主張。
通底したプロセス上の対立
今回最も緊張が高かったのは技術ではなくプロセスだった。
初日の agenda bash で Cullen Jennings が、Top-N を別ドラフトにするというチェアの判断について「7対7の分裂は合意ではない。合意なしを『自分のやりたい方をやる』と読み替えるのは妥当でない」として正式に異議を表明。チェアは「作業を進めること自体には強いコンセンサスがあり、MOQT 本体に取り込むことには rough consensus すら無かった」ため chair's decision として別ドラフト化を求めた、と回答した。
同じ構図は木曜の SSTS でも再現し、Ian Swett が「エディタが単独で merge/reject の判断を負わされたくない」と述べたことから、大きな機能については ML でのコンセンサスコールを行うという運用が確認された。Colin Perkins からは「アルゴリズム0だけを別ドラフトに切り出し、拡張点を含む枠組みは本体に残す」という第三案も提示。Top-N・SSTS ともに、PR を整理したうえでメーリングリストでコンセンサスコールにかける形で決着した。
今後の予定
- Virtual interim:8月10日、8月24日、9月8日(火・米労働者の日の影響)、9月21日、いずれも 1630–1800 UTC
- Hybrid interim:F5 社(シアトル、WA)、10月12–13日 interop、10月14–15日 issue 討議
- draft-20:9月14日頃を目標(次回 interop ターゲット候補)
- Auth デザインチームは10月の interim までに3課題への回答を提出予定
余談
Meetecho による「MoQ セッションを MoQ で配信する」実験が3セッションを通じて実施された(https://moq.conf.meetecho.com/ietf126-moq/)。チェアの「MoQ で MoQ が見られるなら、もう完成ということで出荷していいのでは?」という冗談が繰り返し登場した。