Книга: TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
10.6 Закрытие соединения
Нормальное завершение соединения выполняется с помощью той же процедуры тройного рукопожатия, что и при открытии соединения. Каждая из сторон может начать закрытие соединения по следующему сценарию:
A: "Я закончил работу. Данных для пересылки больше нет".
B: "Хорошо".
В: "Я тоже завершил работу".
A: "Хорошо".
Допустим и такой сценарий (хотя он используется крайне редко):
A: "Я закончил работу. Данных для пересылки больше нет".
В: "Хорошо. Однако есть какие-то данные…"
В: "Я тоже завершил работу".
A: "Хорошо".
В рассмотренном ниже примере соединение закрывает сервер, как это часто происходит для связей клиент/сервер. В данном случае после ввода пользователем в сеансе telnet команды logout (выйти из системы) сервер инициирует запрос на закрытие соединения. В ситуации, показанной на рис. 10.11, выполняются следующие действия:
1. Приложение на сервере указывает TCP на закрытие соединения.
2. TCP сервера посылает заключительный сегмент (Final Segment — FIN), информируя своего партнера о том, что данных для отправки больше нет.
3. TCP клиента посылает ACK в сегменте FIN.
4. TCP клиента сообщает своему приложению, что сервер хочет закрыть соединение.
5. Клиентское приложение сообщает своему TCP о закрытии соединения.
6. TCP клиента посылает сообщение FIN.
7. TCP сервера получает FIN от клиента и отвечает на него сообщением ACK.
8. TCP сервера указывает своему приложению на закрытие соединения.
Рис. 10.11. Закрытие соединения
Обе стороны могут одновременно начать закрытие. В этом случае обычное закрытие соединения завершается после отправки каждым из партнеров сообщения ACK.
- Прием клиентских запросов соединения
- Отключение и закрытие сокетов
- Закрытие сокета
- Завершение соединения TCP
- 10.7. Управление завершением соединения
- Б.1.2. Закрытие файла
- Глава 11. Соединения точка-точка и ретрансляторы
- 11.5. Закрытие месяца
- 2. Операции декартового произведения и естественного соединения
- 4. Варианты операций соединения
- 5. Операции внутреннего соединения.
- 6. Операция естественного соединения.