TCP устанавливает соединение с помощью 3-way handshake, закрывает его с помощью 4-way teardown и безопасно поддерживает поток данных благодаря flow control и congestion control. Рукопожатие синхронизирует начальный порядковый номер (sequence number) каждой стороны, чтобы обе могли отслеживать и подтверждать (ACK) каждый байт:
3-WAY HANDSHAKE (open) 4-WAY TEARDOWN (close)
Client Server Client Server
│──── SYN ───────▶│ │──── FIN ───────▶│
│◀── SYN, ACK ────│ │◀──── ACK ───────│
│──── ACK ───────▶│ │◀──── FIN ───────│
│ connected │ │──── ACK ───────▶│
