Мурадов Юрий
Автор статьи
Мурадов Юрий Analyst SkillStat
Опубликовано 7 апреля 2026 г.
Обновлено 3 июня 2026 г.

TCP: что это, как работает соединение и чем отличается от UDP

Transmission Control Protocol — основной транспортный протокол интернета с гарантией доставки

Коротко о навыке

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

На практике TCP встречается почти везде: в вебе, базах данных, SSH, почте, внутренних сервисах и обычных API. Рабочее понимание начинается не с таблицы флагов. Главное — видеть путь соединения целиком: открытие, передача, задержка, повторная отправка, окно и закрытие. Тогда легче понять, где проблема: в сети, в приложении или в ожиданиях команды.

Что такое TCP

Что это

Транспортный протокол для надёжной упорядоченной передачи данных между программами.

Где нужен

В вебе, SSH, базах данных, API, почте и большинстве прикладных соединений.

Что даёт

Открывает соединение, подтверждает доставку, сохраняет порядок и регулирует скорость.

Что такое рукопожатие

Трёхстороннее рукопожатие `SYN`, `SYN-ACK`, `ACK` открывает соединение и согласует старт обмена. Ошибка уже на этом шаге часто выглядит как невозможность подключиться.

Что такое retransmission

`retransmission` — повторная отправка данных, если подтверждение не пришло вовремя или видна потеря. Именно из-за неё соединение может остаться корректным, но стать медленным.

Что значит RST и TIME_WAIT

`RST` означает резкий сброс соединения. `TIME_WAIT` — нормальное завершающее состояние, а не ошибка само по себе. Эти состояния полезно читать в контексте всей цепочки.

Механика / Работа

Как работает TCP-соединение

TCP удобнее всего понимать как цепочку событий. Сначала соединение открывается. Потом по нему идёт поток данных. Затем стороны подтверждают приём и в конце аккуратно закрывают сессию.

Шаг 01
Слой

Открытие

Смысл

Клиент и сервер проходят рукопожатие и создают соединение.

Шаг 02
Слой

Передача

Смысл

Данные идут как поток байтов, а не как отдельные готовые сообщения.

Шаг 03
Слой

Подтверждение

Смысл

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

Шаг 04
Слой

Повтор

Смысл

Если подтверждение не пришло, потерянная часть передаётся заново.

Шаг 05
Слой

Закрытие

Смысл

Стороны завершают соединение штатно или одна из них резко его сбрасывает.

Навык / Применение

Где используется TCP

TCP выбирают там, где нужен предсказуемый поток данных. Его постоянно видно в вебе, базах данных, SSH и внутренних сервисах компании. Особенно там, где потеря или перестановка байтов сразу ломает работу клиента.

Сценарий 01

Веб и API

HTTP-сервисы обычно едут поверх TCP, если речь не про QUIC и другие отдельные схемы.

Сценарий 02

Базы и админ-доступ

PostgreSQL, MySQL, SSH и многие внутренние сервисы держатся на TCP-соединениях.

Сценарий 03

Почта и передача файлов

Почтовые протоколы и файловые обмены часто выбирают TCP из-за надёжной доставки.

Сценарий 04

Внутренние сервисы

Микросервисы и интеграции тоже опираются на TCP, когда важна корректность потока и порядок данных.

По направлениям

TCP заметен в 4 направлениях рынка с долей выше 5%.

Направление Контекст Доля Вакансии
Инфраструктура
Диагностика БД и служебные рабочие запросы.
63%
621
Разработка
Схема БД, запросы приложения и разбор производительности.
16.5%
163
Безопасность
Часть спроса по навыку сосредоточена в этом направлении.
10.2%
100
Тестирование
Проверка данных и интеграционных сценариев.
6.2%
61
Направления показывают, в каких частях IT-рынка навык заметен чаще всего, без разбивки по ролям.
Инструмент / Возможности

Что должен уметь специалист, который понимает TCP

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

Видеть жизненный цикл соединения

Понимать открытие, передачу, повторную отправку и закрытие как одну цепочку.

Читать состояние по фактам

Сопоставлять логи приложения, состояния сокетов и захват трафика, а не гадать.

Отделять сеть от приложения

Не путать ошибку парсинга, таймаут клиента и реальную потерю данных в сети.

Объяснять ограничения

Понимать, почему надёжность TCP повышает предсказуемость, но не делает систему мгновенной.

Сравнение / Контекст

TCP, UDP, HTTP и TLS: где чья роль

TCP часто сравнивают только с UDP, но на практике важнее не смешивать уровни. Один протокол перевозит поток. Другой задаёт смысл запроса. Третий отвечает за шифрование.

TCP и UDP

