TCP рукопожатие или hadshake

tcp handshake — или рукопожатие — стандартная процедура установления соединения, которая выполняется каждый раз при установлении TCP соединения.


 
 

tcp handshake

Всегда присутствуют три этапа:

 

SYN — отправитель посылает syn, уведомляя о желании начать передачу

SYN-ACK — получатель отвечает с syn-ack если готов к установке соединения

ACK — отправитель подтверждает, что получил syn-ack

 
tcp handshake
 

Если один из пакетов не дошел по той или иной причине — соединение установлено не будет. Если все пакеты дошли — к передаче готовы и отправитель и получатель.

 

 

Соединение установлено, далее возможна передача информации. Для передачи данных процесс требуется повторять с каждым пакетом. Это обеспечивает гарантированную доставку — данные отправляются только тогда, когда их готовы принимать.

 

Этим TCP отличается от UDP, где происходит только отправка без контроля обратной связи.

 

Фактически участниками взаимодействия могут быть клиент и веб-сервер, обрабатывающий запросы.

 

При TCP handshake постоянно производится контроль и подбор размера TCP окна. Оно определяет с какой скоростью возможна передача и подбирает наибольшую возможную.

 

 

Также читайте материал о порядке обработки SYN пакета сетевым оборудованием при передаче от одной машины, находящейся в сети общего доступа другой машине.