Что это
TCP/IP — базовый сетевой стек, по которому устройства находят друг друга, передают пакеты и поднимают соединения между программами.
Стек сетевых протоколов — основа интернета и корпоративных сетей
TCP/IP — набор правил, по которым устройства обмениваются данными: от домашнего роутера до кластера в дата-центре. В московском IT-срезе навык встречается в заметной доле вакансий, и ждут его прежде всего от DevOps-инженеров, сетевых инженеров и инженеров поддержки. Сам по себе он оплачивается скромно, а связки с Grafana, Docker и PostgreSQL поднимают планку заметно выше.
TCP/IP — базовый сетевой стек, по которому устройства находят друг друга, передают пакеты и поднимают соединения между программами.
TCP/IP полезно разбирать как путь реального запроса, а не как схему ради экзамена. Пользователь вводит имя, DNS отдаёт адрес, пакет проходит маршрут, клиент стучится в порт, TCP поднимает соединение, а уже потом работают TLS и HTTP. На каждом шаге может быть свой сбой.
IP отвечает за адресацию и доставку пакетов между сетями. TCP работает поверх IP и следит за порядком, подтверждениями и повторной передачей. UDP проще: он не строит соединение и не обещает надёжный порядок.
Отсюда и ценность навыка. Когда сервис не открывается, нужно быстро понять, где пропал доступ: в имени, адресе, маршруте, порту, TCP-сессии или уже в приложении.
Важно: ping показывает только часть картины. Узел может отвечать на ICMP и всё равно не принимать нужный TCP-порт.
Даже простой переход на сайт проходит несколько сетевых шагов: имя, адрес, маршрут, порт, соединение и прикладной запрос.
Имя превращается в адрес
DNS возвращает IP-адрес узла, к которому нужно подключиться.
Пакеты идут по маршруту
IP доставляет пакеты через шлюзы и сети к адресу назначения.
TCP устанавливает соединение
Клиент и сервер согласуют соединение, после чего данные идут упорядоченным потоком.
Прикладной протокол передаёт смысл
HTTP или другой протокол работает уже поверх сетевого соединения.
TCP/IP переносится между ролями: DevOps-инженер, Сетевой инженер, Инженер поддержки. В одном треке этот навык может быть основным рабочим инструментом, а в другом - сильным прикладным усилителем основной специализации.
DevOps-инженер держит 60.4% вакансий по навыку.
Ещё 7 ролей используют TCP/IP
Текущий срез показывает активные вакансии сейчас. Распределение по ролям рассчитано по расширенной исторической выборке, поэтому значения могут быть выше текущего количества активных вакансий.
TCP/IP ценен не абстрактным знанием инструмента, а повторяющимися рабочими задачами — ниже они разобраны так, как встречаются в реальной работе.
Проверить доступ к сервису
Понять, существует ли адрес, открыт ли порт и отвечает ли нужное приложение.
Разобрать тайм-аут
Найти сброс соединения
Понять, кто закрыл соединение: приложение, сеть или правило безопасности.
Проверить маршрут
Увидеть, через какие узлы идёт трафик и где начинается потеря или задержка.
Описать сетевую схему
Зафиксировать адреса, подсети, порты и правила доступа понятным для команды языком.
Снять сетевой дамп
Использовать tcpdump или Wireshark, чтобы увидеть пакеты, флаги и попытки соединения.
HTTP работает выше. Ошибка веб-запроса не всегда означает сетевую проблему.
Узел может не отвечать на ICMP, но принимать TCP-подключения на нужный порт.
Адрес может быть доступен, а конкретная служба на порту — закрыта или заблокирована.
Часть сетевых сбоев начинается не с маршрута, а с неверного имени, записи или кэша.
TCP/IP остаётся базовой инженерной грамотностью для инфраструктуры, поддержки, безопасности и серверной разработки. Почти любой инцидент с доступностью проходит через адрес, маршрут, порт или соединение. Рынок ценит не пересказ уровней, а порядок проверки. Сильный специалист быстро показывает, это DNS, маршрут, firewall, закрытый порт, TLS или уже ошибка приложения. Такой навык экономит время всей команды во время инцидента. И снижает число лишних действий под давлением. Это особенно заметно в распределённых сервисах и облаке. И помогает быстрее договориться между инфраструктурой и разработкой. Поэтому навык редко простаивает без дела. И для больших, и для маленьких команд.
TCP/IP востребован там, где инструмент реально ускоряет повторяемые задачи команды, а не существует отдельной теорией.
Спрос держится дольше, когда навык нужен не эпизодически, а как часть ежедневного цикла разработки, проверки или доставки.
TCP/IP чаще ищут там, где процесс уже стандартизирован и без этого инструмента команда теряет скорость и предсказуемость.
TCP/IP формирует устойчивый спрос внутри своего рабочего сегмента.
TCP/IP сохраняет устойчивый прикладной спрос на рынке: 417 активных вакансий, #36 по рынку, 6% IT-вакансий. Ниже показано число открытых вакансий на конец каждого месяца: это исторический ряд по состоянию на конец месяца, а не текущий срез рынка на сегодня.
#36 по рынку • 6% IT-вакансий
-102 вакансий и -16% к предыдущему месяцу.
За чистое знание сетей платят скромно — зарплату определяют роль и уровень, актуальные цифры смотрите в рыночном блоке этой страницы. Решает то, что построено поверх: сильнее всего вилку поднимает связка с Grafana.
103 вакансий с зарплатой в расширенной зарплатной выборке
Коридор появится, когда по грейдам наберётся достаточная выборка.
Senior - основной уровень рынка (54%)
TCP/IP редко живёт изолированно: чаще всего рынок видит его рядом с Linux, Python, DNS. Самая плотная связка сейчас - Linux: оба навыка встречаются вместе в 71% вакансий.
Главная связка: Linux • 71% вакансий. Показываем общерыночные связки TCP/IP: не junior-минимум из блока выше, а навыки, которые чаще всего встречаются рядом с ним в одной вакансии.
навыки, которые рынок чаще всего видит рядом в одной вакансии
Сейчас на рынке 43 активных junior-вакансий с TCP/IP. Это 13.4% всех вакансий по навыку, поэтому для старта важнее всего смотреть на реальный объём junior-окна и на стек, который рынок ждёт рядом.
13.4% всех вакансий по навыку • Senior / Junior 4x
Вход возможен, но рынок ждёт уже собранный стартовый стек.
Медианная вакансия с TCP/IP ожидает около 16 навыков в стеке. Это широкий стартовый набор: рынок обычно ищет не один изолированный инструмент, а рабочую комбинацию соседних навыков.
навыки из junior-вакансий, где встречается TCP/IP
Пользователи часто смешивают сетевой стек и прикладные протоколы, поэтому сравнение закрывает важный поисковый интент.
Адресация и доставка пакетов между узлами и сетями.
Когда нужно понять, куда должен идти трафик и проходит ли маршрут до нужного адреса.
Не гарантирует порядок данных, соединение и успешную работу службы на порту.
Надёжный поток данных между портами двух узлов поверх IP.
Когда важны соединение, порядок байтов, подтверждения и повторная передача.
Не объясняет смысл HTTP-запроса, TLS-ошибку или поведение приложения после подключения.
Передача датаграмм без соединения и гарантий порядка.
Когда нужна меньшая задержка или протокол сам управляет потерями и повтором.
Не даёт встроенной надёжности TCP и требует другого подхода к диагностике.
Прикладной протокол запросов и ответов между клиентом и сервером.
Когда нужно понять метод, адрес ресурса, заголовки, тело, статус и ответ приложения.
Работает выше TCP/IP; не заменяет проверку DNS, маршрута, порта и соединения.
Система сопоставления имён и IP-адресов.
Когда нужно проверить, куда ведёт домен или внутреннее имя сервиса.
Даёт адрес, но не гарантирует, что маршрут, порт и приложение дальше доступны.
TCP/IP нужен там, где приходится разбирать доступность сервиса и быстро отделять сетевую проблему от ошибки приложения, прокси, TLS, правил доступа, маршрута или кода. в работе.
Проверить имя, адрес, маршрут, порт и место, где обрывается путь.
Разбирать тайм-ауты, сбросы соединений и недоступность портов между средами.
Видеть открытые порты, лишние пути доступа и сетевые границы между сегментами.
TCP/IP заметен в 4 направлениях рынка с долей выше 5%.
Практический навык — это диагностика по симптомам, а не пересказ модели уровней.
Понимать, где локальная сеть, где шлюз и куда должен идти пакет.
Отличать доступность узла от доступности конкретной службы.
Видеть, где начинается потеря, задержка или запрет доступа.
Понимать, как DNS, TCP, TLS и HTTP влияют на один пользовательский запрос.
TCP/IP можно представить как правила доставки данных: IP отвечает, куда отправить пакеты, TCP — как собрать надёжный поток между программами. Важно отделять сетевой стек от DNS, HTTP и других прикладных протоколов.
Адресация и доставка пакетов между узлами и сетями. IP помогает определить, куда отправлять данные, но не гарантирует порядок, повтор и состояние соединения.
Соединение между портами двух узлов, порядок данных, подтверждения и повторная передача потерянных фрагментов. TCP делает поток надёжнее поверх IP.
Номер службы на узле, к которой подключается клиент. Адрес может быть доступен, но нужный порт закрыт, не слушается приложением или заблокирован правилом доступа.
HTTP, DNS, SMTP и другие протоколы работают выше сетевого стека. Если TCP-соединение успешно, проблема всё ещё может жить в TLS, HTTP, авторизации или логике приложения.
При сетевой проблеме смотрят не на одну команду. Нужны имя, адрес, маршрут, порт, факт TCP-соединения и ответ прикладного уровня. Только так видно, где именно обрывается путь. Полезно отдельно фиксировать отрицательные проверки. Если DNS вернул нужный адрес, маршрут есть, а порт закрыт, круг поиска уже резко сужается.
Правильно ли имя разрешается в адрес и совпадает ли он с ожидаемой средой.
Доходит ли трафик до нужной сети и где появляется задержка.
Слушает ли служба порт и проходит ли TCP-соединение.
Что возвращает curl, браузер или клиент после сетевого подключения: статус, TLS-ошибка, тайм-аут или ответ приложения.
Перспективы TCP/IP завязаны не только на текущем спросе, но и на том, как навык встраивается в новые платформы, инструменты и рабочие контуры.
Новые платформы и облака всё равно опираются на адреса, маршруты, порты и соединения.
Распределённые системы всё чаще ломаются на стыке приложения, сети и безопасности.
Инструменты покажут симптом, но место сбоя в стеке всё равно должен объяснить инженер.
Соберите сеть из двух-трёх подсетей в Packet Tracer или GNS3: маршрутизация между ними, DHCP, NAT наружу и правила файрвола. Задокументируйте схему адресации и покажите, как пакет проходит из одной подсети в другую.
Запишите дампы трёх сценариев — открытие сайта, DNS-сбой, обрыв TCP-соединения — и оформите разбор: где рукопожатие, как выглядит ретрансмиссия, чем отличается здоровый обмен от проблемного.
Напишите клиент-серверный чат на Python: TCP-сервер на select или asyncio, несколько клиентов, обработка обрывов соединения. Бонус — вариант на UDP и сравнение поведения при потерях.
Поднимите сбор сетевых метрик (задержки, потери, доступность портов) через blackbox-exporter и Prometheus, выведите дашборд в Grafana и настройте алерты. Ровно та связка, что в московском срезе даёт наибольший прирост к...
Учить TCP/IP лучше через живую диагностику, а не через абстрактную схему уровней. Возьмите один сервис и пройдите путь запроса целиком: имя, адрес, маршрут, порт, TCP-соединение, TLS и HTTP-ответ. Дальше намеренно ломайте один слой за раз. Смените DNS-запись, закройте порт, остановите приложение, включите неверный сертификат. Так становится видно, чем timeout отличается от connection refused и почему одинаковая фраза «сайт не работает» почти ничего не говорит. Потом полезно коротко записать, какой именно шаг показал причину. Такая привычка очень помогает на настоящем инциденте. И не путать сетевой сбой с проблемой самого сервиса.
Адреса и подсети
Понять IPv4, IPv6, маску, шлюз, частные адреса и базовую маршрутизацию.
TCP и UDP
Разобраться с соединением, портами, подтверждениями, повторной передачей и отличием от UDP.
Диагностика
Освоить ping, traceroute, curl, nc, ss, dig и чтение сетевых симптомов.
Инфраструктурные слои
Соответствие — доля тем навыка, которые охватывает программа курса
Начните с одного знакомого веб-сервиса. Сначала проверьте имя через DNS, потом адрес и маршрут, затем нужный порт, TLS и ответ приложения. После этого сломайте один слой специально. Например, закройте порт или подмените адрес в тестовой среде. Сравните симптомы. Такой старт быстрее учит, чем заучивание модели OSI, потому что сразу связывает теорию с диагностикой. А ещё помогает запомнить порядок проверки под реальный инцидент. И не спорить о коде раньше времени. Так порядок действий быстрее закрепляется в голове. И ошибки становятся намного различимее уже на старте.
Используйте dig или nslookup и убедитесь, что имя ведёт туда, куда ожидает команда.
Используйте curl, nc или telnet, чтобы отличить закрытую службу от недоступного узла.
Используйте traceroute или mtr, чтобы увидеть задержки и место обрыва.
Если спор не решён, посмотрите ss, tcpdump или Wireshark: есть ли SYN, ответ SYN-ACK, сброс, повторные передачи или полная тишина.
TCP/IP — сетевой стек, который помогает устройствам находить друг друга, передавать пакеты и поднимать соединения между программами. Это не один протокол, а набор правил, на котором держатся адресация, маршрутизация и обмен данными в сети. Без этой базы тяжело разбирать доступность сервисов в работе.
IP отвечает за адрес и путь пакета через сеть. TCP работает поверх IP и добавляет соединение, порядок байтов, подтверждения и повтор потерянных данных. Проще говоря: IP доставляет пакет к узлу, а TCP делает обмен между программами надёжнее.
Нет. TCP/IP — сетевой слой, который помогает довести данные до нужного узла и порта. HTTP работает выше и описывает уже сам запрос приложения: метод, заголовки, статус и тело ответа. Поэтому ошибка HTTP не всегда означает сетевую проблему.
Ping использует ICMP и показывает только часть картины. Узел может отвечать на ping, но не принимать подключение на нужный TCP-порт; бывает и наоборот, когда ICMP закрыт, а сервис доступен. Поэтому дальше всё равно надо проверять DNS, маршрут, порт и соединение.
Сначала проверяют имя и адрес, затем маршрут, потом нужный порт и сам факт TCP-соединения. Только после этого переходят к TLS, HTTP, авторизации и логике приложения. Такой порядок помогает не спорить о коде там, где запрос ещё не дошёл до сервиса.
Не только сетевым инженерам. Он нужен DevOps, SRE, системным администраторам, бэкенд-разработчикам, безопасникам и поддержке. Чем больше распределённых сервисов и интеграций, тем чаще именно понимание TCP/IP помогает быстро показать, где исчез доступ и кто должен чинить проблему.
OSI — учебная эталонная модель, TCP/IP — рабочая: по ней реально ходит трафик в интернете. Верхние три уровня OSI (прикладной, представления, сеансовый) в TCP/IP слиты в один прикладной, а физический и канальный объединены в уровень сетевого доступа. На собеседованиях чаще спрашивают OSI, в реальной диагностике думают уровнями TCP/IP — полезно свободно переводить одно в другое.
TCP гарантирует доставку и порядок: он подтверждает каждый сегмент и досылает потерянное — поэтому на нём живут сайты, почта и API. UDP просто кидает датаграммы без подтверждений: быстрее, но без гарантий. Его выбирают там, где опоздавший пакет хуже потерянного — звонки, стримы, онлайн-игры, DNS-запросы. QUIC (основа HTTP/3) построен поверх UDP, но сам добавляет надёжность.
Перед передачей данных TCP устанавливает соединение за три шага: клиент шлёт SYN, сервер отвечает SYN-ACK, клиент подтверждает ACK. После этого обе стороны знают начальные номера последовательностей и готовы обмениваться данными. Если видите зависание на SYN_SENT в выводе ss — SYN ушёл, а ответа нет: порт закрыт файрволом или сервис не слушает.
MTU — максимальный размер кадра, который канал передаёт без фрагментации; для Ethernet это обычно 1500 байт. Если по пути есть туннель (VPN, PPPoE), полезное место уменьшается, а пакеты с флагом «не фрагментировать» начинают молча пропадать. Классический симптом: ping проходит, маленькие страницы открываются, а большие висят. Лечится подбором MTU или включением MSS clamping на роутере.
NAT подменяет приватные адреса вида 192.168.x.x на один публичный IP роутера и запоминает соответствия в таблице трансляций: какой внутренний адрес и порт каким внешним портом представлен. Ответ из интернета приходит на роутер, тот по таблице возвращает пакет нужному устройству. Так весь офис выходит в сеть через один адрес — но входящие соединения извне без проброса портов не пройдут.
IPv4 даёт около 4,3 млрд адресов — их не хватает, отсюда NAT и серые сети. IPv6 использует 128-битные адреса вида 2001:db8::1, встроенную автоконфигурацию и избавляет от NAT. Переход медленный, потому что обе версии несовместимы напрямую: провайдерам и сервисам приходится держать двойной стек, а старое оборудование и приложения знают только IPv4.
Сокет — программный интерфейс к сети: комбинация IP-адреса, порта и протокола, через которую приложение читает и пишет данные. Сервер «слушает» сокет 0.0.0.0:443, клиент открывает свой с временным портом — вместе они образуют соединение. Когда сервис не стартует с ошибкой address already in use, это про сокет: порт уже занят другим процессом.
Устройство без адреса шлёт широковещательный запрос DISCOVER, DHCP-сервер предлагает адрес (OFFER), клиент просит его (REQUEST), сервер подтверждает (ACK) — схему запоминают как DORA. Вместе с IP приходят маска, шлюз и DNS-серверы, всё в аренду на время. Если устройство получило адрес 169.254.x.x — DHCP-сервер не ответил, и система назначила заглушку сама.
IP-адрес говорит, куда доставить пакет логически, но внутри локального сегмента кадры ходят по MAC-адресам. ARP переводит одно в другое: устройство спрашивает в широковещательном запросе «у кого IP 192.168.1.1?», владелец отвечает своим MAC. Посмотреть таблицу соответствий можно командой ip neigh или arp -a — при странностях в локалке это одна из первых проверок.
Каждая строка — маршрутизатор на пути пакета, время в миллисекундах — задержка до него. traceroute намеренно отправляет пакеты с растущим TTL: каждый узел, обнуляя счётчик, выдаёт себя ICMP-ответом. Звёздочки не всегда беда: многие узлы просто не отвечают на такие запросы. Тревожный признак — рост задержки, который сохраняется на всех последующих узлах, или обрыв трассы до цели.
Обе утилиты показывают открытые соединения и слушающие порты. netstat — классика, есть почти везде, но в Linux считается устаревшей; ss работает быстрее и показывает больше деталей о состояниях TCP. Базовая команда на каждый день: ss -tulpn — все слушающие TCP/UDP-порты с процессами. Так за секунды выясняется, кто занял порт и слушает ли сервис вообще.
Поставьте Wireshark, запишите минуту трафика при открытии одного сайта и разберите её. Освойте display-фильтры: http, dns, tcp.port == 443, ip.addr == x.x.x.x — без них дамп нечитаем. Найдите three-way handshake через Follow TCP Stream, посмотрите DNS-запрос и ответ. Один такой разбор даёт больше понимания стека, чем десяток статей.
Заметная часть инцидентов в инфраструктуре — сетевые: сервис не отвечает, балансировщик шлёт в мёртвый бэкенд, под в Kubernetes не видит базу. Docker-сети, ingress, service mesh, security groups — всё это надстройки над TCP/IP, и без понимания основ их поведение выглядит магией. В московском IT-срезе DevOps — главная роль по числу вакансий с этим навыком: 264 позиции.
Классика: уровни моделей и что на каком живёт, отличие TCP от UDP, рукопожатие и разрыв соединения, как работает ARP и NAT, расчёт подсетей по маске. Дальше идут сценарии: «пользователь не открывает сайт — ваши действия по шагам». Ценят не заученные определения, а порядок диагностики: от канального уровня к прикладному, с конкретными командами на каждом шаге.
Зарплату в вакансиях с TCP/IP определяют роль и грейд, а не сам навык — актуальные данные смотрите в рыночном блоке этой страницы. Сетевой инженер — одна из самых частых ролей рядом с DevOps. Заметно поднимают вилку смежные навыки: чаще всего в паре с TCP/IP доплачивают за Grafana, Docker и PostgreSQL.
Это три самых частых порта в работе: 80 — HTTP, 443 — HTTPS, 22 — SSH. Ими проверяют доступность веб-сервиса и удалённый доступ к серверу: curl -v на 80/443, ssh на 22. Из той же обоймы: 53 — DNS, 25/465 — почта, 3306 и 5432 — MySQL и PostgreSQL. Знание well-known портов ускоряет чтение вывода ss и правил файрвола.
Это два разных TTL. В IP-пакете TTL — счётчик прыжков: каждый маршрутизатор уменьшает его на единицу, при нуле пакет отбрасывается — так сеть защищается от вечных петель, а traceroute строит маршрут. В DNS TTL — время в секундах, на которое ответ кешируется: поэтому после смены A-записи сайт «переезжает» не мгновенно, а когда истечёт кеш.
CIDR-суффикс говорит, сколько бит адреса отведено под сеть: /24 — это маска 255.255.255.0 и 254 адреса для хостов, /16 — 65 534. Подсети делят большую сеть на изолированные сегменты: офисные ВЛАНы, приватные подсети в облаке, сети подов в Kubernetes. Уметь быстро посчитать диапазон по маске — базовое требование и в сетевых, и в DevOps-вакансиях.
Порядок такой: разберите 4 уровня стека и путь пакета от браузера до сервера, затем руками пройдитесь по своей сети командами ip addr, ip route, ping, traceroute, dig, ss. Дальше — Wireshark и разбор живого трафика, потом подсети и NAT на домашнем роутере или в бесплатном Packet Tracer. Через месяц такой практики уровень уже выше, чем у большинства кандидатов на поддержку и джуниор-админа.