vpsguru Обновлено 22.07.2026

TCP/IP: что это такое и как проверить работу стека на сервере — инструкция для новичка

Обновлено 21 сентября 2026 Чтение 9 мин Раздел: Блог VPSGuru: сети, серверы и безопасность сайта простыми словами

TCP/IP — набор сетевых протоколов, на которых работает интернет: от открытия сайта до SSH-подключения к серверу. В статье из раздела Блог разберём четыре уровня стека, разницу между TCP и UDP, рукопожатие и порты. Затем по шагам проверим сеть на своём VPS командами ip, ping, ss и traceroute.

TCP/IP: что это такое и как проверить работу стека на сервере — инструкция для новичка

Коротко

Главные выводы статьи о теме «TCP/IP» в семи пунктах:

  • TCP/IP — стек из 4 уровней: канальный, сетевой, транспортный и прикладной
  • Протокол TCP описан в RFC 9293 (2022), IP версии 4 — в RFC 791 (1981)
  • TCP устанавливает соединение за 3 пакета: SYN, SYN-ACK, ACK
  • IPv4-адрес занимает 32 бита (около 4,3 млрд адресов), IPv6 — 128 бит
  • Номер порта — от 0 до 65 535; SSH использует 22, HTTP — 80, HTTPS — 443
  • Стандартный MTU в Ethernet — 1500 байт; пакеты крупнее дробятся или теряются
  • Проверка сети на VPS занимает около 5 минут и 5 команд: ip a, ip route, ping, ss, traceroute

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

TCP/IP (Transmission Control Protocol и Internet Protocol) — это набор правил, по которому компьютеры обмениваются данными в сети. Правила описывают, как адресовать устройство, как разбить данные на части и как убедиться, что все части дошли. Если слово «протокол» вам незнакомо, сначала прочитайте что такое протокол.

Представьте почту. IP — это адрес на конверте: он указывает, откуда и куда идёт посылка. TCP — служба доставки: она нумерует посылки, ждёт подтверждения от получателя и повторно отправляет потерянное. Большой файл режется на десятки и сотни частей, а получатель собирает их по номерам.

Стек вырос из ARPANET — американской сети, запущенной в 1969 году. IP версии 4 описан в RFC 791 (1981), актуальная редакция TCP — в RFC 9293 (2022). Адрес IPv4 занимает 32 бита, это около 4,3 млрд адресов.

Вы пользуетесь TCP/IP каждый день, даже не замечая:

  • сайт: браузер открывает TCP-соединение с портом 443 по HTTPS;
  • SSH: команда ssh user@203.0.113.10 подключается к серверу через порт 22;
  • почта: клиент отправляет письмо по SMTP (Simple Mail Transfer Protocol), обычно через порт 587;
  • проверка связи: ping 1.1.1.1 отправляет пакеты прямо поверх IP.

Как работает TCP/IP: четыре уровня стека

TCP/IP (Transmission Control Protocol / Internet Protocol) делит передачу данных на четыре уровня. Каждый уровень решает свою задачу и не зависит от соседних: браузеру всё равно, идёт трафик по кабелю или по Wi-Fi.

Данные проходят стек сверху вниз, и на каждом уровне к ним добавляется заголовок. Это называется инкапсуляцией. Транспортный уровень дописывает заголовок TCP (от 20 байт), сетевой — заголовок IP (20 байт для IPv4), канальный — заголовок Ethernet. Получатель снимает заголовки в обратном порядке.

Кадр Ethernet вмещает до 1500 байт (MTU), поэтому на данные в одном сегменте TCP остаётся 1460 байт. Посмотреть MTU интерфейса можно командой ip link.

Уровень Задача Протоколы Единица данных
Прикладной Работа приложений с данными HTTP, SSH, DNS Сообщение
Транспортный Доставка между процессами, порты 0–65 535 TCP, UDP Сегмент (TCP), датаграмма (UDP)
Сетевой Адресация и маршрутизация IP, ICMP Пакет
Канальный Передача в пределах одной сети Ethernet, Wi-Fi Кадр

В модели OSI те же функции разложены на 7 уровней: прикладной уровень TCP/IP объединяет три верхних уровня OSI, канальный — два нижних. Подробнее о семи уровнях читайте в статье про модель OSI.

Схема четырёх уровней стека TCP/IP с протоколами и единицами данных
Четыре уровня стека TCP/IP и вложение заголовков при передаче данных

Как TCP и IP доставляют данные: рукопожатие, порты и MTU

