Как понизить высокий пинг — 10 способов. От чего зависит пинг и как его узнать…

Одна из важнейших подсистем, отвечающая за связь любого сервера с внешним миром — сетевая. Через сетевые интерфейсы поступают запросы от удаленных систем и через эти же интерфейсы направляются ответы, что позволяет налаживать коммуникацию и предоставлять/получать сервисы. В связи с этим особенно важно уметь производить диагностику и мониторинг сети хотя бы на базовом уровне, чтобы выявлять проблемы и вносить корректировки в конфигурацию в случае необходимости.

Облачные серверыIntel Xeon Gold 6254 3.1 GHz CPU, SLA 99,9%от249 руб/месяц

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

Диагностика сетевой связности (ping, arp, traceroute)

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

В случае каких-либо сетевых проблем в первую очередь проверяем, не сбились ли настройки сетевого интерфейса. Например, команды ipaddr или ifconfig выведут IP-адрес и маску сети:

Скриншот №1. Проверки настроек сетевого интерфейса

В выводе команды виден перечень сетевых интерфейсов, распознанных операционной системой. Интерфейс lo — это псевдоинтерфейс (loopback). Он не используется в реальных взаимодействиях с удаленными хостами, а вот интерфейс с именем ens192 — то, что нам нужно (именование сетевых интерфейсов различается в разных ветках и версиях ОС Linux). IP-адрес и маска сети, назначенные этому интерфейсу, указаны в поле inet — /24 после адреса обозначают 24-битную маску 255.255.255.0.

Теперь проверим, указан ли шлюз по умолчанию. Команды iproute или route покажут имеющиеся маршруты:

Скриншот №2. Проверка маршрута

В таблице маршрутизации мы видим, что имеется маршрут по умолчанию (обозначается либо ключевым словом default, либо адресом 0.0.0.0). Все пакеты, предназначенные для внешних сетей, должны направляться на указанный в маршруте адрес через обозначенный сетевой интерфейс.

Если в настройках интерфейса есть ошибки, их необходимо исправить — помогут в этом другие статьи, для ОС Ubuntu 18.04 или CentOS. Если же все верно — приступаем к диагностике с помощью утилиты ping. Данная команда отправляет специальные сетевые пакеты на удаленный IP-адрес (ICMP Request) и ожидает ответные пакеты (ICMP Reply). Таким образом можно проверить сетевую связность — маршрутизируются ли сетевые пакеты между IP-адресами отправителя и получателя.

Синтаксис команды ping IP/имя опции:

Скриншот №3. Синтаксис команды

В данном случае видим, что на оба сетевых пакета, отправленных на адрес нашего шлюза по умолчанию, получены ответы, потерь нет. Это значит, что на уровне локальной сети со связностью все в порядке. Помимо количества полученных/потерянных сетевых пакетов мы можем увидеть время, которое было затрачено на прохождение запроса и ответа – параметр RTT (Round Trip Time). Этот параметр может быть очень важен при диагностике проблем, связанных с нестабильностью связи и скоростью соединения.

Часто используемые параметры:

  • ping –c количество — указать количество пакетов, которое будет отправлено адресату (по умолчанию пакеты отправляются до тех пор, пока пользователь не прервет выполнение команды. Этот режим можно использовать, чтобы проверить стабильность сетевого соединения. Если параметр RTT будет сильно изменяться в ходе проверки, значит где-то на протяжении маршрута есть проблема);
  • ping –s количество — указать размер пакета в байтах. По умолчанию проверка производится малыми пакетами. Чтобы проверить работу сетевых устройств с пакетами большего размера, можно использовать этот параметр;
  • ping –I интерфейс — указать сетевой интерфейс, с которого будет отправлен запрос (актуально при наличии нескольких сетевых интерфейсов и необходимости проверить прохождение пакетов по конкретному сетевому маршруту).

В случае, если при использовании команды ping пакеты от шлюза (или другого хоста, находящегося в одной локальной сети с сервером-отправителем) в ответ не приходят, стоит проверить сетевую связность на уровне Ethernet. Здесь для коммуникации между устройствами используются так называемые MAC-адреса сетевых интерфейсов. За разрешение Ethernet-адресов отвечает протокол ARP (Address Resolution Protocol) и с помощью одноименной утилиты мы можем проверить корректность работы на этом уровне. Запустим команду arp –n и проверим результат:

