Источник
Transmission Control Protocol
Определение TCP, свойства надёжной передачи и handshake.
TCP — один из ключевых протоколов стека TCP/IP на транспортном уровне. Он обеспечивает надёжную, упорядоченную и проверяемую передачу потока байтов между приложениями в сети IP.
Ключевые свойства TCP
Надёжная доставка
TCP обеспечивает упорядоченную и проверяемую доставку байтового потока между приложениями.
Соединение (connection-oriented)
Перед передачей данных стороны устанавливают соединение через three-way handshake.
Ретрансляции и подтверждения
Потерянные сегменты обнаруживаются и переотправляются до подтверждения.
Контроль потока
Получатель ограничивает скорость отправителя, чтобы не переполнить буферы.
Контроль перегрузок
TCP снижает скорость передачи при признаках перегрузки сети.
Three-way handshake
TCP устанавливает соединение через трёхшаговое рукопожатие (SYN -> SYN-ACK -> ACK). После него обе стороны могут передавать данные в полном дуплексе.
TCP three-way handshake
Нажмите на шаг или используйте кнопки, чтобы проиграть установку соединения
Состояние
Нажмите «Начать», чтобы увидеть шаги установки TCP-соединения.
Где применяется TCP
Основные классы приложений
- Веб-приложения и API
- Электронная почта
- Удалённое администрирование
- Передача файлов и стриминг
Почему выбирают TCP
- Надёжная доставка важнее минимальной задержки
- Нужна упорядоченность и контроль потерь
- Удобный, знакомый интерфейс для приложений
Почему это важно для System Design
- TCP-соединения влияют на латентность и масштабирование (handshake + re-transmit).
- Контроль потока и перегрузок определяет реальные пределы throughput.
- От выбора TCP/UDP зависит архитектура realtime-систем и back-pressure.
