Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безопасность вычислительных сетей.docx
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
46 Кб
Скачать
☆

Тср соединение

ТСР соединение проходит через ряд промежуточных состояний, переходя из одного в другое, в ответ на определенные события. Например – получение пакетов с различными выставленными флагами, действия пользователя и так далее.

Можно выделить 3 основных состояния у ТСР соединения:

  1. Установление

  2. Рабочее состояние или обмен данными

  3. Закрытие соединения

А  В.

Для установления канала, в ответ на желание передать данные, узел А передает узлу Б пакет следующего содержания: устанавливается флаг SYN и в поле номер очереди записывает начальное значения номера очереди – ISSa. Узел В, получив такой пакет, понимает, что нужно установить соединение (если на это соединение нет запрета). Узел В отправляет такой пакет:

SYN, ACK, в номер очереди заносит свое начальное значение очереди, а в поле подтверждения отправляет полученное значение, увеличенное на единицу (ISSa+1)

На 3 шаге узел А отправляет В такой пакет: ACB, в номер очереди свой номер, увеличенный на 1, а в номер подтверждения – полученный, увеличенный на 1. (ISSa +1, ISSb+1)

На этом этапе соединение установлено – 3-х этапное рукопожатие.

Затем наступает момент передачи данных.

От узла А к узлу В идут пакеты такого содержания:

ACK, ISSa+1, ACK (ISSb+1), DATA

Закрытие соединения:

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

Это означает, что все данные, получены модулем ТСР, принимающим информацию.

Особое значение имеют 3 случая:

  1. Клиент инициирует закрытие соединения, дав команду своему модулю ТСР.

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

Заметим, что модуль ТСР, получающий пакет с флагом FIN, будет подтверждать его, но не отправит свой пакет с аналогичным флагом до тех пор, пока его клиент не закроет соединение.

  1. Закрытие соединения начинается с того, что получен пакет с флагом FIN.

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

  1. Оба клиента одновременно дают команду на закрытие соединения.

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