RFC 9287 - Greasing the QUIC Bit
- ステータス: Proposed Standard
- 発行日: August 2022
- ストリーム: IETF
- エラッタ: エラッタなし
Abstract
This document describes a method for negotiating the ability to send an arbitrary value for the second-most significant bit in QUIC packets.
このドキュメントでは、QUICパケットの2番目に重要なビットに任意の値を送信する機能をネゴシエートする方法について説明します。
Status of This Memo
This is an Internet Standards Track document.
これはインターネット標準化過程の文書です。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.
このドキュメントは、Internet Engineering Task Force(IETF)の成果物です。これはIETFコミュニティのコンセンサスを表しています。公開レビューを受けており、Internet Engineering Steering Group(IESG)によって公開が承認されています。インターネット標準の詳細については、RFC 7841のセクション2を参照してください。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9287.
このドキュメントの現在のステータス、正誤表、およびフィードバックの提供方法に関する情報は、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.
Copyright (c) 2022 IETF Trustおよびドキュメントの作成者として特定された人物。全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.
このドキュメントは、このドキュメントの発行日に有効なBCP 78およびIETFドキュメントに関連するIETFトラストの法的規定(https://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するお客様の権利と制限について説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、トラスト法的規定のセクション4.eで説明されている改訂BSDライセンスのテキストが含まれている必要があり、改訂BSDライセンスで説明されている保証なしで提供されます。
Table of Contents
-
- Introduction
-
- Conventions and Definitions
-
- The Grease QUIC Bit Transport Parameter
-
- Security Considerations
-
- IANA Considerations
-
- References
- Author's Address
1. Introduction
The version-independent definition of QUIC [QUIC-INVARIANTS] intentionally describes a very narrow set of fields that are visible to entities other than endpoints. Beyond those characteristics that are invariant, very little about the "wire image" [RFC8546] of QUIC is visible.
QUICのバージョンに依存しない定義[QUIC-INVARIANTS]は、エンドポイント以外のエンティティに表示される非常に狭いフィールドセットを意図的に記述しています。不変であるこれらの特性を超えて、QUICの「ワイヤーイメージ」[RFC8546]についてはほとんど見えません。
The second-most significant bit of the first byte in every QUIC packet is defined as having a fixed value in QUIC version 1 [QUIC]. The purpose of having a fixed value is to allow endpoints to efficiently distinguish QUIC from other protocols; see [DEMUX] for a description of a system that might use this property. As this bit can identify a packet as QUIC, it is sometimes referred to as the "QUIC Bit".
すべてのQUICパケットの最初のバイトの2番目に重要なビットは、QUICバージョン1 [QUIC]で固定値を持つように定義されています。固定値を持つ目的は、エンドポイントがQUICを他のプロトコルと効率的に区別できるようにすることです。このプロパティを使用する可能性のあるシステムの説明については、[DEMUX]を参照してください。このビットはパケットをQUICとして識別できるため、「QUICビット」と呼ばれることもあります。
Where endpoints and the intermediaries that support them do not depend on the QUIC Bit having a fixed value, sending the same value in every packet is more of a liability than an asset. If systems come to depend on a fixed value, then it might become infeasible to define a version of QUIC that attributes semantics to this bit.
エンドポイントとそれをサポートする仲介者が、QUICビットが固定値を持つことに依存しない場合、すべてのパケットで同じ値を送信することは、資産というよりもむしろ責任です。システムが固定値に依存するようになると、このビットにセマンティクスを帰属させるQUICのバージョンを定義することが実行不可能になる可能性があります。
In order to safeguard future use of this bit, this document defines a QUIC transport parameter that indicates that an endpoint is willing to receive QUIC packets containing any value for this bit. By sending different values for this bit, the hope is that the value will remain available for future use [USE-IT].
このビットの将来の使用を保護するために、このドキュメントでは、エンドポイントがこのビットの任意の値を含むQUICパケットを受信する意思があることを示すQUICトランスポートパラメータを定義します。このビットに異なる値を送信することで、その値が将来の使用のために利用可能なままになることが期待されます[USE-IT]。
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
このドキュメントのキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", および "OPTIONAL" は、BCP 14 [RFC2119] [RFC8174] で説明されているように解釈されます。これらは、ここに示すようにすべて大文字で表示される場合にのみ適用されます。
This document uses terms and notational conventions from [QUIC].
このドキュメントでは、[QUIC]の用語と表記規則を使用しています。
3. The Grease QUIC Bit Transport Parameter
The grease_quic_bit transport parameter (0x2ab2) is defined for QUIC version 1 [QUIC]. This transport parameter can be sent by both client and server. The transport parameter is sent with an empty value; an endpoint that understands this transport parameter MUST treat receipt of a non-empty value of the transport parameter as a connection error of type TRANSPORT_PARAMETER_ERROR.
grease_quic_bitトランスポートパラメータ(0x2ab2)は、QUICバージョン1 [QUIC]用に定義されています。このトランスポートパラメータは、クライアントとサーバーの両方で送信できます。トランスポートパラメータは空の値で送信されます。このトランスポートパラメータを理解するエンドポイントは、空でない値のトランスポートパラメータの受信をタイプTRANSPORT_PARAMETER_ERRORの接続エラーとして扱わなければなりません(MUST)。
An endpoint that advertises the grease_quic_bit transport parameter MUST accept packets with the QUIC Bit set to a value of 0. The QUIC Bit is defined as the second-most significant bit of the first byte of QUIC packets (that is, the value 0x40).
grease_quic_bitトランスポートパラメータをアドバタイズするエンドポイントは、QUICビットが値0に設定されたパケットを受け入れなければなりません(MUST)。QUICビットは、QUICパケットの最初のバイトの2番目に重要なビット(つまり、値0x40)として定義されます。
3.1. Clearing the QUIC Bit
Endpoints that receive the grease_quic_bit transport parameter from a peer SHOULD set the QUIC Bit to an unpredictable value unless another extension assigns specific meaning to the value of the bit.
ピアからgrease_quic_bitトランスポートパラメータを受信するエンドポイントは、別の拡張機能がビットの値に特定の意味を割り当てない限り、QUICビットを予測不可能な値に設定すべきです(SHOULD)。
Endpoints can set the QUIC Bit to 0 on all packets that are sent after receiving and processing transport parameters. This could include Initial, Handshake, and Retry packets.
エンドポイントは、トランスポートパラメータを受信して処理した後に送信されるすべてのパケットでQUICビットを0に設定できます。これには、Initial、Handshake、およびRetryパケットが含まれる可能性があります。
A client MAY also set the QUIC Bit to 0 in Initial, Handshake, or 0-RTT packets that are sent prior to receiving transport parameters from the server. However, a client MUST NOT set the QUIC Bit to 0 if it also sends a token provided in a Retry packet or in a NEW_TOKEN frame (Section 19.7 of [QUIC]).
クライアントは、サーバーからトランスポートパラメータを受信する前に送信されるInitial、Handshake、または0-RTTパケットでQUICビットを0に設定することもできます(MAY)。ただし、クライアントは、RetryパケットまたはNEW_TOKENフレーム([QUIC]のセクション19.7)で提供されたトークンも送信する場合、QUICビットを0に設定してはなりません(MUST NOT)。
3.2. Using the QUIC Bit
This document describes a use of the QUIC Bit that is compatible with the definition in [QUIC].
このドキュメントでは、[QUIC]の定義と互換性のあるQUICビットの使用法について説明します。
4. Security Considerations
Greasing the QUIC Bit is intended to safeguard the future use of the bit. It does not provide any security properties.
QUICビットのグリース化は、ビットの将来の使用を保護することを目的としています。セキュリティプロパティは提供しません。
5. IANA Considerations
This document registers the grease_quic_bit transport parameter in the "QUIC Transport Parameters" registry established in Section 22.3 of [QUIC].
このドキュメントでは、[QUIC]のセクション22.3で確立された「QUIC Transport Parameters」レジストリにgrease_quic_bitトランスポートパラメータを登録します。
The following fields are registered:
次のフィールドが登録されています。
- 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]