Стать клиентом

TCP: Transmission Control Protocol

TCP: Transmission Control Protocol
Андрей Гусаров, директор GUSAROV·Обновлено 06.11.2026·5 мин

TCP (Transmission Control Protocol) — это фундаментальный протокол управления передачей данных в сетевых коммуникациях: он обеспечивает надёжную передачу потока байтов с сохранением порядка между отправляющей и принимающей сторонами, предварительно установив соединение.

Кратко

  • TCP даёт приложениям надёжный упорядоченный поток байтов: потери находят по номерам и контрольным суммам и исправляют повторной отправкой.
  • Перед передачей данных стороны устанавливают соединение трёхсторонним рукопожатием: SYN, затем SYN с подтверждением, затем ACK.
  • TCP работает поверх IP: сегменты передаются внутри IP-пакетов, а порты указывают, какому приложению адресованы данные.
  • Владельцу сайта детали TCP нужны редко; они важны, когда разбирают сетевые проблемы вместе с разработчиком или хостером.

Кому и зачем это знать

С запросом «TCP» приходят люди с разными задачами. Найдите свою ситуацию.

Владелец сайта или интернет-магазинаСитуация: Хостер или разработчик говорит о проблеме на уровне TCP или соединения.Зачем: Эти слова означают, что дело не в тексте и не в дизайне, а в передаче данных между браузером и сервером.Что сделать: Не пытайтесь решать это сами. Попросите описать проблему простыми словами: что именно не устанавливается или обрывается, у всех ли посетителей или у части. Сохраните время сбоя и адрес страницы для хостера.
Маркетолог, SEO-специалистСитуация: В техническом аудите или в отчёте сервера встречаются таймауты и обрывы соединения.Зачем: Если страница не открывается или открывается нестабильно, её не увидят ни посетители, ни поисковые роботы.Что сделать: Зафиксируйте, на каких страницах и когда возникает сбой, и передайте разработчику или хостеру. Для контроля используйте технический аудит сайта.
Разработчик, системный администраторСитуация: Нужно разобраться, почему соединение не устанавливается или рвётся.Зачем: От понимания рукопожатия, окна и повторных передач зависит правильная диагностика.Что сделать: Определите, на каком шаге рукопожатия остановка: нет ответа на SYN или не приходит завершающий ACK. Проверьте порты, правила доступа и нагрузку на сервер. За подробностями обращайтесь к первоисточнику: стандарту RFC 9293.
Студент, новичокСитуация: Встретили TCP в курсе по сетям или в вопросах на собеседование.Зачем: TCP — база для понимания того, как работает интернет и почему он надёжен.Что сделать: Запомните три вещи: соединение, подтверждения, порядок. Затем разберите рукопожатие по схеме ниже и сравните TCP с IP по таблице.

Что такое TCP и как он работает: сегменты, номера, подтверждения

TCP — это протокол транспортного уровня: он делит поток данных на сегменты, нумерует их и проверяет доставку. Он ориентирован на соединение: до передачи данных стороны договариваются о начале обмена.

  • Нумерация. По стандарту RFC 9293 каждый байт данных имеет свой номер. Получатель подтверждает приём накопительно: подтверждение номера X означает, что все байты до X получены.
  • Контроль ошибок. Потери находят по номерам последовательности, а ошибки в данных — по контрольным суммам сегментов. Исправляется это повторной передачей.
  • Управление потоком. В заголовке сегмента есть поле окна: оно сообщает, сколько байтов получатель готов принять. Это не даёт отправителю перегрузить получателя.
  • Управление перегрузкой. Стандарт требует от реализаций управления перегрузкой сети; для медленного старта он ссылается на RFC 5681.

Условная картина: письмо разрезано на пронумерованные страницы, получатель подтверждает, до какой страницы всё дошло, а недостающие просит прислать снова.

Трёхстороннее рукопожатие: как устанавливается соединение

Трёхстороннее рукопожатие (three-way handshake) — процедура, которой TCP устанавливает соединение. Три сообщения нужны, чтобы обе стороны договорились о начальных номерах.

ШагКто отправляетЧто передаёт
1Сторона ASYN с начальным номером последовательности
2Сторона BSYN со своим начальным номером и подтверждение (ACK) номера стороны A
3Сторона AACK, подтверждающий номер стороны B

