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

9. 接続移行

9. 接続移行

接続IDの使用により、エンドポイントが新しいネットワークに移行することによって引き起こされるような、エンドポイントアドレス(IPアドレスとポート)の変更を接続が乗り越えることができます。このセクションでは、エンドポイントが新しいアドレスに移行するプロセスについて説明します。

QUICの設計は、ハンドシェイクの期間中、エンドポイントが安定したアドレスを保持することに依存しています。エンドポイントは、[QUIC-TLS] のセクション 4.1.2 で定義されているように、ハンドシェイクが確認される前に接続移行を開始してはなりません (MUST NOT)。

クライアントはすべての移行の開始に責任があります。サーバーは、そのアドレスからの非プローブパケットを確認するまで、クライアントアドレスに向けて非プローブパケット (セクション 9.1 を参照) を送信しません。

9.1 新しいパスのプローブ

エンドポイントは、接続を新しいローカルアドレスに移行する前に、パス検証 (セクション 8.2) を使用して新しいローカルアドレスからのピアの到達可能性をプローブすることができます (MAY)。

9.2 接続移行の開始

エンドポイントは、そのアドレスから非プローブフレームを含むパケットを送信することで、接続を新しいローカルアドレスに移行できます。

9.3 接続移行への応答

非プローブフレームを含む新しいピアアドレスからのパケットの受信は、ピアがそのアドレスに移行したことを示します。

9.3.1 ピアアドレスのスプーフィング

ピアがソースアドレスを偽装して、エンドポイントに意図しないホストに過剰な量のデータを送信させる可能性があります。

9.3.2 オンパスアドレススプーフィング

オンパス攻撃者は、偽装されたアドレス情報を持つパケットをコピーして転送することで、偽の接続移行を引き起こす可能性があります。

9.3.3 オフパスパケット転送

パケットを観察できるオフパス攻撃者は、正規のパケットのコピーをエンドポイントに転送する可能性があります。

9.4 損失検出と輻輳制御

新しいパスで利用可能な容量は、古いパスと同じではない可能性があります。古いパス上で送信されたパケットは、新しいパスの輻輳制御またはRTT推定に寄与してはなりません (MUST NOT)。

9.5 接続移行のプライバシーへの影響

複数のネットワークパス上で安定した接続IDを使用することで、パッシブオブザーバーがそれらのパス間でアクティビティを関連付けることができます。

9.6 サーバーの優先アドレス

QUICは、サーバーが1つのIPアドレスで接続を受け入れ、ハンドシェイクの直後にこれらの接続をより優先されるアドレスに転送することを可能にします。

9.6.1 優先アドレスの通信

サーバーは、TLSハンドシェイクにpreferred_addressトランスポートパラメータを含めることで優先アドレスを伝えます。

9.6.2 優先アドレスへの移行

優先アドレスに移行するクライアントは、そのアドレスにデータを送信する前に新しいパスを検証しなければなりません (MUST)。

9.6.3 クライアント移行と優先アドレスの相互作用

クライアントは、サーバーの優先アドレスに移行する前に、接続移行を実行する必要がある場合があります。

9.7 IPv6フローラベルと移行の使用

IPv6を使用してデータを送信するエンドポイントは、ローカルAPIがIPv6フローラベルの設定を許可しない場合を除き、[RFC6437] に準拠してIPv6フローラベルを適用すべきです (SHOULD)。