Скриншот №4. Команда arp –n

Команда выведет список IP-адресов (так как был использован аргумент –n), и соответствующие им MAC-адреса хостов, находящиеся в одной сети с нашим сервером. Если в этом списке есть IP, который мы пытаемся пинговать, и соответствующий ему MAC, значит сеть работает и, возможно, ICMP-пакеты, которые использует команда ping, просто блокируются файрволом (либо со стороны отправителя, либо со стороны получателя). Подробнее об управлении правилами файрвола рассказано здесь и здесь.

Часто используемые параметры:

  • arp –n — вывод содержимого локального arp-кэша в числовом формате. Без этой опции будет предпринята попытка определить символические имена хостов;
  • arp –d адрес — удаление указанного адреса из кэша. Это может быть полезно для проверки корректности разрешения адреса. Чтобы убедиться, что в настоящий момент времени адрес разрешается корректно, можно удалить его из кэша и снова запустить ping. Если все работает правильно, адрес снова появится в кэше.

Если все предыдущие шаги завершены корректно, проверяем работу маршрутизатора — запускаем ping до сервера за пределами нашей сети, например, 8.8.8.8 (DNS-сервис от Google). Если все работает корректно, получаем результат:

Скриншот №5. Проверка работы маршрутизатора

В случае проблем на этом шаге, нам может помочь утилита traceroute, которая используя ту же логику запросов и ответов помогает увидеть маршрут, по которому движутся сетевые пакеты. Запускаем traceroute 8.8.8.8 –n и изучаем вывод программы:

Скриншот №6. Утилита traceroute

Первым маршрутизатором на пути пакета должен быть наш локальный шлюз по умолчанию. Если дальше него пакет не уходит, возможно проблема в конфигурации маршрутизатора и нужно разбираться с ним. Если пакеты теряются на дальнейших шагах, возможно, есть проблема в промежуточной сети. А, возможно, промежуточные маршрутизаторы не отсылают ответные пакеты. В этом случае можно переключиться на использование другого протокола в traceroute.

Часто используемые опции:

  • traceroute –n — вывод результата в числовом формате вместо символических имен промежуточных узлов;
  • traceroute –I — использование ICMP-протокола при отслеживании маршрута. По умолчанию используются UDP-датаграммы;
  • traceroute –s адрес— указать адрес источника для исходящего сетевого пакета;
  • traceroute –i интерфейс— указать сетевой интерфейс, с которого будут отправляться пакеты.

Диагностика разрешения имен (nslookup, dig)

Разобравшись с сетевой связностью и маршрутизацией приходим к следующему этапу — разрешение доменных имен. В большинстве случаев в работе с удаленными сервисами мы не используем IP-адреса, а указываем доменные имена удаленных ресурсов. За перевод символических имен в IP-адреса отвечает служба DNS — это сеть серверов, которые содержат актуальную информацию о соответствии имен и IP в пределах доверенных им доменных зон.

Самый простой способ проверить работает ли разрешение имен — запустить утилиту ping с указанием доменного имени вместо IP-адреса (например, ping ya.ru). Если ответные пакеты от удаленного сервера приходят, значит все работает как надо. В противном случае нужно проверить прописан ли DNS-сервер в сетевых настройках и удается ли получить от него ответ.

Способы выяснения какой DNS-сервер использует наш сервер различаются в зависимости от используемой версии и дистрибутива ОС Linux. Например, если ОС используется Network Manager для управления сетевыми интерфейсами (CentOS, RedHat и др.), может помочь вывод команды nmcli:

Скриншот №7. Команда nmcli

В настройках сетевого интерфейса, в разделе DNS configuration, мы увидим IP-адрес сервера. В Ubuntu 18.04 и выше, использующих Netplan, используем команду systemd-resolve —status:

Скриншот №8. Команда systemd-resolve —status

