メインコンテンツまでスキップ

13. パケット化と信頼性

13. パケット化と信頼性

送信者は、QUICパケット内で1つ以上のフレームを送信します (セクション 12.4)。送信者は、各QUICパケットにできるだけ多くのフレームを含めることで、パケットごとの帯域幅と計算コストを最小化できます。送信者は、大量の小さなパケットを送信することを避けるために、最大限に詰め込まれていないパケットを送信する前に、複数のフレームを収集するために短い期間待つことができます (MAY)。

13.1 パケット処理

パケットは、パケット保護が正常に削除され、パケットに含まれるすべてのフレームが処理されるまで、確認応答してはなりません (MUST NOT)。STREAMフレームの場合、これはデータがアプリケーションプロトコルによって受信される準備としてキューに入れられたことを意味しますが、データが配信され消費されることは要求されません。

13.2 確認応答の生成

エンドポイントは、受信して処理するすべてのパケットを確認応答します。ただし、ACK要求パケットのみが、最大ACK遅延内にACKフレームを送信させます。ACKを要求しないパケットは、他の理由でACKフレームが送信される場合にのみ確認応答されます。

13.2.1 ACKフレームの送信

すべてのパケットは少なくとも1回確認応答されるべきであり (SHOULD)、ACK要求パケットは、エンドポイントがmax_ack_delayトランスポートパラメータを使用して通信した最大遅延内に少なくとも1回確認応答されなければなりません (MUST); セクション 18.2 を参照してください。

13.2.2 確認応答の頻度

受信者は、ACK要求パケットに応答して確認応答を送信する頻度を決定します。この決定は実装固有です。

13.2.3 ACK範囲の管理

ACKフレームが送信されるとき、1つ以上の確認応答されたパケットの範囲が含まれます。古い範囲を含めることで、以前に送信されたACKフレームの損失によって引き起こされる誤った再送信の可能性が減少します。

13.2.4 ACKフレームの追跡による範囲の制限

送信者がACKフレームを含むパケットの確認応答を受信すると、送信者はそのACKフレーム内で確認応答された最大のパケット以下のパケットの確認応答を停止できます。

13.2.5 ホスト遅延の測定と報告

エンドポイントは、ACK要求パケットが受信されてから対応するACKが送信されるまでの遅延を測定します。

13.2.6 ACKフレームとパケット保護

ACKフレームは、確認応答されるパケットと同じパケット番号スペースを持つパケット内でのみ運ばれなければなりません (MUST)。

13.2.7 PADDINGフレームは輻輳ウィンドウを消費する

PADDINGフレームを含むパケットは、輻輳制御の目的で転送中と見なされます [QUIC-RECOVERY]。

13.3 情報の再送信

QUICは、否定確認応答 (NACK) と肯定確認応答 (ACK) の組み合わせを使用して再送信をトリガーします。QUICパケット全体は再送信されません; パケットが失われたと判断された場合、それらに含まれている可能性のある情報は、必要に応じて新しいパケットで再度送信されます。

新しいフレームとパケットは、失われたと判断された情報を運ぶために使用されます。一般的に、情報は、その情報を含むパケットが失われたと判断されたときに再度送信され、その情報を含むパケットが確認応答されたときに送信が停止します。

13.4 明示的輻輳通知

QUICエンドポイントは、明示的輻輳通知 (ECN) [RFC3168] を使用してネットワーク輻輳を検出し、それに応答します。ECNにより、エンドポイントはパケットにマークを付けて、ネットワーク要素がパケットをドロップするのではなく、輻輳経験 (CE) マーキングを追加するよう要求できます。

13.4.1 ECNカウントの報告

ECNの使用には、両方のエンドポイントがIPパケットでECNを有効にし、QUIC ACKフレームでCEマーキングの受信を報告する必要があります。

13.4.2 ECN検証

欠陥のあるネットワークデバイスが、ゼロ以外のECNコードポイントを運ぶパケットを破損または誤ってドロップする可能性があります。そのようなデバイスが存在する場合でも接続性を確保するために、エンドポイントはピアから受信したECNカウントを検証し、カウントが信頼できないように見える場合はECNを無効にします。