ネットワーク ケーブルを引っ張っても、TCP 接続 (1) は切断されませんが、通信は中断されます。ケーブルを再び接続すると、IP 接続が確立されると、すべてのバックデータが移動します。これが、セルラー ネットワークでも TCP の信頼性を高めている理由です。
TCP がデータを送信するとき、応答として ACK が期待されます。一定時間内に何も来ない場合、データを再送信して再び待機します。通常、送信間の待機時間は指数関数的に増加します。
一定回数の再送信または ACK なしの合計時間の後、TCP は接続が「切断された」と見なします。OS とその構成によって回数または時間は異なりますが、通常は数分程度でタイムアウトします。
Linux のtcp.7 man ページから:
tcp_retries2 (integer; default: 15; since Linux 2.2)
The maximum number of times a TCP packet is retransmitted in
established state before giving up. The default value is 15, which
corresponds to a duration of approximately between 13 to 30 minutes,
depending on the retransmission timeout. The RFC 1122 specified
minimum limit of 100 seconds is typically deemed too short.
これは、接続が失われたかどうかを検出するのにかかる時間を変更するために調整する必要がある値です。
(1) これには例外があります。オペレーティング システムは、ケーブルが取り外されたことに気付くと、すべての接続が「切断」されていると見なす必要があることを上位層に通知できます。