Используемый сервер также будет указан в настройках интерфейса, в разделе DNS Servers. В более старых версиях Ubuntu потребуется проверить содержимое файлов /etc/resolve.conf и /etc/network/interfaces. Если сервер не указан, воспользуйтесь статьей для ОС Ubuntu 18.04 или CentOS, чтобы скорректировать настройки.

Проверить работу сервиса разрешения имен нам помогут утилиты nslookup или dig. Функционально они почти идентичны: G-вывод утилиты dig содержит больше диагностической информации и гибко регулируется, но это далеко не всегда нужно. Поэтому используйте ту утилиту, которая удобна в конкретной ситуации. Если эти команды недоступны, потребуется доставить пакеты на CentOS/RedHat:

yum install bind-utils

для Debian/Ubuntu:

sudo apt install dnsutils

После успешной установки сделаем тестовые запросы:

dig ya.ru

Скриншот №9. Тестовые запросы

В разделе Answer Section видим ответ от DNS сервера — IP-адрес для A-записи с доменным именем ya.ru. Разрешение имени работает корректно:

nslookup ya.ru

Скриншот №10. Подтверждение корректной работы

Аналогичный запрос утилитой nslookup выдает более компактный вывод, но вся нужная сейчас информация в нем присутствует.

Что же делать, если в ответе отсутствует IP-адрес? Возможно, DNS-сервер недоступен. Для проверки можно отправить тестовый запрос на другой DNS-сервер. Обе утилиты позволяют эти сделать. Направим тестовый запрос на DNS-сервер Google:

dig @8.8.8.8 ya.ru

Скриншот №11. Отправка тестового запроса 1

nslookup ya.ru 8.8.8.8

Скриншот №12. Отправка тестового запроса 2

Если имена разрешаются публичным DNS-сервером корректно, а установленным по умолчанию в ОС нет, вероятно, есть проблема в работе этого DNS-сервера. Временным решением данной проблемы может быть использование публичного DNS-сервера в качестве сервера для разрешения имен в операционной системе. В том случае, если разрешение имен не работает ни через локальный, ни через публичный DNS сервер — стоит проверить не блокируют ли правила файрвола отправку на удаленный порт 53 TCP/UDP пакетов (именно на этом порту DNS-серверы принимают запросы).

Часто используемые параметры:

  • nslookup имя сервер — разрешить доменное имя, используя альтернативый сервер;
  • nslookup –type=тип имя — получить запись указанного типа для доменного имени (например, nslookup -type=mx ya.ru – получить MX-записи для домена ya.ru);
  • dig @сервер имя — разрешить доменное имя, используя альтернативый сервер;
  • dig имя тип — получить запись указанного типа для доменного имени (например, dig ya.ru mx — получить MX-записи для домена ya.ru).

Как обычно, полный набор опций и параметров для указанных утилит можно найти во встроенной справке операционной системы, используя команду man.

logo.pngЗдравствуйте, Гость!Зарегистрироваться или войти?

  1. Главная
  2. Сервисы
  3. Проверка доступности

Внимание! Вы не ввели URL/IP для проверки. Вы не указали порт проверки! После IP ставится двоеточие ‘:’, и затем вводится номер порта. Например, проверка IP 131.225.373.44 порта 225 выглядит так: 131.225.373.44:225. Внимание! Вы не ввели неверный адрес для этого типа проверки. Внимание! Для данного типа проверки нужно убрать закрывающий слэш. ×

Ping – это онлайн сервис, позволяющий проверить доступность Вашего ресурса с помощью отправления ICMP пакетов. Обращаем внимание, что технически пинг может быть закрыт, но это не значит, что сервер не работает. Примером подобного ресурса является сайт www.nic.ru.

HTTP – сервис, предназначенный для проверки доступности Вашего сайта.

DNS – с помощью данного сервиса Вы можете узнать, какой IP адрес соответствует указанному Вами хосту. В особенности данный сервис удобен при смене IP адреса, поскольку с его помощью Вы получите возможность смотреть, как в разных частях мира обновляется выдача нового IP.

Что такое ping(пинг)?

