156

Когда я выполняю netstat -a на моем компьютере с Windows, я получаю список портов с одним из четырех состояний:

- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED

Что означают / указывают CLOSE_WAIT и TIME_WAIT ?

3 ответа3

167

Из-за того, как работает TCP/IP, соединения не могут быть закрыты немедленно. Пакеты могут поступить не по порядку или быть повторно переданными после закрытия соединения. CLOSE_WAIT указывает, что удаленная конечная точка (другая сторона соединения) закрыла соединение. TIME_WAIT указывает, что локальная конечная точка (эта сторона) закрыла соединение. Соединение поддерживается так, что любые задержанные пакеты могут быть сопоставлены с соединением и обработаны соответствующим образом. Соединения будут удалены по истечении четырех минут. См. Http://en.wikipedia.org/wiki/Transmission_Control_Protocol для получения дополнительной информации.

28

По сути, состояния "ПОДОЖДИТЕ" означают, что одна сторона закрыла соединение, но окончательное подтверждение закрытия еще не получено.

Смотрите, например, эту схему состояний TCP для деталей:

http://www.jxos.org/Projects/TCP/tcpstate.html

0

TIME_WAIT представляет ожидание в течение достаточного времени, чтобы убедиться, что удаленный TCP получил ACK своего запроса FIN. См. En.wikipedia.org/wiki/Transmission_Control_Protocol (а также RFC 793)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .