Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад

Как работает установка соединения в TCP (handshake)?

Вопрос проверяет понимание базового механизма установления соединения в TCP и принципов надежной передачи данных.

Короткий ответ

TCP использует механизм three-way handshake для установления соединения. Клиент отправляет пакет SYN, сервер отвечает SYN-ACK, после чего клиент отправляет ACK. После этого соединение считается установленным и стороны могут передавать данные. Такой процесс позволяет согласовать начальные номера последовательностей и убедиться, что обе стороны готовы к обмену.

Длинный ответ

TCP — это протокол с установлением соединения, поэтому перед передачей данных выполняется согласование параметров соединения.

Как проходит three-way handshake

Процесс состоит из трех шагов:

  1. Клиент отправляет пакет с флагом SYN

    • сообщает о желании установить соединение

    • передает начальный sequence number

  2. Сервер отвечает пакетом SYN + ACK

    • подтверждает получение SYN

    • отправляет свой начальный sequence number

  3. Клиент отправляет пакет ACK

    • подтверждает получение ответа сервера

После этого соединение считается установленным.

Зачем нужен handshake

Он решает несколько задач:

  • подтверждает доступность обеих сторон

  • синхронизирует номера последовательностей

  • предотвращает передачу "старых" пакетов

Пример последовательности

Client  -> SYN      -> Server
Client  <- SYN+ACK  <- Server
Client  -> ACK      -> Server

Вывод

Three-way handshake необходим для надежного согласования параметров соединения перед передачей данных и является фундаментом работы TCP.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Networks

Ключевые слова

#tcp

#handshake

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.