EMZETT.
Войти

Трёхстороннее рукопожатие (three-way handshake)

Коротко: Трёхшаговое установление соединения в TCP: SYN → SYN-ACK → ACK, прежде чем начнётся собственно передача данных.

Подробнее: При этом клиент и сервер обмениваются своими начальными порядковыми номерами и подтверждают друг другу готовность к соединению. Только после этих трёх пакетов соединение считается «установленным» и передаётся полезная нагрузка. Эти накладные расходы — одна из причин, почему UDP быстрее для критичных к задержке приложений: он полностью пропускает рукопожатие.

Подробности

Последовательность подробно:

Клиент                              Сервер
  |----------- SYN (seq=x) --------->|   «Хочу подключиться»
  |<------ SYN-ACK (seq=y, ack=x+1) -|   «Хорошо, я тоже готов»
  |----------- ACK (ack=y+1) ------->|   «Подтверждаю, начинаем»

См. также: SYN, SYN-ACK, ACK, TCP