После третьего шага соединение установлено, и можно передавать данные. Пример шагов с номерами 100 и 300 приведён в разделе 3.5 стандарта RFC 9293.

TCP и IP: чем отличаются

ПротоколЧто делаетЧем отличается
TCPобеспечивает надёжный упорядоченный поток байтов между приложениямииспользует порты, подтверждения и повторные передачи
IPадресует и доставляет пакеты между узлами сетисегменты TCP передаются внутри IP-пакетов; сам IP доставку не гарантирует

Порты в заголовке TCP (по 16 бит для отправителя и получателя) указывают, какому приложению на узле адресованы данные. Об адресах узлов см. IP-адрес.

Где встречается TCP на практике

Для веб-мастера TCP — это уровень «под» сайтом. Он незаметен, пока всё работает.

  • Открытие страницы. Браузер получает файлы страницы с сервера по протоколу HTTP, а в основе стека протоколов интернета лежит TCP/IP. Что такое протокол вообще: протокол.
  • Передача файлов. Протокол FTP работает в сети на основе TCP/IP: FTP.
  • Другие сервисы. Электронная почта, потоковое видео, онлайн-игры используют сетевые протоколы поверх IP.

Конкретный протокол транспорта выбирает разработчик сервиса. Для сайта и его владельца важнее результат: страница открывается стабильно и быстро.

Что делать, если соединение не устанавливается или рвётся

Диагностика сетевых проблем требует доступа к серверу, поэтому владельцу сайта достаточно собрать признаки и передать их специалисту.

Что видитеЧто сделать
Страница не открывается ни у когоПроверить, работает ли сервер, и написать хостеру с указанием времени сбоя
Страница не открывается у части посетителейУточнить регион, оператора и устройство; передать данные разработчику
Соединение рвётся при загрузке больших файловПроверить настройки сервера и ограничения хостинга, проверить загрузку по другому каналу
Ответ приходит очень медленноИзмерить скорость и посмотреть нагрузку на сервер; при необходимости сделать технический аудит

Типичные ошибки

  • Путать TCP и IP: IP адресует пакеты, TCP организует надёжный обмен поверх них.
  • Считать, что TCP «ускоряет» сайт: он отвечает за надёжность и порядок передачи, а не за скорость страницы.
  • Искать причину медленного сайта в TCP, не проверив сервер, код страницы и размер файлов.
  • Описывать проблему хостеру словами «не работает» без времени, адреса страницы и признаков.

Частые вопросы

TCP это что?

Протокол управления передачей данных. Он обеспечивает надёжную передачу упорядоченного потока байтов между двумя программами: сначала устанавливает соединение, затем нумерует и подтверждает данные.

Как расшифровывается TCP?

Transmission Control Protocol, то есть протокол управления передачей.

Что такое трёхстороннее рукопожатие?

Процедура установления соединения: сторона A отправляет SYN, сторона B отвечает SYN и подтверждением, сторона A отправляет подтверждение. После этого начинается передача данных.

Чем TCP отличается от IP?

IP адресует и доставляет пакеты между узлами, а TCP работает поверх него и обеспечивает надёжную упорядоченную передачу между приложениями.

Как TCP обнаруживает потерю данных?

По номерам последовательности и подтверждениям: если подтверждения нет, отправитель повторяет передачу. Ошибки в данных находят по контрольным суммам.

Что такое порт в TCP?

Число в заголовке сегмента, которое указывает, какому приложению на узле адресованы данные. В заголовке отдельные поля для порта отправителя и порта получателя.

Какой стандарт описывает TCP?

Актуальная спецификация — RFC 9293 (август 2022). Она заменила RFC 793.

Связанные термины

  • IP-адрес: Internet Protocol Address: адрес узла в сети, а не протокол надёжной передачи данных
  • Протокол: общее понятие правил обмена, а TCP — один из конкретных протоколов
  • FTP: File Transfer Protocol: протокол передачи файлов, который работает в сети на основе TCP/IP
  • Интернет: глобальная сеть, в основе которой стек протоколов TCP/IP
  • DNS: Domain Name Server: переводит доменные имена в IP-адреса до установления соединения
Получить кейсы Написать в Telegram
При нахождении на сайте Вы соглашаетесь с политикой обработки персональных данных.
Всё понятно!