[要約] RFC 9221は、QUICトランスポートプロトコルに信頼性のないデータグラムを送受信するための拡張を定義しています。その目的は、QUIC接続上で信頼性のないデータを扱う機能を追加することです。

Internet Engineering Task Force (IETF)                          T. Pauly
Request for Comments: 9221                                    E. Kinnear
Category: Standards Track                                     Apple Inc.
ISSN: 2070-1721                                              D. Schinazi
                                                              Google LLC
                                                              March 2022
        

An Unreliable Datagram Extension to QUIC

熟練した信頼できないデータグラム拡張

Abstract

概要

This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.

このドキュメントは、QUIC接続を介して信頼性の低いデータグラムを送受信するためのサポートを追加するためのQUICトランスポートプロトコルへの拡張子を定義します。

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.

この文書はインターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表します。それはパブリックレビューを受け、インターネットエンジニアリングステアリンググループ(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/rfc9221.

この文書の現在のステータス、任意のエラータ、およびフィードバックを提供する方法は、https://www.rfc-editor.org/info/frfc922で取得できます。

Copyright Notice

著作権表示

Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(c)2022 IETF信頼と文書の著者として識別された人。全著作権所有。

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.

この文書は、この文書の公開日に有効なIETF文書(https://trustee.ietf.org/License-Info)に関するBCP 78およびIETF信頼の法的規定の対象となります。この文書に関してあなたの権利と制限を説明するので、これらの文書をよくレビューしてください。この文書から抽出されたコードコンポーネントには、信託法定規定のセクション4。

Table of Contents

目次

   1.  Introduction
     1.1.  Specification of Requirements
   2.  Motivation
   3.  Transport Parameter
   4.  Datagram Frame Types
   5.  Behavior and Usage
     5.1.  Multiplexing Datagrams
     5.2.  Acknowledgement Handling
     5.3.  Flow Control
     5.4.  Congestion Control
   6.  Security Considerations
   7.  IANA Considerations
     7.1.  QUIC Transport Parameter
     7.2.  QUIC Frame Types
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Acknowledgments
   Authors' Addresses
        
1. Introduction
1. はじめに

The QUIC transport protocol [RFC9000] provides a secure, multiplexed connection for transmitting reliable streams of application data. QUIC uses various frame types to transmit data within packets, and each frame type defines whether the data it contains will be retransmitted. Streams of reliable application data are sent using STREAM frames.

QUICトランスポートプロトコル[RFC9000]は、信頼性の高いアプリケーションデータを送信するための安全な多重化接続を提供します。QUICは、さまざまなフレームタイプを使用してパケット内でデータを送信し、各フレームタイプは、それが含むデータが再送信されるかどうかを定義します。信頼性のあるアプリケーションデータのストリームはストリームフレームを使用して送信されます。

Some applications, particularly those that need to transmit real-time data, prefer to transmit data unreliably. In the past, these applications have built directly upon UDP [RFC0768] as a transport and have often added security with DTLS [RFC6347]. Extending QUIC to support transmitting unreliable application data provides another option for secure datagrams with the added benefit of sharing the cryptographic and authentication context used for reliable streams.

いくつかの用途、特にリアルタイムデータを送信する必要があるものは、データを強制的に送信することを好む。過去には、これらのアプリケーションは輸送としてUDP [RFC0768]を直接構築し、DTLS [RFC6347]でセキュリティを追加しました。信頼性の低いアプリケーションデータの送信をサポートするためにQUICの拡張信頼性の高いストリームに使用される暗号化コンテキストと認証コンテキストを共有するという追加の利点を持つ安全なデータグラムのための別のオプションが提供されます。

This document defines two new DATAGRAM QUIC frame types that carry application data without requiring retransmissions.

このドキュメントは、再送信を必要とせずにアプリケーションデータを搬送する2つの新しいデータグラムのQUICのフレームタイプを定義します。

1.1. Specification of Requirements
1.1. 要件の指定

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", "MAY", および "OPTIONAL" はBCP 14 [RFC2119] [RFC8174]で説明されているように、すべて大文字の場合にのみ解釈されます。

2. Motivation
2. モチベーション

Transmitting unreliable data over QUIC provides benefits over existing solutions:

QUIC上で信頼性の低いデータを送信すると、既存のソリューションを超える利点があります。

* Applications that want to use both a reliable stream and an unreliable flow to the same peer can benefit by sharing a single handshake and authentication context between a reliable QUIC stream and a flow of unreliable QUIC datagrams. This can reduce the latency required for handshakes compared to opening both a TLS connection and a DTLS connection.

* 信頼できるストリームと信頼性の低いフローの両方を同じピアに使用したいアプリケーションは、信頼できるQUICストリームと信頼性の低いQUICデータグラムのフローとの間で単一のハンドシェイクと認証コンテキストを共有することによって利益を得ることができます。これにより、TLS接続とDTLS接続の両方を開くと比較して、ハンドシェイクに必要な待ち時間を短縮できます。

* QUIC uses a more nuanced loss recovery mechanism than the DTLS handshake. This can allow loss recovery to occur more quickly for QUIC data.

* QUICはDTLSハンドシェイクよりも微妙な損失回復メカニズムを使用します。これにより、QUICデータに対して損失回復がより迅速に発生することができます。

* QUIC datagrams are subject to QUIC congestion control. Providing a single congestion control for both reliable and unreliable data can be more effective and efficient.

* QUICデータグラムは、熟練した輻輳制御の対象となります。信頼性と信頼性の低いデータの両方に対して単一の輻輳制御を提供することは、より効果的で効率的になる可能性があります。

These features can be useful for optimizing audio/video streaming applications, gaming applications, and other real-time network applications.

これらの機能は、オーディオ/ビデオストリーミングアプリケーション、ゲーミングアプリケーション、およびその他のリアルタイムネットワークアプリケーションを最適化するのに役立ちます。

Unreliable QUIC datagrams can also be used to implement an IP packet tunnel over QUIC, such as for a Virtual Private Network (VPN). Internet-layer tunneling protocols generally require a reliable and authenticated handshake followed by unreliable secure transmission of IP packets. This can, for example, require a TLS connection for the control data and DTLS for tunneling IP packets. A single QUIC connection could support both parts with the use of unreliable datagrams in addition to reliable streams.

信頼性の低いQUICデータグラムは、仮想プライベートネットワーク(VPN)など、QUIC上でIPパケットトンネルを実装するためにも使用できます。インターネットレイヤトンネリングプロトコルは、一般に、信頼性が高く認証されたハンドシェイクとそれに続くIPパケットの安全な安全な送信を必要とします。これは、例えば、IPパケットをトンネリングするための制御データおよびDTLのためのTLS接続を必要とすることができる。単一のQUIC接続は、信頼できるストリームに加えて、信頼性の低いデータグラムを使用して両方の部分をサポートできます。

3. Transport Parameter
3. トランスポートパラメータ

Support for receiving the DATAGRAM frame types is advertised by means of a QUIC transport parameter (name=max_datagram_frame_size, value=0x20). The max_datagram_frame_size transport parameter is an integer value (represented as a variable-length integer) that represents the maximum size of a DATAGRAM frame (including the frame type, length, and payload) the endpoint is willing to receive, in bytes.

データグラムフレームタイプを受信するためのサポートは、QUICトランスポートパラメータ(name = max_datagram_frame_size、value = 0x20)によってアドバタイズされます。max_datagram_frame_sizeトランスポートパラメータは、エンドポイントが受信したいと思っているデータグラムフレームの最大サイズを表す整数値(可変長整数として表しています)は、エンドポイントが受信したいと思っています。

The default for this parameter is 0, which indicates that the endpoint does not support DATAGRAM frames. A value greater than 0 indicates that the endpoint supports the DATAGRAM frame types and is willing to receive such frames on this connection.

このパラメータのデフォルトは0です。これは、エンドポイントがデータグラムフレームをサポートしていないことを示します。0より大きい値は、エンドポイントがデータグラムフレームタイプをサポートし、この接続でそのようなフレームを受信しても構わないことを示します。

An endpoint MUST NOT send DATAGRAM frames until it has received the max_datagram_frame_size transport parameter with a non-zero value during the handshake (or during a previous handshake if 0-RTT is used). An endpoint MUST NOT send DATAGRAM frames that are larger than the max_datagram_frame_size value it has received from its peer. An endpoint that receives a DATAGRAM frame when it has not indicated support via the transport parameter MUST terminate the connection with an error of type PROTOCOL_VIOLATION. Similarly, an endpoint that receives a DATAGRAM frame that is larger than the value it sent in its max_datagram_frame_size transport parameter MUST terminate the connection with an error of type PROTOCOL_VIOLATION.

エンドポイントは、ハンドシェイク中(または0-RTTの場合は前のハンドシェイク中に前のハンドシェイク中に)MAX_DATARMAGRAM_FRAME_SIZEトランスポートパラメータをゼロ以外の値で受信するまでデータグラムフレームを送信してはなりません。エンドポイントは、ピアから受信したMAX_DATARMAM_FRAME_SIZE値よりも大きいデータグラムフレームを送信してはなりません。トランスポートパラメータを介してサポートが示されていないときにデータグラムフレームを受信するエンドポイントは、PROTOCOL_VIOLATIONタイプのエラーとの接続を終了する必要があります。同様に、そのMAX_DATARMAM_FRAME_SIZEトランスポートパラメータで送信された値よりも大きいデータグラムフレームを受信するエンドポイントは、PROTOCOL_VIOLATION型のエラーとの接続を終了する必要があります。

For most uses of DATAGRAM frames, it is RECOMMENDED to send a value of 65535 in the max_datagram_frame_size transport parameter to indicate that this endpoint will accept any DATAGRAM frame that fits inside a QUIC packet.

データグラムフレームのほとんどの用途では、このエンドポイントがQUICパケット内に収まるデータグラムフレームを受け入れることを示すために、MAX_DATARMAGRAM_FRAME_SIZEトランスポートパラメータの値を送信することをお勧めします。

The max_datagram_frame_size transport parameter is a unidirectional limit and indication of support of DATAGRAM frames. Application protocols that use DATAGRAM frames MAY choose to only negotiate and use them in a single direction.

max_datagram_frame_sizeトランスポートパラメータは、データグラムフレームのサポートの一方向の制限と表示です。データグラムフレームを使用するアプリケーションプロトコルは、それらを単一の方向に交渉して使用することを選択できます。

When clients use 0-RTT, they MAY store the value of the server's max_datagram_frame_size transport parameter. Doing so allows the client to send DATAGRAM frames in 0-RTT packets. When servers decide to accept 0-RTT data, they MUST send a max_datagram_frame_size transport parameter greater than or equal to the value they sent to the client in the connection where they sent them the NewSessionTicket message. If a client stores the value of the max_datagram_frame_size transport parameter with their 0-RTT state, they MUST validate that the new value of the max_datagram_frame_size transport parameter sent by the server in the handshake is greater than or equal to the stored value; if not, the client MUST terminate the connection with error PROTOCOL_VIOLATION.

クライアントが0-RTTを使用すると、サーバーのmax_datagram_frame_sizeトランスポートパラメータの値が格納されている可能性があります。そうすることで、クライアントは0-RTTパケットでデータグラムフレームを送信できます。サーバーが0-RTTデータを受け入れることを決定するとき、それらはそれらがそれらを送信した接続内のクライアントに送信された値以上のmax_datagram_frame_sizeトランスポートパラメータを送信する必要があります。クライアントがMAX_DATAGRAMAR_FRAME_SIZEトランスポートパラメータの値を0-RTT状態に格納する場合、ハンドシェイク内のサーバーによって送信されたMAX_DATAGRAM_FRAME_SIZEトランスポートパラメータの新しい値が格納値以上であることを検証する必要があります。そうでない場合、クライアントはError Protocol_Violationとの接続を終了する必要があります。

Application protocols that use datagrams MUST define how they react to the absence of the max_datagram_frame_size transport parameter. If datagram support is integral to the application, the application protocol can fail the handshake if the max_datagram_frame_size transport parameter is not present.

データグラムを使用するアプリケーションプロトコルは、MAX_DATARMARG_FRAME_SIZEトランスポートパラメータの欠如にどのように反応するかを定義する必要があります。データグラムのサポートがアプリケーションに不可欠な場合、max_datagram_frame_sizeトランスポートパラメータが存在しない場合、アプリケーションプロトコルはハンドシェイクに失敗する可能性があります。

4. Datagram Frame Types
4. データグラムフレームタイプ

DATAGRAM frames are used to transmit application data in an unreliable manner. The Type field in the DATAGRAM frame takes the form 0b0011000X (or the values 0x30 and 0x31). The least significant bit of the Type field in the DATAGRAM frame is the LEN bit (0x01), which indicates whether there is a Length field present: if this bit is set to 0, the Length field is absent and the Datagram Data field extends to the end of the packet; if this bit is set to 1, the Length field is present.

データグラムフレームは、信頼性の低い方法でアプリケーションデータを送信するために使用されます。データグラムフレーム内のTypeフィールドは、0B0011000x(または0x30と0x31の値)を取ります。データグラムフレーム内のTypeフィールドの最下位ビットはLENビット(0x01)で、長さフィールドが存在するかどうかを示します。このビットが0に設定されている場合、長さフィールドは存在しなくなり、データグラムデータフィールドが存在します。パケットの終わりこのビットが1に設定されていると、長さフィールドが存在します。

DATAGRAM frames are structured as follows:

データグラムフレームは次のように構成されています。

   DATAGRAM Frame {
     Type (i) = 0x30..0x31,
     [Length (i)],
     Datagram Data (..),
   }
        

Figure 1: DATAGRAM Frame Format

図1:データグラムフレームフォーマット

DATAGRAM frames contain the following fields:

データグラムフレームには、次のフィールドが含まれています。

Length: A variable-length integer specifying the length of the Datagram Data field in bytes. This field is present only when the LEN bit is set to 1. When the LEN bit is set to 0, the Datagram Data field extends to the end of the QUIC packet. Note that empty (i.e., zero-length) datagrams are allowed.

長さ:データグラムデータフィールドの長さをバイト単位で指定する可変長整数。このフィールドは、LENビットが1に設定されている場合にのみ存在します.LENビットが0に設定されている場合、データグラムデータフィールドはQUICパケットの最後まで拡張されます。空(すなわち、ゼロ長)データグラムが許可されていることに注意してください。

Datagram Data: The bytes of the datagram to be delivered.

データグラムデータ:配信されるデータグラムのバイト数。

5. Behavior and Usage
5. 行動と使用法

When an application sends a datagram over a QUIC connection, QUIC will generate a new DATAGRAM frame and send it in the first available packet. This frame SHOULD be sent as soon as possible (as determined by factors like congestion control, described below) and MAY be coalesced with other frames.

アプリケーションがQUIC接続でデータグラムを送信すると、QUICは新しいデータグラムフレームを生成し、最初の利用可能なパケットに送信します。このフレームは、(後述する輻輳制御のような要因によって決定されるように)できるだけ早く送信されるべきであり、他のフレームと合体することができる。

When a QUIC endpoint receives a valid DATAGRAM frame, it SHOULD deliver the data to the application immediately, as long as it is able to process the frame and can store the contents in memory.

QUICエンドポイントが有効なデータグラムフレームを受信すると、フレームを処理でき、その内容をメモリに格納できる限り、データをすぐにアプリケーションに配信する必要があります。

Like STREAM frames, DATAGRAM frames contain application data and MUST be protected with either 0-RTT or 1-RTT keys.

ストリームフレームのように、データグラムフレームにはアプリケーションデータが含まれており、0-RTTキーまたは1-RTTキーのいずれかで保護する必要があります。

Note that while the max_datagram_frame_size transport parameter places a limit on the maximum size of DATAGRAM frames, that limit can be further reduced by the max_udp_payload_size transport parameter and the Maximum Transmission Unit (MTU) of the path between endpoints. DATAGRAM frames cannot be fragmented; therefore, application protocols need to handle cases where the maximum datagram size is limited by other factors.

max_datagram_frame_sizeトランスポートパラメータは、データグラムフレームの最大サイズの最大サイズに制限を配置しますが、その制限は、エンドポイント間のパスのMAX_UDP_PAYLOAD_SIZEトランスポートパラメータと最大伝送単位(MTU)によってさらに削減できます。データグラムフレームを断片化することはできません。したがって、アプリケーションプロトコルは、最大データグラムサイズが他の要因によって制限される場合を処理する必要があります。

5.1. Multiplexing Datagrams
5.1. 多重化データグラムの

DATAGRAM frames belong to a QUIC connection as a whole and are not associated with any stream ID at the QUIC layer. However, it is expected that applications will want to differentiate between specific DATAGRAM frames by using identifiers, such as for logical flows of datagrams or to distinguish between different kinds of datagrams.

データグラムフレームは全体としてQUIC接続に属し、QUIC層のストリームIDには関連付けられていません。ただし、データグラムの論理フローや異なる種類のデータグラムを区別するなど、特定のデータグラムフレーム間で特定のデータグラムフレームを区別することが期待されます。

Defining the identifiers used to multiplex different kinds of datagrams or flows of datagrams is the responsibility of the application protocol running over QUIC. The application defines the semantics of the Datagram Data field and how it is parsed.

さまざまな種類のデータグラムやデータグラムのフローを多重化するために使用される識別子を定義することは、QUIC上で実行されているアプリケーションプロトコルの責任です。アプリケーションは、データグラムデータフィールドのセマンティクスとそれがどのように解析されるかを定義します。

If the application needs to support the coexistence of multiple flows of datagrams, one recommended pattern is to use a variable-length integer at the beginning of the Datagram Data field. This is a simple approach that allows a large number of flows to be encoded using minimal space.

アプリケーションがデータグラムの複数のフローの共存をサポートする必要がある場合、1つの推奨パターンは、データグラムデータフィールドの先頭に可変長整数を使用することです。これは、最小限のスペースを使用して多数のフローを符号化することを可能にする簡単な方法です。

QUIC implementations SHOULD present an API to applications to assign relative priorities to DATAGRAM frames with respect to each other and to QUIC streams.

QUIC実装は、互いに対してデータグラムフレームおよびQUICストリームに対して相対的な優先順位を割り当てるためのアプリケーションにAPIを提示する必要があります。

5.2. Acknowledgement Handling
5.2. 謝辞扱い

Although DATAGRAM frames are not retransmitted upon loss detection, they are ack-eliciting ([RFC9002]). Receivers SHOULD support delaying ACK frames (within the limits specified by max_ack_delay) in response to receiving packets that only contain DATAGRAM frames, since the sender takes no action if these packets are temporarily unacknowledged. Receivers will continue to send ACK frames when conditions indicate a packet might be lost, since the packet's payload is unknown to the receiver, and when dictated by max_ack_delay or other protocol components.

データグラムフレームは損失検出時に再送信されていないが、ACK誘発([RFC9002])。受信者は、データグラムフレームのみを含むパケットのみを受け取ることに応答してACKフレームの遅延(MAX_ACK_DELAYで指定された制限内)をサポートしている必要があります。パケットのペイロードは受信機に知られていない場合、およびMAX_ACK_DELAYまたは他のプロトコルコンポーネントによって決定されている場合、受信側はACKフレームを送信し続けます。

As with any ack-eliciting frame, when a sender suspects that a packet containing only DATAGRAM frames has been lost, it sends probe packets to elicit a faster acknowledgement as described in Section 6.2.4 of [RFC9002].

任意のACKエリケーションフレームと同様に、送信者がデータグラムフレームのみを含むパケットが失われたと疑われる場合、[RFC9002]のセクション6.2.4で説明されているように、より速い確認応答を引き出すプローブパケットを送信します。

If a sender detects that a packet containing a specific DATAGRAM frame might have been lost, the implementation MAY notify the application that it believes the datagram was lost.

特定のデータグラムフレームを含むパケットが失われた可能性があることを送信者が検出した場合、実装はデータグラムが失われたと考えているアプリケーションに通知される可能性があります。

Similarly, if a packet containing a DATAGRAM frame is acknowledged, the implementation MAY notify the sender application that the datagram was successfully transmitted and received. Due to reordering, this can include a DATAGRAM frame that was thought to be lost but, at a later point, was received and acknowledged. It is important to note that acknowledgement of a DATAGRAM frame only indicates that the transport-layer handling on the receiver processed the frame and does not guarantee that the application on the receiver successfully processed the data. Thus, this signal cannot replace application-layer signals that indicate successful processing.

同様に、データグラムフレームを含むパケットが確認された場合、実装はデータグラムが正常に送受信されたことを送信者アプリケーションに通知することができる。並べ替えのため、これには失われたと考えられたデータグラムフレームを含めることができますが、後の時点で受信および認められました。データグラムフレームの確認応答は、受信側でのトランスポートレイヤの処理がフレームを処理し、受信側のアプリケーションがデータを正常に処理されたことを保証しないことに注意することが重要です。したがって、この信号は、成功した処理を示すアプリケーション層信号を置き換えることができない。

5.3. Flow Control
5.3. フロー制御

DATAGRAM frames do not provide any explicit flow control signaling and do not contribute to any per-flow or connection-wide data limit.

データグラムフレームは、明示的なフロー制御シグナリングを提供しておらず、フローごとまたは接続全体のデータ制限には寄与しません。

The risk associated with not providing flow control for DATAGRAM frames is that a receiver might not be able to commit the necessary resources to process the frames. For example, it might not be able to store the frame contents in memory. However, since DATAGRAM frames are inherently unreliable, they MAY be dropped by the receiver if the receiver cannot process them.

データグラムフレームのフロー制御を提供していないリスクは、受信側がフレームを処理するために必要なリソースをコミットできない可能性があることです。たとえば、フレーム内容をメモリに保存できない可能性があります。しかしながら、データグラムフレームは本質的に信頼性が低いので、受信機がそれらを処理できない場合、それらは受信機によってドロップされてもよい。

5.4. Congestion Control
5.4. 渋滞管理

DATAGRAM frames employ the QUIC connection's congestion controller. As a result, a connection might be unable to send a DATAGRAM frame generated by the application until the congestion controller allows it [RFC9002]. The sender MUST either delay sending the frame until the controller allows it or drop the frame without sending it (at which point it MAY notify the application). Implementations that use packet pacing (Section 7.7 of [RFC9002]) can also delay the sending of DATAGRAM frames to maintain consistent packet pacing.

データグラムフレームは、QUIC接続の輻輳コントローラを採用しています。その結果、接続によって生成されたデータグラムフレームを輻輳コントローラがそれを許可するように送信できない可能性があります[RFC9002]。送信者は、コントローラがそれを送信することなく、フレームをドロップするまでフレームの送信を遅らせる(アプリケーションに通知する可能性がある)。パケットペーシングを使用する実装([RFC9002]のセクション7.7)はまた、一貫したパケットペーシングを維持するためにデータグラムフレームの送信を遅らせる可能性があります。

Implementations can optionally support allowing the application to specify a sending expiration time beyond which a congestion-controlled DATAGRAM frame ought to be dropped without transmission.

実装はオプションでアプリケーションが送信制御データグラムフレームが送信されずにドロップされるべき送信待ち時間を指定することを可能にすることができます。

6. Security Considerations
6. セキュリティに関する考慮事項

The DATAGRAM frame shares the same security properties as the rest of the data transmitted within a QUIC connection, and the security considerations of [RFC9000] apply accordingly. All application data transmitted with the DATAGRAM frame, like the STREAM frame, MUST be protected either by 0-RTT or 1-RTT keys.

データグラムフレームは、QUIC接続内で送信されたデータと同じセキュリティプロパティを共有し、[RFC9000]のセキュリティ上の考慮事項はそれに応じて適用されます。ストリームフレームのようなデータグラムフレームで送信されたすべてのアプリケーションデータは、0-RTTキーまたは1-RTTキーのいずれかで保護する必要があります。

Application protocols that allow DATAGRAM frames to be sent in 0-RTT require a profile that defines acceptable use of 0-RTT; see Section 5.6 of [RFC9001].

データグラムフレームを0-RTTで送信できるようにするアプリケーションプロトコルは、0-RTTの許容可能な使用を定義するプロファイルを必要とします。[RFC9001]のセクション5.6を参照してください。

The use of DATAGRAM frames might be detectable by an adversary on path that is capable of dropping packets. Since DATAGRAM frames do not use transport-level retransmission, connections that use DATAGRAM frames might be distinguished from other connections due to their different response to packet loss.

データグラムフレームの使用は、パケットを落とすことができるパス上の敵対者によって検出可能であるかもしれません。データグラムフレームはトランスポートレベルの再送信を使用しないため、データグラムフレームを使用する接続は、パケット損失に対するそれらの異なる応答のために他の接続と区別される可能性があります。

7. IANA Considerations
7. IANAの考慮事項
7.1. QUIC Transport Parameter
7.1. QUICトランスポートパラメータ

This document registers a new value in the "QUIC Transport Parameters" registry maintained at <https://www.iana.org/assignments/ quic>.

このドキュメントは、<https://www.iana.org/ashignments / QUIC>で保持されている「QUICトランスポートパラメータ」レジストリに新しい値を登録します。

Value: 0x20 Parameter Name: max_datagram_frame_size Status: permanent Specification: RFC 9221

値:0x20パラメータ名:MAX_DATARM_FRAME_SIZEステータス:永続仕様:RFC 9221

7.2. QUIC Frame Types
7.2. QUICフレームタイプ

This document registers two new values in the "QUIC Frame Types" registry maintained at <https://www.iana.org/assignments/quic>.

このドキュメントは、<https://www.iana.org/ashignments/quic>で保持されている「QUICのフレームタイプ」レジストリに2つの新しい値を登録します。

Value: 0x30-0x31 Frame Name: DATAGRAM Status: permanent Specification: RFC 9221

値:0x30-0x31フレーム名:データグラムステータス:永久仕様:RFC 9221

8. References
8. 参考文献
8.1. Normative References
8.1. 引用文献

[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>.

[RFC2119] BRADNER、S、「RFCで使用するためのキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、<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>.

[RFC8174] Leiba、B.、RFC 2119キーワードの「大文字の曖昧さ」、BCP 14、RFC 8174、DOI 10.17487 / RFC8174、2017年5月、<https://www.rfc-editor.org/info/RFC8174>。

[RFC9000] 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>.

[RFC9000] Iyengar、J.、ED。M. Thomson、ED。、「QUIC:UDPベースの多重化および安全な輸送」、RFC 9000、DOI 10.17487 / RFC9000、2021年5月、<https://www.rfc-editor.org/info/rfc9000>。

[RFC9001] Thomson, M., Ed. and S. Turner, Ed., "Using TLS to Secure QUIC", RFC 9001, DOI 10.17487/RFC9001, May 2021, <https://www.rfc-editor.org/info/rfc9001>.

[RFC9001] Thomson、M.、ED。S。ターナー、ed。、「TLSを使用して、QUICをセキュリティにする」、RFC 9001、DOI 10.17487 / RFC9001、2021年5月、<https://www.rfc-editor.org/info/rfc9001>。

[RFC9002] Iyengar, J., Ed. and I. Swett, Ed., "QUIC Loss Detection and Congestion Control", RFC 9002, DOI 10.17487/RFC9002, May 2021, <https://www.rfc-editor.org/info/rfc9002>.

[RFC9002] Iyengar、J.、Ed。I.Swett、Ed。、「QUIC損失検出および輻輳制御」、RFC 9002、DOI 10.17487 / RFC9002、2021年5月、<https://www.rfc-editor.org/info/rfc9002>。

8.2. Informative References
8.2. 参考引用

[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI 10.17487/RFC0768, August 1980, <https://www.rfc-editor.org/info/rfc768>.

[RFC0768] Postel、J.、 "User Datagram Protocol"、STD 6、RFC 768、DOI 10.17487 / RFC0768、1980年8月、<https://www.rfc-editor.org/info/rfc768>。

[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, January 2012, <https://www.rfc-editor.org/info/rfc6347>.

[RFC6347] Rescorla、E.およびN. ModAdugu、「データグラムトランスポート層セキュリティバージョン1.2」、RFC 6347、DOI 10.17487 / RFC6347、2012年1月、<https://www.rfc-editor.org/info/rfc6347>。

Acknowledgments

謝辞

The original proposal for this work came from Ian Swett.

この作品の元の提案はIANSWETTから来ました。

This document had reviews and input from many contributors in the IETF QUIC Working Group, with substantive input from Nick Banks, Lucas Pardue, Rui Paulo, Martin Thomson, Victor Vasiliev, and Chris Wood.

この文書では、Nick Banks、Lucas Pardue、Rui Paulo、Martin Thomson、Victor Vasiliev、Chris Woodからの実質的な入力を備えた、IETF QUICワーキクルグループの多くの貢献者からレビューと入力がありました。

Authors' Addresses

著者の住所

Tommy Pauly Apple Inc. One Apple Park Way Cupertino, CA 95014 United States of America Email: tpauly@apple.com

Tommy Pouly Apple Inc. 1アップルパークウェイCupertino、CA 95014アメリカ合衆国Eメール:TPAULY@APPLE.com

Eric Kinnear Apple Inc. One Apple Park Way Cupertino, CA 95014 United States of America Email: ekinnear@apple.com

Eric Kinnear Apple Inc. 1アップルパークウェイCupertino、CA 95014アメリカ合衆国Eメール:Ekinnear@apple.com

David Schinazi Google LLC 1600 Amphitheatre Parkway Mountain View, CA 94043 United States of America Email: dschinazi.ietf@gmail.com

David Schinazi Google LLC 1600 Amphitheater Parkway Mountain View、CA 94043アメリカ合衆国Eメール:dschinazi.ietf@gmail.com