TCP даёт порядок и подтверждения. UDP проще и быстрее по задержке, но не гарантирует такую же надёжную доставку.

TCP и HTTP

TCP перевозит байты, а HTTP описывает запросы, заголовки и ответы приложения.

TCP и TLS

TCP даёт соединение. TLS добавляет шифрование и проверку подлинности поверх этого соединения.

Данные / Стек

По каким данным разбирают TCP-проблемы

TCP-проблемы редко видны по одному источнику. Обычно нужно смотреть на несколько слоёв сразу: захват трафика, состояние сокета, лог приложения, таймауты прокси и метрики задержки. Только так становится ясно, где именно цепочка начала ломаться.

Захват трафика

Показывает рукопожатие, подтверждения, сбросы и повторные отправки.

Состояния сокетов

Команды `ss` или `netstat` помогают увидеть, как живут соединения на хосте.

Логи приложения

Нужны, чтобы отличить сетевой сбой от внутренней ошибки сервиса.

Метрики прокси и балансировщика

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

Сравнение / Инструменты

Какие инструменты помогают разбирать TCP

Для практики важно смотреть на TCP разными инструментами. Один показывает пакеты. Другой — состояние сокетов. Третий помогает связать сетевую картину с приложением. Вместе они дают куда более точный ответ, чем одна догадка по логу.

Инструмент За что отвечает Когда нужен Граница

Wireshark

Графический анализатор трафика для чтения соединения по пакетам.

Полезен, когда нужно увидеть рукопожатие, подтверждения, сбросы и повторные отправки.

Для постоянного фонового сбора и больших объёмов трафика не всегда самый удобный инструмент.

tcpdump

Консольный захват трафика для серверов и удалённой диагностики.

Уместен, когда нужно быстро снять поток пакетов на машине без графической среды.

Сам по себе не так удобен для длинного визуального разбора, как Wireshark.

ss или netstat

Быстрый обзор состояний соединений, портов и очередей на хосте.

Подходит, когда нужно понять, сколько соединений открыто и в каком они состоянии.

Не показывает саму передачу пакетов и не заменяет полноценный захват трафика.

Логи и метрики приложения

Связка сетевого симптома с поведением сервиса и его таймаутами.

Нужны, когда важно понять, совпадает ли сетевой сбой с ошибкой приложения или базы.

Без сетевой стороны картины легко принять симптом за первопричину.

Карьера / Роли

Карьерные треки с TCP

TCP переносится между ролями: Сетевой инженер, Инженер поддержки, Системный администратор. В одном треке этот навык может быть основным рабочим инструментом, а в другом - сильным прикладным усилителем основной специализации.

Роли с навыком

Сетевой инженер держит 122.3% вакансий по навыку.

Роль Вакансии Медиана
Сетевой инженер
203
Инженер поддержки
165
Системный администратор
133
DevOps-инженер
78
C++-разработчик
67
Инженер по безопасности
62
QA Manual
49
Fullstack-разработчик
37

Ещё 7 ролей используют TCP

Практика / Задачи

Частые задачи с TCP

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

Задача 01
Задача

Разобрать timeout

Что делает специалист

Понять, кто не дождался ответа: клиент, сервер, балансировщик или сама сеть.

Задача 02
Задача

Поймать reset

Что делает специалист

Определить, кто сбросил соединение и было ли это штатным поведением приложения.

Задача 03
Задача

Объяснить slow response

Что делает специалист

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

Задача 04
Задача

Проверить протокол приложения

Что делает специалист

Убедиться, что приложение правильно режет поток на сообщения, а не надеется на магию TCP.

Практика / Ошибки

Ошибки новичков

Ошибка 01

Путать поток и сообщение

TCP не знает, где кончается одна команда и начинается другая. Это обязанность приложения.

Ошибка 02

Винить сеть без проверки

Проблема может быть в базе, коде, таймауте клиента или балансировщике, а не в самом TCP.

Ошибка 03

Учить только заголовок пакета

Без сценария соединения флаги и поля быстро превращаются в мёртвую теорию.

Ошибка 04

Считать TIME_WAIT ошибкой

Это штатное состояние завершения. Проблемой оно становится только в конкретном масштабе и контексте.

Рынок / Контекст

Почему понимание TCP нужно на практике

TCP редко фигурирует в вакансиях как отдельная строчка, но постоянно всплывает в задачах. Без него трудно разбирать таймауты, странные разрывы соединений, медленные ответы баз и поведение балансировщика. Поэтому понимание TCP особенно ценят у серверных, инфраструктурных и платформенных специалистов. Сильный уровень здесь виден быстро. Человек должен уметь отличить сетевую проблему от ошибки приложения, объяснить разницу между потерей и задержкой и спокойно читать состояние соединения по логам и захвату трафика. Такой навык особенно полезен в инциденте, когда спорить времени уже нет. И когда решение нужно принимать сразу. Это и делает TCP практическим, а не учебным знанием.

