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

Коротко
Главные выводы статьи о теме «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 доставляют данные: рукопожатие, порты и 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, в Windows128.
TTL защищает сеть от бесконечных петель, а по его значению в ответе ping можно прикинуть, сколько узлов прошёл пакет.

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

Порты и адреса 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 простыми словами?
Чем отличается TCP от IP?
Сколько уровней в модели TCP/IP?
Что такое TCP-порт и как узнать, какие порты открыты?
Чем TCP отличается от UDP?
Как проверить настройки TCP/IP в Windows?
Как проверить настройки TCP/IP в Linux?
Почему ping проходит, а сайт не открывается?
Чем отличаются Connection refused и Connection timed out?
Нужно ли переходить на IPv6?
Итоговый чек-лист
Используйте этот список как финальную проверку: каждый пункт — короткий вывод из статьи выше. Отметьте для себя, что уже сделано, а что осталось.
- Назовите четыре уровня TCP/IP и по одному протоколу на каждом
- Объясните, чем TCP отличается от UDP, своими словами
- Выполните ip a и найдите адрес и интерфейс сервера
- Проверьте связь: ping -c 4 по IP-адресу и по доменному имени
- Посмотрите открытые порты командой ss -tlnp и сверьте их с нужными
- Проверьте, что порты 22, 80 и 443 доступны снаружи, если они нужны
Если какой-то пункт пока не выполнен, вернитесь к нужному разделу статьи — там разобрано, как это сделать и на чём чаще всего ошибаются.
Источники
На сайте есть партнёрские ссылки: если вы оформите заказ по ним, мы получим вознаграждение от провайдера. Это не влияет на цену для вас и на место в рейтинге.