RFC 9287 - QUIC ビットのグリース (Greasing the QUIC Bit)
- ステータス: Proposed Standard
- 発行日: August 2022
- Stream: IETF
- エラッタ: エラッタなし
概要 (Abstract)
本文書は、QUIC パケットにおいて 2 番目に重要なビットに任意の値を送信する能力を交渉する方法を記述する。
本メモの状態 (Status of This Memo)
これは Internet Standards Track 文書である。
本文書は Internet Engineering Task Force (IETF) の成果物である。IETF コミュニティのコンセンサスを表す。公開レビューを受け、Internet Engineering Steering Group (IESG) による公開が承認されている。Internet Standards の詳細は RFC 7841 の Section 2 を参照。
本文書の現状、エラッタ、フィードバック方法については https://www.rfc-editor.org/info/rfc9287 を参照。
著作権表示 (Copyright Notice)
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.
本文書は BCP 78 および IETF Trust の IETF Documents に関する法的規定 (https://trustee.ietf.org/license-info) に従う(公開日時点で有効なもの)。これらは本文書に関する権利と制限を記述するため、注意深く確認すること。本文書から抽出したコードコンポーネントには、Trust Legal Provisions の Section 4.e に記載の Revised BSD License テキストを含める必要があり、当該ライセンスに記載のとおり無保証で提供される。
目次 (Table of Contents)
-
- はじめに (Introduction)
-
- 規約と定義 (Conventions and Definitions)
-
- Grease QUIC Bit トランスポートパラメータ
-
- セキュリティ考慮事項 (Security Considerations)
-
- IANA 考慮事項 (IANA Considerations)
-
- 参考文献 (References)
- 著者の連絡先 (Author's Address)
1. はじめに (Introduction)
QUIC のバージョン非依存の定義 [QUIC-INVARIANTS] は、意図的にエンドポイント以外のエンティティに見えるフィールドを非常に狭い集合に限定して記述する。不変な特性を超えると、QUIC の「ワイヤイメージ」(wire image) [RFC8546] について見えるものはほとんどない。
QUIC バージョン 1 [QUIC] では、すべての QUIC パケットの先頭バイトの 2 番目に重要なビットは固定値を持つと定義される。固定値の目的は、エンドポイントが QUIC を他のプロトコルから効率的に区別できるようにすることである。この特性を用いるシステムの説明は [DEMUX] を参照。このビットはパケットを QUIC として識別できるため、「QUIC ビット」(QUIC Bit) と呼ばれることがある。
エンドポイントおよびそれを支える中間者が QUIC ビットの固定値に依存しない場合、すべてのパケットで同じ値を送ることは資産というより負債になり得る。システムが固定値に依存するようになると、このビットに意味を与える QUIC バージョンを定義することが困難になる可能性がある。
このビットの将来の利用を守るため、本文書は、エンドポイントがこのビットに任意の値を含む QUIC パケットを受信する意思があることを示す QUIC トランスポートパラメータを定義する。このビットに異なる値を送ることで、将来も利用可能であり続けることが期待される [USE-IT]。
2. 規約と定義 (Conventions and Definitions)
キーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", "OPTIONAL" は、すべて大文字で現れる場合に限り、BCP 14 [RFC2119] [RFC8174] の記述に従って解釈される。
本文書は [QUIC] の用語と記法を用いる。
3. Grease QUIC Bit トランスポートパラメータ (The Grease QUIC Bit Transport Parameter)
grease_quic_bit トランスポートパラメータ (0x2ab2) は QUIC バージョン 1 [QUIC] 向けに定義される。このトランスポートパラメータはクライアントとサーバの双方が送信できる。値は空で送られ、このパラメータを理解するエンドポイントは、非空の値の受信を TRANSPORT_PARAMETER_ERROR 型の接続エラーとして扱わなければならない (MUST)。
grease_quic_bit をアドバタイズするエンドポイントは、QUIC ビットが 0 に設定されたパケットを受理しなければならない (MUST)。QUIC ビットは QUIC パケット先頭バイトの 2 番目に重要なビット(値 0x40)として定義される。
3.1. QUIC ビットのクリア (Clearing the QUIC Bit)
ピアから grease_quic_bit を受信したエンドポイントは、別の拡張がそのビット値に特定の意味を割り当てない限り、QUIC ビットを予測不能な値に設定すべきである (SHOULD)。
エンドポイントは、トランスポートパラメータを受信・処理した後に送るすべてのパケットで QUIC ビットを 0 に設定できる。これには Initial、Handshake、Retry パケットが含まれ得る。
クライアントは、サーバからトランスポートパラメータを受信する前に送る Initial、Handshake、または 0-RTT パケットでも QUIC ビットを 0 に設定してもよい (MAY)。ただし、Retry パケットまたは NEW_TOKEN フレーム ([QUIC] の Section 19.7) で提供されたトークンも送る場合、クライアントは QUIC ビットを 0 に設定してはならない (MUST NOT)。
3.2. QUIC ビットの使用 (Using the QUIC Bit)
本文書が記述する QUIC ビットの使用は [QUIC] の定義と互換である。
4. セキュリティ考慮事項 (Security Considerations)
QUIC ビットのグリースは、ビットの将来利用を守ることを意図する。セキュリティ特性は提供しない。
5. IANA 考慮事項 (IANA Considerations)
本文書は、[QUIC] の Section 22.3 で確立された "QUIC Transport Parameters" レジストリに grease_quic_bit トランスポートパラメータを登録する。
登録フィールド:
- Value: 0x2ab2
- Parameter Name: grease_quic_bit
- Status: Permanent
- Specification: RFC 9287
6. 参考文献 (References)
6.1. 規範的参考文献 (Normative References)
[QUIC] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, https://www.rfc-editor.org/info/rfc9000.
[QUIC-INVARIANTS] Thomson, M., "Version-Independent Properties of QUIC", RFC 8999, DOI 10.17487/RFC8999, May 2021, https://www.rfc-editor.org/info/rfc8999.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, https://www.rfc-editor.org/info/rfc2119.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, https://www.rfc-editor.org/info/rfc8174.
6.2. 参考情報 (Informative References)
[DEMUX] Kühlewind, M. and C. Huitema, "Multiplexing Scheme Updates for QUIC", Work in Progress, Internet-Draft, draft-ietf-quic-multiplexing-02, 22 October 2020, https://datatracker.ietf.org/doc/html/draft-ietf-quic-multiplexing-02.
[RFC8546] Trammell, B. and M. Kühlewind, "The Wire Image of a Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April 2019, https://www.rfc-editor.org/info/rfc8546.
[USE-IT] Thomson, M., "Use It or Lose It", RFC 9170, DOI 10.17487/RFC9170, December 2021, https://www.rfc-editor.org/info/rfc9170.
著者の連絡先 (Author's Address)
Martin Thomson Mozilla Email: [email protected]