Закрывает рабочую задачу

TCP ценят не за знание термина, а за конкретную пользу в ежедневной работе команды.

Живёт в реальном стеке

Навык редко существует изолированно: он встроен в процессы, инструменты и смежные роли, поэтому спрос держится дольше.

Даёт прикладную самостоятельность

Специалист с TCP быстрее проверяет гипотезы, решает задачи и меньше зависит от ручной передачи работы между людьми.

Сигнал рынка
Стабильный спрос

TCP формирует устойчивый спрос внутри своего рабочего сегмента.

Рынок / Спрос

Спрос на TCP на рынке

TCP сохраняет устойчивый прикладной спрос на рынке: 166 активных вакансий, #99 по рынку, 2.1% IT-вакансий. Ниже показано число открытых вакансий на конец каждого месяца: это исторический ряд по состоянию на конец месяца, а не текущий срез рынка на сегодня.

Сила спроса
Стабильный спрос
166
активных вакансий сейчас

#99 по рынку • 2.1% IT-вакансий

Месяц к месяцу
223
июнь 2026

-9 вакансий и -4% к предыдущему месяцу.

Доход / Уровни

Сколько платят специалистам с TCP

Ценность TCP растёт вместе с ответственностью за живую систему. Если специалист умеет разбирать таймауты, сбросы соединения, повторные отправки и поведение сервиса под нагрузкой, он экономит команде часы поиска. Это уже не теория для...

Медиана рынка
Ограниченная точность
175 000
₽ / месяц

49 активных вакансий с зарплатой • покрытие 25.8% зарплатной выборки

Коридор по грейдам
publishable уровни

Коридор появится с publishable-грейдами.

Основной уровень
Senior
по структуре рынка

Senior - основной уровень рынка (59%)

Вход / Старт

Порог входа

Сейчас на рынке 13 активных junior-вакансий с TCP. Это 11.2% всех вакансий по навыку, поэтому для старта важнее всего смотреть на реальный объём junior-окна и на стек, который рынок ждёт рядом.

Junior-вакансии сейчас
13
активных вакансий

11.2% всех вакансий по навыку • Senior / Junior 5.2x

Доля junior
11.2%
% всех вакансий по навыку

Вход возможен, но рынок ждёт уже собранный стартовый стек.

Что нужно на старте

Стартовый стек

17
навыков в медианной вакансии

Медианная вакансия с TCP ожидает около 17 навыков в стеке. Это широкий стартовый набор: рынок обычно ищет не один изолированный инструмент, а рабочую комбинацию соседних навыков.

Чаще всего требуют вместе

навыки из junior-вакансий, где встречается TCP

Навык Junior-вакансии
Связи / Навыки

Навыки в связке с TCP

TCP редко живёт изолированно: чаще всего рынок видит его рядом с TCP/IP, Networking, Linux. Самая плотная связка сейчас - TCP/IP: оба навыка встречаются вместе в 99% вакансий.

Главная связка: TCP/IP • 99% вакансий. Показываем общерыночные связки TCP: не junior-минимум из блока выше, а навыки, которые чаще всего встречаются рядом с ним в одной вакансии.

Рабочий стек вокруг TCP

навыки, которые рынок чаще всего видит рядом в одной вакансии

Навык Зачем рядом Доля
Одна из самых плотных рыночных связок рядом с TCP.
99%
Часто встречается рядом с TCP в одном рабочем сценарии.
93%
Часто встречается рядом с TCP в одном рабочем сценарии.
73%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
41%
DNS
Поддерживает соседние процессы и усиливает рабочий контур навыка.
40%
Поддерживает соседние процессы и усиливает рабочий контур навыка.
39%

Связки, которые усиливают доход

не базовый минимум, а более сильные комбинации стека

1
Linux
n = 35
+31% 230 000 ₽
Обучение / Маршрут

Как изучить TCP

Учить TCP лучше на живом соединении. Поднимите простой сервер на `localhost`, подключитесь к нему клиентом и посмотрите трафик в анализаторе вроде Wireshark. Сначала найдите рукопожатие, потом передачу данных, потом закрытие соединения. После этого полезно сравнить TCP с UDP на одном понятном сценарии. Затем стоит специально воспроизвести обрыв или задержку и посмотреть, как меняется картина. Полезно ещё и сопоставить её с логом приложения. Так быстрее становится видно, зачем нужны подтверждения и почему приложение само задаёт границы сообщений. И где именно начинается зона ответственности самого сервиса. Это быстро собирает всю цепочку в голове.

Этап 01
Фокус

Основа

Что изучать

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

Этап 02
Фокус

Соединение

Что изучать

Рукопожатие, поток байтов, подтверждения, окно и корректное закрытие.

Этап 03
Фокус

Диагностика

Что изучать

Wireshark, `tcpdump`, `ss`, логи приложения и чтение типовых симптомов.

Этап 04
Фокус

Стек поверх TCP

Что изучать

HTTP, TLS, прокси, балансировщики, таймауты и поведение продакшен-сервисов.

Практика / Первый запуск

С чего начать изучение TCP

Начать лучше с простого стенда на одной машине. Поднимите сервер, подключитесь к нему клиентом и посмотрите, как открывается и закрывается соединение. Затем добавьте задержку или обрыв и проследите, как меняется поведение. После этого полезно сопоставить захват трафика с логом приложения. Можно ещё отдельно посмотреть состояния сокетов через `ss`. Так TCP перестаёт быть набором терминов и начинает читаться как живая последовательность событий. Именно этого обычно не хватает после сухого чтения RFC. А значит и после чисто теоретического курса. Особенно на первых инцидентах.

Шаг 01

Поднять локальный сервис

Нужен любой простой TCP-сервер, к которому можно несколько раз подключиться.

Шаг 02

Поймать рукопожатие

Найдите `SYN`, `SYN-ACK`, `ACK` и сопоставьте их с моментом подключения.

Шаг 03

Посмотреть передачу и закрытие

Увидьте подтверждения, а затем штатное или резкое завершение сессии.

Шаг 04

Сравнить с UDP

Это помогает почувствовать, за что именно TCP платит задержкой и сложностью.

Старт / Документация

Официальные ресурсы и быстрый старт

TCP обычно изучают по документации и коротким рабочим примерам. Ниже собраны ссылки, с которых удобно начать руками.

Не путать с

TCP — инфраструктурный слой или протокол, а не весь стек, который вокруг него строят.

Первый практический шаг

TCP проще всего понять на одном живом сценарии, где видны объекты, поток данных и место возможного сбоя.

Что открыть дальше

После короткого объяснения переходите к официальной документации, одному туториалу и одному живому примеру по TCP.

Будущее / Роль

Перспективы TCP

Перспективы TCP завязаны не только на текущем спросе, но и на том, как навык встраивается в новые платформы, инструменты и рабочие контуры.

Сигнал 01

HTTP и TLS

Следующий шаг — понять, как поверх TCP живут прикладные протоколы и шифрование.

Сигнал 02

Диагностика и observability

Глубже рост идёт через захват трафика, метрики, трассировку и разбор инцидентов.

Сигнал 03

Балансировка и edge

Много практики появляется рядом с прокси, балансировщиками и сетевыми таймаутами.

Навык / Границы

Когда TCP не нужен

Не заменяет IP

TCP не выбирает маршрут и не доставляет пакет сам по себе. Он работает поверх IP.

Не заменяет HTTP или другой протокол приложения

TCP перевозит поток байтов, но не знает, что означают URL, JSON или бизнес-команды.

Не равен шифрованию

За защиту данных отвечает TLS или другой уровень. Сам TCP не шифрует трафик.

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

Вопросы и ответы

Что такое TCP простыми словами?

Это протокол, который помогает двум программам обмениваться данными по порядку и без потери смысла. Он открывает соединение, следит за подтверждениями и повторяет потерянные части. Благодаря этому приложение получает более предсказуемый поток данных, чем на более простом транспорте.

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

TCP строит соединение, подтверждает приём и следит за порядком байтов. UDP проще и обычно даёт меньше накладных расходов, но не гарантирует такую же надёжную доставку. Поэтому выбор зависит от задачи: что важнее, скорость отклика или контроль целостности потока.

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

Это старт TCP-соединения. Клиент отправляет `SYN`, сервер отвечает `SYN-ACK`, клиент завершает шаг ответом `ACK`. После этого стороны считают соединение открытым и могут передавать данные. Этот этап важен, потому что многие проблемы начинаются ещё до первого полезного байта.

Почему TCP может тормозить?

Обычно из-за задержки сети, потерь, перегрузки, маленького окна или проблем на стороне приложения. Сам TCP старается исправить потерю и сохранить порядок, но за это иногда платит временем. Поэтому медленное TCP-соединение не всегда значит сломанный протокол. Чаще это симптом в более длинной цепочке.

Что значит, что TCP не знает границы сообщения?

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

Где TCP нужен почти всегда?

В вебе, API, SSH, базах данных, почте и большинстве внутренних сервисов. Везде, где важны корректность и порядок данных, TCP остаётся базовым выбором. Даже если команда редко думает о нём напрямую, именно он часто всплывает в момент сетевой диагностики и боевых инцидентов.