IP (Internet Protocol) отвечает за адрес и маршрут: он решает, через какие узлы пакет дойдёт до получателя. Гарантий доставки IP не даёт, пакет может потеряться или прийти дважды. Надёжность обеспечивает TCP (Transmission Control Protocol): он нумерует сегменты, ждёт подтверждения от получателя и повторно отправляет потерянные данные.

Когда вы открываете сайт по HTTPS, браузер устанавливает соединение с портом 443 тремя пакетами. Сначала клиент шлёт SYN (запрос на соединение), сервер отвечает SYN-ACK (согласен, подтверждаю), клиент завершает обмен пакетом ACK. После этого начинается передача данных. Закрывается соединение пакетами FIN и подтверждениями с обеих сторон.

Порт нужен, чтобы отличить программы на одном сервере. Адрес 203.0.113.10 указывает на машину, а порт — на службу: 203.0.113.10:22 откроет SSH, 203.0.113.10:443 — сайт. Без порта сервер не поймёт, какой программе отдать пакет.

Два параметра ограничивают путь пакета:

  • MTU (Maximum Transmission Unit) — максимальный размер пакета. В Ethernet он равен 1500 байт; более крупные пакеты дробятся или теряются.
  • TTL (Time To Live) — число «прыжков» через маршрутизаторы. Каждый узел уменьшает его на 1, при нуле пакет удаляется. По умолчанию в Linux 64, в Windows 128.

TTL защищает сеть от бесконечных петель, а по его значению в ответе ping можно прикинуть, сколько узлов прошёл пакет.

Схема трёхэтапного рукопожатия TCP между клиентом и сервером
Установка TCP-соединения: три пакета до начала передачи данных

Сравнить тарифы VPS по каналу и локации

От канала и расположения дата-центра зависит задержка, которую вы увидите в ping.

Открыть рейтинг VPS

Как проверить работу TCP/IP на сервере: пошаговая инструкция

Проверка сети на VPS занимает около 5 минут и 5 команд: ip a, ip route, ping, ss, traceroute. Каждая команда проверяет свой уровень стека TCP/IP. Вам нужен сервер с Ubuntu 24.04 и доступ по SSH (Secure Shell). Если сервера ещё нет, выберите его в подборке VPS.

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

Порядок проверки стека TCP/IP на сервере:

  1. Подключитесь к серверу: ssh root@ВАШ_IP -p 22. Порт 22 стандартный для SSH. Если приглашение командной строки появилось, TCP до сервера уже работает.
  2. Выполните ip a. Найдите интерфейс, например eth0, и строку inet с IPv4-адресом. Состояние должно быть UP.
  3. Выполните ip route. Строка default via показывает шлюз по умолчанию. Без неё сервер не выйдет за пределы своей подсети.
  4. Выполните ping -c 4 1.1.1.1. Ищите 0% packet loss и время ответа до 50 мс. Так вы проверяете связь по чистому IP.
  5. Выполните ping -c 4 ya.ru. Если шаг 4 прошёл, а этот нет, сломан DNS (система доменных имён): проверьте /etc/resolv.conf.
  6. Выполните ss -tlnp. Команда покажет TCP-порты, которые слушает сервер, и процессы за ними. Порт 22 должен быть в списке.
  7. Выполните traceroute ya.ru или nc -zv ya.ru 443. Строки со звёздочками * * * показывают, где путь обрывается. Ответ succeeded значит, что порт 443 доступен.
Терминал с выводом команд ip a и ping при проверке TCP/IP на сервере
Проверка адреса и связи на сервере: вывод команд ip a и ping (иллюстрация интерфейса)

Порты и адреса TCP/IP: что открывать и как читать вывод

Порт — это число от 0 до 65 535, по которому система понимает, какой программе отдать пакет. IP-адрес (как устроен IP-адрес) находит сервер, а порт находит службу на нём. Системные порты 0–1023 занимают стандартные службы, для их запуска нужны права root. Динамические порты 49 152–65 535 система выдаёт клиентам на время соединения.

Чтобы увидеть, что слушает ваш сервер, выполните ss -tlnp. Флаги: t — TCP, l — слушающие порты, n — числа вместо имён, p — процесс. Адрес 0.0.0.0:22 значит, что служба принимает подключения на всех интерфейсах, в том числе из интернета. Адрес 127.0.0.1:3306 значит, что служба доступна только с самого сервера.

Состояние LISTEN — порт ждёт подключений. Состояние ESTABLISHED — соединение уже открыто; его покажет ss -tnp.

