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

6.1.5 Retransmitted TCP packets (再送された TCP パケット)

6.1.5 Retransmitted TCP packets (再送された TCP パケット)

本文書は、ECN 対応 TCP 実装が再送されたパケットの IP ヘッダーにいずれの ECT コードポイント (ECT(0) または ECT(1)) も設定してはならないこと、および TCP データ受信者は受信者の現在のウィンドウの外側に到着したパケットの ECN フィールドを無視すべきであることを規定しています。これは、サービス拒否攻撃に対するセキュリティを強化し、ネットワークで後に破棄されるパケットの ECN 輻輳表示に対する堅牢性を高めるためです。

まず、TCP 送信者が再送されたパケットに ECT コードポイントを設定した場合、不必要に再送されたパケットが後でネットワークで破棄されると、エンドノードはルーターが CE コードポイントを設定する輻輳表示を決して受信しないことに注意します。したがって、再送されたパケットに ECT コードポイントを設定することは、後でネットワークで破棄されるパケットに対しても輻輳表示を確実に配信することと矛盾します。

さらに、TCP 送信者の IP ソースアドレスを偽装できる攻撃者は、任意のシーケンス番号を持つパケットを送信し、IP ヘッダーに CE コードポイントを設定できます。この偽造されたパケットを受信すると、TCP データ受信者はそのデータが現在の受信ウィンドウ内にないと判断し、重複確認応答を返します。私たちは、TCP データ受信者でのウィンドウ外パケット (out-of-window packet) を、受信者の現在のウィンドウの外側にあるパケットと定義します。ウィンドウ外パケットを受信すると、TCP データ受信者は、パケットヘッダーの CE コードポイントを有効な輻輳表示として扱うかどうか、したがって TCP データ送信者に ECN-Echo 表示を返すかどうかを決定する必要があります。TCP データ受信者がウィンドウ外パケットの CE コードポイントを無視する場合、TCP データ送信者はネットワークからのこの潜在的に正当な輻輳表示を受信せず、エンドツーエンド輻輳制御の違反につながります。一方、TCP データ受信者がウィンドウ外パケットの CE 表示を尊重し、TCP データ送信者に輻輳表示を報告する場合、偽造されたウィンドウ外パケットを作成する悪意のあるノードは、TCP 接続を「攻撃」することに成功し、データ送信者に不必要に輻輳ウィンドウを削減 (半分に) させています。このサービス拒否攻撃を防ぐために、私たちは正当な TCP データ送信者が再送されたパケットに ECT コードポイントを設定してはならないこと、および TCP データ受信者はウィンドウ外パケットの CE コードポイントを無視すべきであることを規定しています。

再送パケットに ECT(0) または ECT(1) を設定しないことの欠点の 1 つは、再送パケットに対する ECN 保護が拒否されることです。ただし、軽度の輻輳がある完全な ECN 対応環境での ECN 対応 TCP 接続の場合、輻輳によるパケットの破棄はまれであるべきであり、したがって再送パケットのインスタンスはまれであるべきです。パケットが再送されている場合、ECN が防止できなかったパケット損失 (破損または輻輳から) がすでに存在しています。

ルーターが TCP 接続内の ECN 対応パケットに CE コードポイントを設定した場合、そのパケットがネットワークで破棄または並べ替えられたとしても、TCP 接続は同じデータウィンドウ内でその輻輳表示または他の輻輳表示を受信することが保証されることに注意してください。私たちは、パケットが後で再送される場合と、パケットが後で再送されない場合の 2 つの状況を考えます。

最初のケースでは、パケットが破棄または遅延され、ある時点でデータ送信者によって再送される場合、再送は、そのパケットまたは同じデータウィンドウ内の以前のパケットに対する高速再送または再送タイムアウトの結果です。この場合、データ送信者がすでにパケットを再送しているため、データ送信者は元のパケットと同じデータウィンドウ内のパケットに対する輻輳表示にすでに応答していることがわかります。したがって、パケットの最初の送信が CE コードポイントが設定されてネットワークで破棄または遅延され、後でウィンドウ外パケットとしてデータ受信者によって無視されたとしても、送信者はすでにそのデータウィンドウに対する輻輳表示に応答しているため、問題ではありません。

2 番目のケースでは、パケットがデータ送信者によって再送されない場合、そのパケットはデータ受信者が受信したそのデータの唯一のコピーであり、したがってパケットがどれだけ遅延または並べ替えられても、ウィンドウ内パケットとしてデータ受信者に到着します。この場合、ネットワークでパケットに CE コードポイントが設定されていれば、これはデータ受信者によって有効な輻輳表示として扱われます。