6. 性能に関する考慮事項
- 性能に関する考慮事項
バーストトラフィックは、時間的に相関のあるパケット損失につながることがよくある;その結果、UDP 上で実行されるプロトコルの輻輳コントローラからの応答が最適でなくなる可能性がある。これを回避するために、UDP プロキシは UDP トラフィックのバースト性の増加を避けるよう努めるべきである (SHOULD);バッチ処理を増やすためにパケットをキューに入れるべきではない (SHOULD NOT)。
プロキシされている UDP 上で実行されるプロトコルが輻輳制御([QUIC] など)を使用する場合、プロキシされたトラフィックは少なくとも 2 つのネストされた輻輳コントローラを被る。基盤となる HTTP 接続は、内部トラフィックが輻輳制御されていることを帯域外の方法で確実に知っている場合を除き、輻輳制御を無効にしてはならない (MUST NOT)。
UDP プロキシリクエストストリームを含む接続を持つクライアントまたは UDP プロキシが輻輳制御を無効にする場合、その接続で明示的輻輳通知 (ECN) [ECN] サポートをシグナリングしてはならない (MUST NOT)。つまり、すべての IP ヘッダーに Not-ECT コードポイントをマークしなければならない (MUST)。ピアが輻輳制御を無効にしていない可能性があるため、QUIC ACK_ECN フレームまたは TCP ECE ビットを介して ECN フィードバックを報告し続けてもよい (MAY)。
プロキシされている UDP 上で実行されるプロトコルが損失回復([QUIC] など)を使用し、基盤となる HTTP 接続が TCP 上で実行される場合、プロキシされたトラフィックは少なくとも 2 つのネストされた損失回復メカニズムを被る。両方が同じデータを独立して再送信する場合があるため、これによりパフォーマンスが低下する可能性がある。これを回避するために、UDP プロキシは、QUIC DATAGRAM フレームを活用できるように、HTTP/3 上で実行されるべきである (SHOULD)。
6.1. MTU に関する考慮事項
QUIC データグラム拡張 [QUIC-DGRAM] を備えた HTTP/3 を使用する場合、UDP ペイロードは QUIC DATAGRAM フレームで送信される。これらは断片化できないため、QUIC 接続設定とパス MTU (PMTU) によって決定される特定の長さまでのペイロードのみを運ぶことができる。UDP プロキシが QUIC DATAGRAM フレームを使用しており、ターゲットから QUIC DATAGRAM フレームに収まらない UDP ペイロードを受信した場合、UDP プロキシは DATAGRAM カプセルで UDP ペイロードを送信すべきではない (SHOULD NOT)。これは、Datagram Packetization Layer PMTU Discovery (DPLPMTUD) などのメソッドが依存するエンドツーエンドの非信頼性特性を無効にするためである [DPLPMTUD]。このシナリオでは、UDP プロキシは UDP ペイロードをドロップし、ターゲットに ICMP Packet Too Big メッセージを送信すべきである (SHOULD);[ICMP6] のセクション 3.2 を参照。
6.2. ECN マークのトンネリング
UDP プロキシは IP-in-IP トンネルを作成しないため、内部 IP ヘッダーと外部 IP ヘッダーの間で ECN マークを転送することに関する [ECN-TUNNEL] のガイダンスは適用されない。UDP プロキシトンネルには内部 IP ヘッダーはない。
本仕様では、UDP プロキシクライアントは、UDP プロキシがターゲットに送信する UDP パケットの ECN コードポイントを制御する機能を持たず、UDP プロキシは各 UDP パケットのマーキングをターゲットから UDP プロキシに通信できないことに注意すること。
UDP プロキシは、ターゲットから受信した UDP パケットの IP ヘッダー内の ECN ビットを無視しなければならず (MUST)、ターゲットに送信する UDP パケットの ECN ビットを Not-ECT に設定しなければならない (MUST)。これらは、クライアントと UDP プロキシ間で送信されるパケットの ECN マーキングとは一切関係がない。