Ответ
TCP (Transmission Control Protocol) — это один из основных протоколов сетевой модели OSI и стека TCP/IP, работающий на транспортном уровне. Его главная задача — обеспечить надежную, упорядоченную и безошибочную доставку потока данных между двумя узлами сети.
В отличие от UDP, который является более быстрым, но ненадёжным протоколом без установки соединения, TCP используется там, где целостность данных критически важна: веб-серфинг (HTTP/HTTPS), электронная почта (SMTP), передача файлов (FTP).
Ключевые механизмы и функции TCP:
-
Установка соединения (Connection-oriented) Перед обменом данными TCP устанавливает соединение через трехэтапное рукопожатие (three-way handshake:
SYN
,SYN-ACK
,ACK
). Это гарантирует, что оба хоста готовы к обмену. -
Надежность (Reliability) Каждый отправленный сегмент данных должен быть подтвержден получателем. Если подтверждение (
ACK
) не приходит за определенное время, сегмент отправляется повторно. -
Упорядоченная доставка (Ordered Delivery) TCP нумерует сегменты (
Sequence Number
) и собирает их на принимающей стороне в правильном порядке, даже если они пришли по сети вразнобой. -
Контроль потока (Flow Control) Механизм "скользящего окна" (
Sliding Window
) не позволяет быстрому отправителю "завалить" данными медленного получателя, регулируя объем передаваемых данных. -
Контроль перегрузки (Congestion Control) TCP адаптирует скорость передачи данных, чтобы избежать перегрузки сети и коллапса, уменьшая окно отправки при обнаружении потерь пакетов.