Ping и базовая диагностика сети

Ping и базовая диагностика сети

Мы разобрали, как пакеты путешествуют по интернету. Но что делать, если сайт не открывается? Интернет-соединение пропало или проблема в чём-то другом? Для диагностики сетевых проблем существует простой и древний инструмент — ping. Он есть на любом компьютере, работает мгновенно и даёт первый ответ на вопрос «а живо ли вообще соединение?».

Что такое ping

Ping — это утилита, которая отправляет специальный пакет (ICMP Echo Request) на указанный IP-адрес и ждёт ответа (ICMP Echo Reply). Если ответ пришёл — связь есть. Если нет — что-то не работает.

ICMP (Internet Control Message Protocol) — это служебный протокол, созданный специально для диагностики. Он не переносит пользовательские данные — только контрольные сообщения: «Эй, ты здесь?», «Не могу доставить пакет», «Время жизни истекло».

Как пользоваться ping

Открой терминал (командную строку) и набери:

ping google.com

Результат будет выглядеть примерно так:

PING google.com (142.250.185.206): 56 data bytes
64 bytes from 142.250.185.206: icmp_seq=0 ttl=118 time=12.5 ms
64 bytes from 142.250.185.206: icmp_seq=1 ttl=118 time=11.8 ms
64 bytes from 142.250.185.206: icmp_seq=2 ttl=118 time=12.1 ms
64 bytes from 142.250.185.206: icmp_seq=3 ttl=118 time=13.0 ms

--- google.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 11.8/12.4/13.0/0.5 ms

Что означают эти цифры:

  • icmp_seq=0,1,2,3 — порядковый номер пакета. По нему видно, если пакеты приходят не по порядку.
  • ttl=118 — значение TTL в ответном пакете. Начальное значение (обычно 64, 128 или 255) минус количество пройденных роутеров. Если начальное было 128, то 128 − 118 = 10 hop'ов до цели.
  • time=12.5 ms — время прохождения пакета туда и обратно (round-trip time, RTT). Это задержка, и она критична для всего: от скорости загрузки сайтов до качества видеозвонков.
  • 0.0% packet loss — сколько пакетов потеряно. Потеря пакетов — признак проблем с сетью.
  • min/avg/max/stddev — минимальное, среднее, максимальное время и стандартное отклонение.

Как читать результаты ping

Успех (ответы приходят). Связь есть. Волноваться стоит, только если время очень большое (> 200 мс для того же континента) или есть потери пакетов.

Таймаут (Request timeout). Пакет ушёл, но ответ не пришёл. Возможные причины:

  • Целевое устройство выключено.
  • Сетевой кабель повреждён.
  • Брандмауэр блокирует ICMP (многие серверы так делают — ping не проходит, хотя сайт открывается).
  • Промежуточный роутер не может доставить пакет дальше.

Host unreachable. Роутер знает, что сеть недоступна, и явно сообщает об этом. Обычно означает проблему на последнем отрезке маршрута.

Высокое время ответа. Причины:

  • Большое физическое расстояние (Россия → Австралия ≈ 250+ мс).
  • Перегруженный канал.
  • Помехи в Wi-Fi (для беспроводного соединения).
  • Маршрут идёт окольным путём.

План диагностики через ping

Если что-то не работает, ping помогает локализовать проблему. Стандартная последовательность:

# 1. Проверить, жив ли вообще сетевой интерфейс
ping 127.0.0.1

# 2. Проверить связь с роутером (локальная сеть)
ping 192.168.1.1

# 3. Проверить связь с внешним миром по IP (DNS не участвует)
ping 8.8.8.8

# 4. Проверить связь по доменному имени (участвует DNS)
ping google.com

Что означают результаты:

РаботаетНе работаетВывод
127.0.0.1Сетевая карта жива
192.168.1.1Локальная сеть в порядке
8.8.8.8Интернет работает
google.comDNS работает
127.0.0.1Проблема с сетевым драйвером или ОС
192.168.1.18.8.8.8Проблема у провайдера
8.8.8.8google.comПроблема с DNS

Что ещё может ping

Непрерывный ping. Добавь флаг -t (Windows) или просто запусти без ограничения (Mac/Linux — ping шлёт бесконечно по умолчанию). Удобно, чтобы мониторить стабильность соединения: оставь на пару минут и смотри на проценты потерь и разброс времени.

Размер пакета. По умолчанию ping шлёт 56 байт данных. Можно увеличить, чтобы проверить, нет ли проблем с фрагментацией:

ping -s 1400 google.com   # Mac/Linux: отправить пакет размером 1400 байт
ping -l 1400 google.com   # Windows

Ограничения ping

Ping — отличный первый шаг, но не панацея:

  • Многие серверы блокируют ICMP. Если ping google.com не отвечает, это не значит, что Google упал — скорее всего, его брандмауэр просто игнорирует ICMP-запросы.
  • Ping не скажет, что именно сломалось. Он только констатирует факт: связь есть или связи нет.
  • Ping тестирует только IP-уровень. Если IP работает, а проблемы на уровне приложения (например, веб-сервер упал), ping этого не заметит.

Для более глубокой диагностики используют утилиты вроде traceroute (показывает весь маршрут) и nslookup/dig (проверка DNS). Мы познакомимся с ними в следующих модулях.

Проверь себя

  1. ping показывает время 150 мс. Это хорошо или плохо?
  2. Ты делаешь ping google.com — таймаут, но сайт google.com открывается в браузере. В чём может быть дело?
  3. Что проверять первым: ping 8.8.8.8 или ping google.com?
<details> <summary>Ответы</summary>
  1. Зависит от расстояния. До сервера в том же городе — плохо (должно быть 5–20 мс). До сервера на другом континенте — нормально (скорость света ограничивает минимальное время).
  2. Google блокирует ICMP-пакеты на своём брандмауэре. Ping не проходит, а TCP-соединения (на которых работает браузер) — проходят. Ping и работа сайта — разные вещи.
  3. ping 8.8.8.8 (по IP). Если сначала проверить google.com и он не ответит, ты не поймёшь, проблема с интернетом или с DNS. Проверка по IP исключает DNS из уравнения.
</details>

Что унести с урока

  • Ping отправляет ICMP Echo Request и ждёт Echo Reply. Есть ответ = связь работает на IP-уровне.
  • RTT (round-trip time) — время туда-обратно в миллисекундах. Потеря пакетов (packet loss) — процент неполученных ответов.
  • Стандартная последовательность диагностики: localhost → роутер → внешний IP → доменное имя.
  • Ping тестирует IP-уровень. Если веб-сервер не отвечает, ping может проходить (или наоборот).

Мы научились проверять, живо ли соединение. Теперь пора разобраться, что происходит «выше» IP-уровня. В следующем модуле мы погрузимся в стек TCP/IP — узнаем, как TCP обеспечивает надёжность, чем отличается от UDP и зачем нужны порты.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике