Наконец, ТСР должен уметь аккуратно разорвать соединение, что выполняется с использованием бита FIN в заголовке ТСР. Так как ТСР предоставляет полнодуплексное соединение, каждая сторона соединения должна его закрыть. Рассмотрим этот процесс на примере.
Здесь два взаимодействующих устройства – конечная станция А и узел В. Приложение, работающее на сетевой станции А, показывает узлу В, что оно намеревается закрыть соединение, посылая пакет узлу В с установленным битом FIN. Узел В подтверждает этот пакет и больше не принимает данные от конечной станции А. Однако узел В получает данные от своего приложения для отсылки конечной станции А, и последняя продолжает принимать данные от узла В. Таким образом, станция А может, как минимум, получить пакет FIN от узла В, чтобы полностью закрыть соединение. Для завершения процесса закрытия соединения узел В отправляет конечной станции А пакет с установленным битом FIN. Конечная станция А подтверждает этот пакет, и соединение закрывается. Если подтверждение не приходит, пакеты FIN повторно передаются, и, в конце концов, при отсутствии ответа срабатывает тайм-аут.
Вопросы к лекции 9:
Лекция 10 (4 часа)