Трехэтапное Квитирование TCP - Флаги SYN и ACK

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

Применяя программу - анализатор трафика и используемых протоколов - Wireshark , Вы можете наблюдать работу трехэтапного квитирования TCP:

Трехэтапное квитирование TCP (SYN)

Шаг 1

Клиент TCP начинает трехэтапное квитирование, отправляя сегмент с установленным контрольным флагом SYN (Синхронизировать Номер Последовательности), указывая первоначальное значение в поле номера последовательности в заголовке. Это первоначальное значение номера последовательности, известное как Начальный Номер Последовательности (ISN), выбирается случайным образом и используется, чтобы начать отслеживание потока данных от клиента на сервер для этой сессии. ISN в заголовке каждого сегмента увеличивается на единицу для каждого байта данных, отправленных от клиента серверу, пока продолжается обмен данными.

Из рисунка видно, как вывод анализатора протоколов показывает флаг управления SYN и относительный номер последовательности.

Контрольный Флаг SYN установлен, и относительный номер последовательности равен 0. Хотя анализатор протоколов на графике указывает относительные значения для номеров последовательности и подтверждения, истинные значения является двоичными 32-битными числами. Мы можем определить фактические номера, отправляемые в заголовках сегментов, исследуя область "Packet Bytes" (Байты Пакета). Здесь можно видеть четыре байта, представленные в шестнадцатеричной форме.

Трехэтапное квитирование TCP (SYN, ACK)

Шаг 2

TCP сервер должен подтвердить получение сегмента SYN от клиента, чтобы установить сеанс от клиента к серверу. Чтобы это сделать, сервер отсылает сегмент назад к клиенту с установленным флагом ACK, указывающим, что поле номера подтверждения задействовано. С этим флагом, установленным в сегменте, клиент распознает это как подтверждение, что сервер получил SYN от TCP клиента.

Значение поля номера подтверждения равно начальному номеру последовательности клиента, увеличенному на единицу. Таким образом устанавливается сессия от клиента на сервер. Флаг ACK останется установленным для балансировки сессии. Вспомните, что диалог между клиентом и сервером - фактически два однонаправленных сеанса: один от клиента к серверу, и другой от сервера клиенту. На этом втором шаге трехэтапного квитирования сервер должен инициировать ответ от сервера клиенту. Чтобы запустить этот сеанс, сервер использует флаг SYN таким же образом, как это делал клиент. Он устанавливает флаг управления SYN в заголовке, чтобы установить сеанс от сервера клиенту. Флаг SYN указывает, что первоначальное значение поля номера последовательности присутствует в заголовке. Это значение будет использоваться, чтобы отслеживать поток данных в этом сеансе от сервера назад к клиенту.

Как видно из рисунка, вывод анализатора протоколов показывает, что контрольные флаги ACK и SYN установлены, а также показаны относительные номера последовательности и подтверждения.

Трехэтапное квитирование TCP (ACK)

Шаг 3

Наконец, TCP клиент отвечает сегментом, содержащим ACK, что является реакцией на TCP SYN, отправленный сервером. В этом сегменте нет никакой пользовательской информации. Значение в поле номера подтверждения содержит значение на единицу больше, чем начальный номер последовательности, полученный с сервера. Как только оба сеанса устанавливаются между клиентом и сервером, все дополнительные сегменты, которыми обмениваются в этой сессии, будут иметь установленный флаг ACK.

Как видно из рисунка, вывод анализатора протоколов показывает установленный контрольный флаг ACK и относительные номера последовательности и подтверждения.

Усилить безопасность сети можно следующими способами:

  • Запрет на создание сеансов TCP
  • Разрешение установки сессий только для определенных служб
  • Разрешение только того трафика, который является частью уже установленных сессий

Эта безопасность может быть реализована для всех сеансов TCP или только для выбранных сессий.

Далее: Завершение TCP Сеанса

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

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

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

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