web-dev-qa-db-ja.com

イーサネットケーブルを取り外すと、TCP接続はどうなりますか?

TCP接続の場合、ケーブルを取り外して30〜40秒後に再接続すると、パケット損失の問題は発生しませんが、再接続時間が数分を超えると、すべてのパケットが失われます。再送信タイマーが切れても動作することはわかっていますが、ネットワークケーブルが接続されていないときに正確に何が起こるか知りたいのです。

44
Input J

[〜#〜] osi [〜#〜]またはTCP/IP各レイヤーは独立して動作し、下位レイヤーを認識しません。

ケーブルを取り外すと、それは物理的な中断(レイヤー1)であるため、ほぼ即座にイーサネット(レイヤー2)が信号の損失を検出します(Windowsを使用している場合、非常に恐ろしいポップアップがネットワークが切断されたことを通知します

IP(レイヤー)とTCP(レイヤー4)はそれに気付かないので、作業を続けようとします。

TCPがデータを送信する場合、TCPは確立されたTCP接続を中断しません。一定の時間内に到着すると、データを再送信します。

TCPはデータを再送信し、データをIPに渡します。IPはデータをイーサネットに渡し、データは送信できず、単に破棄します。

TCPは再び待機し、接続が終了したことを宣言できるタイムアウトが発生するまでこのプロセスを繰り返します。 TCPは、セグメントシーケンス番号をリセットし、送信しようとしていた情報を破棄し、その接続に割り当てられたバッファおよびメモリリソースを解放します。

それが起こる前にケーブルを接続し、すべてが続行されます。これがTCP=信頼できると同時にDDos攻撃に対して脆弱になる理由です。

OSに複数のインターフェース(たとえば、イーサネットとwi-fi)がある場合、イーサネットがダウンすると、wifiを介して試行する可能性があります。ルーティングの設定方法によって異なりますが、一般的には、「TCPはそれを認識しません」。

DDoS攻撃の基本的な構造は次のとおりです。数千のクライアントがそれぞれに数秒ごとにTCP接続をサーバーに接続し、接続を放棄します。各TCP接続長期間サーバー上で開いたままにします(TCPポート、割り当てられたメモリ、帯域幅などとして貴重な資産を浪費します)。正当なユーザーが参加するためにサーバーリソースを詰まらせます。

62
jcbermu