Сервис Протокол Порт
SSH TCP 22
HTTP TCP 80
HTTPS TCP 443
DNS UDP и TCP 53
SMTP (почта) TCP 25, 587
MySQL TCP 3306
RDP (удалённый рабочий стол Windows) TCP 3389

Три правила безопасной работы с портами:

  • Оставьте открытыми только нужные порты, например 22, 80 и 443.
  • Привязывайте базы данных к 127.0.0.1, чтобы они не были видны снаружи.
  • Закройте остальное файрволом: ufw default deny incoming.

Ошибки TCP/IP и что с ними делать

Чаще всего сеть на VPS «не работает» из-за закрытого в файрволе порта или сломанного DNS, а не из-за самого сервера. Для каждого сбоя хватает одной команды диагностики и одного действия — ниже разберём их по отдельности. Начинайте с проверки уровня: если не работает адрес, порт не поможет.

Первая ошибка: верить ответу на ping

Ответ на ping не означает, что сервис работает. Ping проверяет только доступность IP-адреса по ICMP (Internet Control Message Protocol) и ничего не говорит о портах TCP.

Как решить: проверяйте сам порт через ss или curl.

Вторая ошибка: ping идёт, сайт не открывается

Сервер доступен, но веб-порты не отвечают.

Как решить: проверьте порты командой ss -tlnp | grep -E ':(80|443)'. Если служба слушает, откройте порты 80 и 443 в файрволе: ufw allow 80,443/tcp.

Третья ошибка: путать timed out и refused

Это две разные ситуации. Connection timed out значит, что ответа нет вообще: пакеты режет файрвол или они не доходят до сервера. Connection refused значит, что сервер ответил отказом: до машины пакеты дошли, но на порту никто не слушает.

Как решить: выполните curl -v http://IP:80. При timed out ищите правило файрвола, при refused запустите службу, например systemctl start nginx.

Четвёртая ошибка: ping по IP работает, по имени нет

Это DNS (Domain Name System).

Как решить: проверьте dig example.com и файл /etc/resolv.conf, при необходимости впишите nameserver 1.1.1.1.

Пятая ошибка: потери пакетов выше 2–5%

Часть пакетов теряется по дороге.

Как решить: запустите mtr -rc 100 IP и найдите узел, где потери начинаются. Если проблема на стороне провайдера, пишите в поддержку или выберите VPS с лучшим каналом.

Шестая ошибка: неверная маска или шлюз

После смены настроек сервер теряет маршрут наружу.

Как решить: сравните ip a и ip route. Строка default via должна указывать на шлюз из той же подсети, например маска /24 для 254 адресов.

Итог простой: идите по уровням — адрес, имя, порт, служба — и не делайте выводов по одному ping.

TCP или UDP, IPv4 или IPv6, TCP/IP или OSI: сравнение

TCP (Transmission Control Protocol) подтверждает каждый принятый сегмент, повторно отправляет потерянные и сохраняет порядок байтов. Цена такой надёжности — задержка: сначала рукопожатие из 3 пакетов, затем ожидание ACK. UDP (User Datagram Protocol) шлёт датаграммы без соединения и подтверждений, поэтому работает быстрее. Его используют DNS-запросы на порту 53, видеозвонки и игры: потерянный кадр лучше пропустить, чем ждать 200 мс.

IPv4 (RFC 791) занимает 32 бита — это около 4,3 млрд адресов, и свободные блоки почти закончились. IPv6 (RFC 8200) занимает 128 бит, адресов хватает с запасом. Протоколы не совместимы напрямую, поэтому адреса каждого настраивают отдельно. Посмотреть оба адреса на VPS можно командой ip a.

Модель OSI (Open Systems Interconnection) делит сеть на 7 уровней, TCP/IP — на 4. Для настройки сервера берите TCP/IP: она совпадает с реальными протоколами. OSI пригодится для диагностики и разговора со специалистами: фраза «проблема на третьем уровне» сразу указывает на IP-адреса и маршруты.

Как выбрать протокол:

  • Файловый обмен (SFTP, загрузка бэкапа): TCP, потеря даже 1 байта портит файл.
  • Голос и видео: UDP, задержка выше 150 мс мешает разговору, а пропуск 20 мс звука почти незаметен.
  • Сайт: TCP на портах 80 и 443.
  • DNS: UDP для коротких запросов, TCP для ответов крупнее 512 байт.

Кому хватит базы, а когда нужно копать глубже

