Читаем TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) полностью

Состояние партнераСобытиеОписание
ESTABLISHEDTCP получает FIN/ACK.
CLOSE-WAITПрибыл FIN.
TCP посылает ACK.
TCP ожидает от своего приложения закрытия соединения. В этот момент приложение может посылать достаточно большое количество данных.
Локальное приложение инициализирует закрытие соединения.
TCP посылает FIN/ACK.
LAST-ACKTCP ожидает конечный ACK.
TCP получает ACK.
CLOSEDУдалена вся информация о соединении.
<p>10.17.1 Анализ состояний соединения TCP</p>

Команда netstat -an позволяет проверить текущее состояние соединения. Ниже показаны соединения в состояниях listen, startup, established, closing и time-wait.

Отметим, что номер порта соединения указан в конце каждого локального и внешнего адреса. Видно, что имеется трафик TCP как для входной, так и для выходной очередей.

> netstat -an

Active Internet connections

Pro Recv-Q Send-Q Local Address       Foreign Address     (state)

Tcp    0      0   128.121.50.145.25   128.252.223.5.1526  SYN_RCVD

Tcp    0      0   128.121.50.145.25   148.79.160.65.3368  ESTABLISHED

Tcp    0      0   127.0.0.1.1339      127.0.0.1.111       TIME_WAIT

Tcp    0    438   128.121.50.145.23   130.132.57.246.2219 ESTABLISHED

Tcp    0      0   128.121.50.145.25   192.5.5.1.4022      TIME_WAIT

Tcp    0      0   128.121.50.145.25   141.218.1.100.3968  TIME_WAIT

Tcp    0    848   128.121.50.145.23   192.67.236.10.1050  ESTABLISHED

Tcp    0      0   128.121.50.145.1082 128.121.50.141.6000 ESTABLISHED

Tcp    0      0   128.121.50.145.1022 128.121.50.141.1017 ESTABLISHED

Tcp    0      0   128.121.50.145.514  128.121.50.141.1020 CLOSE_WAIT

Tcp    0   1152   128.121.50.145.119  192.67.239.23.3572  ESTABLISHED

Tcp    0      0   128.121.50.145.1070 192.41.171.5.119    TIME_WAIT

Tcp  579   4096   128.121.50.145.119  204.143.19.30.1884  ESTABLISHED

Tcp    0      0   128.121.50.145.119  192.67.243.13.3704  ESTABLISHED

Tcp    0     53   128.121.50.145.119  192.67.236.218.2018 FIN_WAIT_1

Tcp    0      0   128.121.50.145.119  192.67.239.14.1545  ESTABLISHED

Tcp    0      0   *.19                *.*                 LISTEN

Tcp    0      0   *.13                *.*                 LISTEN

Tcp    0      0   *.9                 *.*                 LISTEN

Tcp    0      0   *.7                 *.*                 LISTEN

Tcp    0      0   *.31                *.*                 LISTEN

<p>10.18 Замечания о реализациях</p>

С самого начала протокол TCP предназначен для взаимодействия сетевого оборудования от различных производителей. Спецификация TCP не указывает точно, как должны работать внутренние структуры реализации. Эти вопросы оставлены для разработчиков, которые призваны найти наилучшие механизмы для каждой конкретной реализации.

Даже RFC 1122 (документ Host Requirements — требования к хостам) оставляет достаточную свободу для вариаций. Каждая из реализуемых функций маркируется определенным уровнем совместимости:

■ MUST (Необходимо)

■ SHOULD (Рекомендовано)

■ MAY (Разрешено)

■ SHOULD NOT (Не рекомендовано)

■ MUST NOT (Не нужно)

Перейти на страницу:

Похожие книги