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

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

Узлы отслеживают каждый сегмент данных, передаваемых во время сеанса, и обмениваются информацией о полученных данных с использованием сведений в заголовке TCP. TCP — это полнодуплексный протокол, в котором каждое соединение представляет два односторонних потока обмена данными, или сеанса. Для установления связи узлы используют трёхстороннее рукопожатие. Биты управления в заголовке TCP обозначают этап и состояние подключения. При трёхстороннем рукопожатии выполняются следующие процессы.

При подключениях по протоколу TCP клиент узла устанавливает связь с сервером. Ниже перечислены три шага для установления TCP-соединения.

Шаг 1. Инициирующий клиент запрашивает сеанс связи клиент-сервер с сервером.

Шаг 2. Сервер подтверждает сеанс связи клиент-сервер и запрашивает сеанс связи сервер-клиент.

Шаг 3. Инициирующий клиент подтверждает сеанс связи сервер-клиент.

Используйте кнопки 1—3 на рисунке, чтобы просмотреть процесс установки TCP-соединения.

Чтобы понять процесс трёхстороннего рукопожатия, посмотрите на различные значения данных, которыми обмениваются два узла. Заголовок сегмента TCP содержит шесть 1-битных полей с контрольной информацией, которая используется для управления процессами TCP. Эти поля приведены ниже.

Поля ACK и SYN имеют отношение к рассматриваемому анализу трёхстороннего рукопожатия.