Windowsマシンでnetstat -a
を実行すると、4つの状態のうちの1つを持つポートのリストが表示されます。
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
CLOSE_WAIT
とTIME_WAIT
はどういう意味ですか?
TCP/IPのしくみにより、接続をすぐに閉じることはできません。パケットは順不同で到着するか、または接続が閉じられた後に再送信される可能性があります。 CLOSE_WAITは、リモートエンドポイント(接続の反対側)が接続を閉じたことを示します。 TIME_WAITは、ローカルエンドポイント(こちら側)が接続を閉じたことを示します。遅延パケットが接続に一致して適切に処理されるように、接続は維持されています。接続は4分以内にタイムアウトすると削除されます。詳しくは http://en.wikipedia.org/wiki/Transmission_Control_Protocol をご覧ください。
基本的に "WAIT"状態は片側が接続を閉じたが閉じの最終確認が保留中であることを意味します。
例えば参照。このTCPの図は、詳細を示しています。
TIME_WAITは、remote TCPがそのFIN要求のACKを受信したことを確認するのに十分な時間待つことを表します。 ja.wikipedia.org/wiki/Transmission_Control_Protocol (およびRFC 793も参照)