Ping (Packet Internet or Inter-Network Groper) — это системная утилита которая по протоколу TCPIP отправляет эхо запрос ICMP и ожидает ответ от пингуемого сервиса, время возврата эхо(ICMP echo request — запрос отклика ICMP) и называется время ответа пинга, что весьма косвенно показывает скорость интернет, чем меньше время пинга тем быстрее скорость интернета. Также вы сами можете пропинговать любой ресурс в интернете запустив из командной строки команду ping –t «имя ресурса который пингуем».

Обращаем внимание, что все вышеуказанные проверки доступности online являются географическими (проверяются из разных точек мира). Благодаря этому Вы получаете полное представление о состоянии Вашего ресурса. Приятной особенностью является статичная ссылка на отчет о проверках, которую в случае необходимости Вы имеете возможность послать Вашему хостингу или провайдеру в качестве доказательства наличия проблемы с каналом.

С нашим сервисом Вы сможете регулярно проверять доступность своего сайта в автоматическом режиме: регистрация.

Поделиться с другом

Для любителей онлайн-игр особо важен ping-test, поскольку даже малейшая задержка в них способна стать непреодолимой помехой на пути к победе. А потому перед включением игры стоит потратить несколько секунд и провести проверку качества связи.

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

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

Что такое пинг в интернете

Понятие ping подразумевает время, которое требуется для передачи пакета данных с компьютера на сервер и последующего получения информации обратно. В широком смысле данное понятие также включает качество передачи – количество переданных при передаче пакетов.

Единицей измерения пинга считаются микросекунду (ms). То есть, перемещение данных происходит моментально, но даже в подобном случае задержка способна влиять на качество соединения, поскольку от скорости получения пакета зависит то, как быстро пользователь получит свежую информацию.

Выше уже упоминалось, что наибольшее значение ping имеет для online-сервисов и игр. В них даже минимальное замедление способно подарить преимущество противнику. А вот для просмотра видеозаписей или посещения сайтов данный показатель практически не важен, поскольку возможное запоздание с открытием портала не имеет столь негативных последствий для пользователей, как задержка в игре.

Способы проверить ping

Существует 3 основных способа проверить пинг:

  • с помощью специальных порталов и онлайн-сервисов;
  • на игровых порталах;
  • через командную строку.

Проще всего 1 метод, поскольку для его использования достаточно:

  1. посетить наш портал;
  2. запустить ping-tester при помощи кнопки проверки скорости интернета;
  3. подождать, пока программа произведёт вычисления.

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

Кроме нашего портала провести тестирование можно на сайте speedtest.net или 2ip или в настройках онлайн-игр (обычно нужный раздел находится на панели запуска игры).

Через командную строку

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

  1. открыть командную строку через меню «пуск» или с помощью комбинации клавиш Win + R;
  2. ввести короткую команду cmd и нажать enter;
  3. затем написать ping и указать адрес нужного сайта (или ip-адрес сервера);
  4. запустить пинг-тест кнопкой enter и подождать, пока система измерит время передачи данных.

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

Оптимальные значения пинга

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

При этом:

  • оптимальным значением ping для любителей онлайн-игр станут показатели ниже 10 ms;
  • профессионалам стоит позаботиться о получении цифр меньше 6 ms;
  • остальным пользователям достаточно, если speedtest покажет результаты в 15-18 ms.

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

Что негативно влияет на ping

Существует 2 основных фактора, негативно влияющих на качество подключения. В первую очередь на speed test влияют действия провайдера, второй причиной увеличения пинга становится сервер. Цифры могут оказаться большими из-за удаленности сервера или высокой нагрузке, с которой он не справляется.

Существуют и другие причины негативных результатов, поэтому перед тем, как проверить пинг до сервера, пользователям стоит устранить возможные помехи:

  • программы и приложения, использующие в своей работе трафик;
  • обновления и загрузки, сужающие канал передачи данных;
  • устаревшие, требующие обновления драйверы видеокарты;
  • подключение к домашней сети wi-fi сторонних устройств.

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

Используемые источники:

  • https://serverspace.ru/support/help/diagnostika-setevogo-podklyucheniya-ping-arp-traceroute-dig-nslookup/
  • https://www.syslab.ru/geoping
  • https://speedtestt.ru/ping-test/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации