Завершение TCP Сеанса

Рубрика: Транспортный уровень

Чтобы закрыть соединение, флаг управления FIN (Финиш) в заголовке сегмента должен быть установлен. Чтобы закончить каждый односторонний сеанс TCP, используется двухстороннее квитирование , состоящее из сегмента FIN и сегмента ACK. Поэтому для завершения одного TCP диалога необходимо обменяться четырьмя сегментами, чтобы закончить оба сеанса.

Завершение TCP Сеанса

Примечание : В описании ниже термины клиент и сервер используются для простоты, однако процесс завершения сеанса может инициироваться любыми двумя узлами, закрывающими TCP сессию:

1. Когда у клиента больше нет данных, которые следует передать в потоке, он отправляет сегмент с установленным флагом FIN.

2. Сервер отправляет ACK, чтобы подтвердить получение FIN для завершения сеанса от клиента к серверу.

3. Сервер отправляет FIN клиенту, чтобы завершить сессию от сервера к клиенту.

4. Клиент отвечает ACK, чтобы подтвердить FIN от сервера.

Когда у клиентская сторона сеанса больше не имеет данных для передачи, она устанавливает флаг FIN в заголовке сегмента. Затем, серверная сторона соединения отправит нормальный сегмент, содержащий данные с установленным флагом ACK, используя номер подтверждения, указывая, что все байты данных были получены. Когда все сегменты были подтверждены, сеанс закрывается.

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

Как показано на рисунке, контрольные флаги FIN и ACK устанавливаются в заголовке сегмента, таким образом закрывая сеанс HTTP.

Также возможно завершить соединение трехсторонним квитированием. Когда у клиента больше нет данных для передачи, он отправляет FIN серверу. Если у сервера также больше нет данных, которые требуется отправить, он может ответить сегментом с одновременно установленными управляющими флагами FIN и ACK, комбинируя два шага в один. Клиент отвечает с ACK.

Далее: Управление TCP Сеансами

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)