Если вы владелец сайта или новичок на VPS (Virtual Private Server, виртуальный сервер), вам хватит материала этой статьи. Вы знаете четыре уровня стека, порты 22, 80 и 443, а проверка сети занимает 5 минут и 5 команд: ip a, ip route, ping, ss, traceroute.

Глубже копайте, когда работаете сетевым администратором или запускаете высоконагруженный сервис. Тогда пригодятся tcpdump и Wireshark для разбора пакетов, настройка параметров ядра через sysctl, статическая маршрутизация и VLAN (Virtual LAN, виртуальные локальные сети). Например, при MTU 1500 байт и потерях крупных пакетов без анализа трафика причину не найти.

Выбирая сервер, смотрите на сеть: канал от 100 Мбит/с до 1 Гбит/с, публичный адрес IPv4 и поддержку IPv6. Свой адрес после заказа быстро определите по инструкции, как узнать внешний IP. Подобрать тариф с нужным каналом можно в рейтинге VPS-серверов.

Что изучить дальше:

  • файрвол ufw (Uncomplicated Firewall): закройте лишние порты и оставьте открытыми только нужные;
  • DNS (Domain Name System): привяжите домен к IP-адресу сервера;
  • SSL (Secure Sockets Layer, шифрование соединения): включите HTTPS на порту 443.

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

Что такое TCP/IP простыми словами?
Это набор правил, по которым устройства в сети находят друг друга и обмениваются данными. IP отвечает за адрес и маршрут, TCP — за то, чтобы данные дошли целиком и по порядку.
Чем отличается TCP от IP?
IP доставляет пакеты по адресу, но не гарантирует, что они дойдут. TCP работает поверх IP: нумерует сегменты, ждёт подтверждения и повторно отправляет потерянное.
Сколько уровней в модели TCP/IP?
В классическом описании четыре: канальный, сетевой, транспортный и прикладной. В модели OSI их семь, потому что она делит прикладной и канальный уровни на несколько.
Что такое TCP-порт и как узнать, какие порты открыты?
Порт — число от 0 до 65 535, которое указывает программу на устройстве. Открытые порты на сервере покажет команда ss -tlnp, а снаружи — проверка через nc -zv адрес порт.
Чем TCP отличается от UDP?
TCP устанавливает соединение и подтверждает доставку, поэтому надёжнее, но медленнее. UDP отправляет данные без подтверждений: так работают DNS, стриминг и онлайн-игры.
Как проверить настройки TCP/IP в Windows?
Откройте командную строку и выполните ipconfig /all — там адрес, маска, шлюз и DNS. Связь проверьте командой ping, а маршрут — tracert.
Как проверить настройки TCP/IP в Linux?
Команда ip a покажет адреса интерфейсов, ip route — шлюз по умолчанию. Для проверки связи используйте ping, для маршрута — traceroute.
Почему ping проходит, а сайт не открывается?
Ping использует протокол ICMP и не проверяет TCP-порты. Сайт мог не открыться из-за закрытого порта 80 или 443, остановленного веб-сервера или ошибки DNS.
Чем отличаются Connection refused и Connection timed out?
Refused значит, что сервер ответил отказом: на порту никто не слушает. Timed out — ответа нет вовсе, чаще всего пакеты режет файрвол или сбой на маршруте.
Нужно ли переходить на IPv6?
Для большинства сайтов хватает IPv4, но IPv6 стоит включить, если хостинг его поддерживает. Адресов в нём 128 бит, поэтому проблем с их нехваткой нет.

Итоговый чек-лист

Используйте этот список как финальную проверку: каждый пункт — короткий вывод из статьи выше. Отметьте для себя, что уже сделано, а что осталось.

  • Назовите четыре уровня TCP/IP и по одному протоколу на каждом
  • Объясните, чем TCP отличается от UDP, своими словами
  • Выполните ip a и найдите адрес и интерфейс сервера
  • Проверьте связь: ping -c 4 по IP-адресу и по доменному имени
  • Посмотрите открытые порты командой ss -tlnp и сверьте их с нужными
  • Проверьте, что порты 22, 80 и 443 доступны снаружи, если они нужны

Если какой-то пункт пока не выполнен, вернитесь к нужному разделу статьи — там разобрано, как это сделать и на чём чаще всего ошибаются.

Источники

На сайте есть партнёрские ссылки: если вы оформите заказ по ним, мы получим вознаграждение от провайдера. Это не влияет на цену для вас и на место в рейтинге.