Описание команды PING. Обрыв соединения с сервером

Электроника 27.04.2019
Электроника

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

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

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

Для определения пинга ОС Windows достаточно войти в командную строку, введя команду cmd в меню «Выполнить», что вызывается комбинацией клавиш «WIN»+«R», или поисковую строку меню «Пуск».

Затем, необходимо ввести команду «ping» и через пробел указать адрес удаленной машины/сайта, соединение с которым будет проверяться.

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

Как уменьшить пинг - актуальные способы

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

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

  • Плохое интернет-соединение. Исправляется следующим образом: меняется способ подключения к сети (модем меняется на прямое кабельное подключение или другое), меняется провайдер, если низкокачественное соединение является его недоработкой, обновляется тариф для увеличения пропускной способности, выделяемого клиенту канала.
  • Устаревший драйвер сетевой карты. Все достаточно просто – его необходимо обновить, скачав необходимые файлы с сайта производителя или любого другого тематического ресурса.
  • Вирусы, список автозагрузки, загрузчики. Все перечисленное может оказывать свое негативное воздействие на скорость работы сети. Естественно, от вирусов систему нужно очищать, список автозагрузки корректировать, оставляя лишь необходимое, загрузчики отключать на момент игры или любых других действий, связанных с подключением к определенному серверу. Последнее особенно касается torrent-клиентов, которые при загрузке могут «забивать» собой весь выделенный пользователю интернет-канал.

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

Запустив реестр командой «regedit», введенной в тех же пунктах, что и для командной строки, необходимо проделать следующие действия:

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

Как уменьшить пинг на модеме

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

Опытные игроки и специалисты по работе с такими устройствами рекомендуют следующие способы усиления сигнала:


Каждое из этих действий положительным образом повлияет на скорость работы интернета и значительно уменьшит пинг. Проверять уровень соединения можно через приложение MDMA (Mobile Data Monitoring Application), которое после скачивания и запуска определит подключенный модем (может не с первого раза), а затем выдаст значение качества сигнала в единицах dbm. Динамическое считывание информации в режиме реального времени с задержкой в 5-30 секунд позволит определить наилучшее место для размещения модема.

Как уменьшить пинг в играх

Наконец мы подошли к самому главному этапу, поскольку уменьшение в онлайн-играх волнует пользователей больше всего, ведь плохое интернет-соединение и прочие его дефекты сказываются на их успешности в ходе сражений. Рассмотрим внесение необходимых настроек на примере двух очень популярных игр: World Of Tanks и Counter-Strike: Global Offensive.

Как уменьшить пинг в КС ГО

При игре в КС ГО изменять пинг можно всеми средствами, описанными выше, а также посредством грамотного внесения изменений в параметры запуска. Для этого необходимо войти в библиотеку игр платформы STEAM и выбрать в ней КС ГО. Дальнейшие действия показаны на скриншоте.

В открывшемся окне жмем «Установить параметры запуска» и в появившуюся строку вносим значения, показанные на скриншоте.

Также игроку для запуска соревновательного режима рекомендуется указать игре на оптимальный пинг, чтобы она не подбирала ему сервера больше определенной планки, если такое, конечно же, возможно. Для этого в меню «Настройки» – «Параметры игры», необходимо установить ползунок на минимальное значение.

Как уменьшить пинг в World Of Tanks

Особенность World Of Tanks является то, что игра осуществляется на большом количестве серверов, каждый из которых размещен регионально в разных местах. Ниже указано географическое размещение основных серверов из русского кластера игры.

Контролировать его можно посредством установки специальной игровой модификации или софта, как, к примеру, WOT Pinger.

С помощью данного софта можно отследить наиболее оптимальные для игры сервера и использовать исключительно их.

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

Команда ping используются, чтобы убедиться, что компьютер может взаимодействовать с Сетью и ресурсами внутри нее. Ping работает за счёт отправки echo request сообщений по протоколу ICMP (Internet Control Message Protocol ) и ожидания ответа. Она позволяет узнать, сколько ответов получено, и сколько времени на это ушло:

Синтаксис команды Ping

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [-w timeout] [-R] [-S srcaddr] [-p] [-4] [-6] target

T = эта опция будет пинговать целевое устройство до тех пор, пока вы принудительно не остановите запрос с помощью сочетания клавиш Ctrl+C .

A = запросит имя хоста по целевому IP-адресу .

N число = задаёт количество ICMP сообщений, которое должно быть отправлено. Если выполнить команду ping без указания этого параметра, то по умолчанию будет отправлено 4 запроса.

L размер = задает размер пакета echo-запросов (от 32 до 65,527 ). Без указания этой опции ping отправляет echo-запросы размером в 32 байта.

F = предотвращает фрагментацию echo-запросов маршрутизаторами, находящимися в цепочке между вами и целевым устройством. Опцию -f часто используют для отладки проблем, связанных с PMTU (Path Maximum Transmission Unit ).

I TTL = задаёт длительность TTL (Time to Live ), максимальное значение которой составляет 255 .

V TOS = устанавливает значение TOS (Type of Service ). Параметр не работает в Windows 7 и выше.

R число = эту опцию для команды ping нужно использовать для указания количества переходов между вашим и целевым компьютером, которое вы хотите записать и вывести. Максимальное значение 9 , так что, если вам интересно узнать точное количество звеньев между двумя устройствами, то лучше использовать tracert .

S число = время в формате Internet Timestamp , за которое получается и отправляется каждый echo-запрос . Максимальное значение здесь 4 , а это значит, что можно зафиксировать лишь первых 4 перехода.

W timeout = значения тайм-аута в миллисекундах, в течение которого ping будет ожидать каждого ответа. Если не использовать опцию -w, то тайм-аут по умолчанию будет составлять 4000 миллисекунд (4 секунды ).

R = использование заголовка для проверки также и обратного маршрута.

S srcaddr = используемый адрес источника.

P = используется для проверки состояния адреса Hyper-V Network Virtualization .

4 = проверка состояния подключения только по протоколу IPv4 . Это требуется, когда цель имеет только имя хоста и неизвестен IP-адрес .

6 = принудительная проверка состояния подключения по протоколу IPv6 . Это необходимо, когда известно только имя хоста.

target (цель ) = удаленное устройство, состояние которого нужно проверить. Это может быть как IP , так и имя хоста.

/? = вывод справки обо всех доступных параметрах команды ping .

Примечание: -f , -v , -r , -s , -j и -k работают только при проверке состояния IPv4-адресов . Опции -R и -S работают только с протоколом IPv6 .

В команде ping описание есть и менее популярные параметры: [-j host-list] , [-k host-list] и [-c compartment] . Чтобы получить дополнительную информацию о них, воспользуйтесь командой /? .

Примеры команды Ping

ping -n 5 -l 1500 www.google.com

В этом примере команда ping используется для проверки состояния хоста www.google.com . Опция -n указывает команде ping на необходимость отправить пять echo-запросов ICMP вместо стандартных четырех, а опция —l задаёт размер пакета для каждого запроса в 1500 байт вместо 32 байт по умолчанию. При таком запросе вы получите следующий результат:

Pinging www.google.com with 1500 bytes of data: Reply from 74.125.224.82: bytes=1500 time=68ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=68ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=65ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=66ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=70ms TTL=52 Ping statistics for 74.125.224.82: Packets: Sent = 5, Received = 5, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 65ms, Maximum = 70ms, Average = 67ms

Пункт 0% loss в статистике проверки состояния 74.125.224.82 говорит о том, что все посланные к www.google.com echo-запросы были возвращены. Это значит, что до тех пор, пока сеть активна, можно взаимодействовать с сайтом Google без каких-либо проблем.

В этом примере использования команды ping в cmd проверяется состояние 127.0.0.1 , который также известен как IP-адрес localhost в протоколе IPv4 .

Ping 127.0.0.1 – отличный способ проверить работоспособность всех функций Windows . Но с помощью этого запроса не получится узнать о состоянии своего или удаленного компьютера. Существует и IPv6-версия этой проверки — ping::1 .

ping -a 192.168.1.22

В этом примере мы пытаемся узнать имя хоста, привязанное к IP-адресу 192.168.1.22 . При этом проверка должна быть проведена в штатном режиме, даже если имя хоста выяснить не удастся.

Pinging J3RTY22 with 32 bytes of data: Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Reply from 192.168.1.22: bytes=32 time=1ms TTL=64 Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Ping statistics for 192.168.1.22: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms

Как видно из приведенного выше примера, команда ping в Windows 7 определила проверяемый IP-адрес как имя хоста J3RTY22 , после чего осуществила проверку состояния при стандартных настройках.

ping -t -6 SERVER

В этом примере мы, при помощи опции -6 , включаем принудительное использование протокола IPv6 , а затем приступаем к бесконечной проверке состояния SERVER (при помощи опции -t ).

Pinging SERVER with 32 bytes of data: Reply from fe80::fd1a:3327:2937:7df3%10: time=1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Ping statistics for fe80::fd1a:3327:2937:7df3%10: Packets: Sent = 7, Received = 7, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms Control-C ^C

После семи полученных ответов мы намеренно прервали проверку состояния. Вспоминаем, как остановить команду ping ? При помощи Ctrl+C . Также -6 привела к использованию адресов по протоколу IPv6 .

Совет: число после знака % в сгенерированных в данном примере ответах указывает на Zone ID протокола IPv6 , которая определяет используемый сетевой шлюз. Можно сгенерировать таблицу из Zone ID , совпадающих с названием вашего сетевого шлюза, при помощи netsh interface ipv6 show interface . IPv6 Zone ID отображается числом в колонке Idx .

Поддержка команды Ping

Команда ping поддерживается в командной строке ОС Windows 10 , Windows 8 , Windows 7 , Windows Vista и Windows XP , а также Windows 98 и 95 .

Команда PING это, пожалуй, самая используемая сетевая утилита командной строки. PING присутствует во всех версиях всех операционных систем с поддержкой сети и является простым и удобным средством опроса узла по имени или его IP-адресу.

Для обмена служебной и диагностической информацией в сети используется специальный протокол управляющих сообщений ICMP (Internet Control Message Protocol). Команда ping позволяет выполнить отправку управляющего сообщения типа Echo Request (тип равен 8 и указывается в заголовке ICMP-сообщения) адресуемому узлу и интерпретировать полученный от него ответ в удобном для анализа виде. В поле данных отправляемого icmp-пакета обычно содержатся символы английского алфавита. В ответ на такой запрос, опрашиваемый узел дожжен отправить icmp-пакет с теми же данными, которые были приняты, и типом сообщения Echo Reply (код типа в ICMP-заголовке равен 0) . Если при обмене icmp-сообщениями возникает какая-либо проблема, то утилита ping выведет информацию для ее диагностики.

Формат командной строки:

Ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS] [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]] [-w таймаут] конечноеИмя

Параметры:

-t - Непрерывная отправка пакетов. Для завершения и вывода статистики используются комбинации клавиш Ctrl + Break (вывод статистики и продолжение), и Ctrl + C (вывод статистики и завершение).
-a - Определение адресов по именам узлов.
-n число - Число отправляемых эхо-запросов.
-l размер - Размер поля данных в байтах отправляемого запроса.
-f - Установка флага, запрещающего фрагментацию пакета.
-i TTL - Задание срока жизни пакета (поле "Time To Live").
-v TOS - Задание типа службы (поле "Type Of Service").
-r число - Запись маршрута для указанного числа переходов.
-s число - Штамп времени для указанного числа переходов.
-j списокУзлов - Свободный выбор маршрута по списку узлов.
-k списокУзлов - Жесткий выбор маршрута по списку узлов.
-w таймаут - Максимальное время ожидания каждого ответа в миллисекундах.

Примеры использования:

ping google.com - эхо-запрос к узлу с именем google.com с параметрами по умолчанию - количество пакетов равно 4, длина массива данных = 32 байта.

ping -6 ya.ru - пинг узла ya.ru с использованием протокола Ipv6

ping -a 192.168.1.50 - выполнить пинг с определением имени конесного узла по его адресу.

ping -s 192.168.0.1 computer - пинг узла computer от источника 192.168.0.1. Используется когда на компьютере имеется несколько сетевых интерфейсов.

ping w 5000 ya.ru - пинг с таймаутом ожидания равным 5 секунд (по умолчанию - 4 сек).

ping -n 5000 -l 1000 сайт - опрос узла сайт 5000 раз, пакетами с данными длиной в 1000байт. Допустимая максимальная длина данных - 65500.

ping -n 1 -l 3000 -f ya.ru - пинг с запретом фрагментации пакета.

ping -n 1-r 3 ya.ru - отправить 1 эхо-запрос на узел ya.ru с отображением первых 3-х переходов по маршруту.

ping -i 5 ya.ru - пинг с указанием времени жизни TTL=5. Если для достижения конечного узла потребуется большее количество переходов по маршруту, то маршрутизатор, прервавший доставку ответит сообщением ”Превышен срок жизни (TTL) при передаче пакета.”

  • Применение PING для пошаговой диагностики проблем доступа в Интернет:
  • Обобщенная схема соединения компьютера (планшета, ноутбука домашней сети) с удаленным конечным узлом можно представить следующим образом:

    В качестве домашней сети используется наиболее распространенная сеть с IP-адресами 192.168.1.0 /255.255.255.0 . Речь идет об IPv4 – IP протоколе версии 4, где для адресации используется 4 байта. IP- адреса принято представлять в виде десятичных значений байтов, разделяемых точками. Каждое устройство в сети должно иметь свой уникальный адрес. Кроме адреса, в сетевых настройках используется маска сети (маска подсети). Маска имеет такой же формат представления, как и адрес. Комбинация адреса и маски определяет диапазон адресов, которые принадлежат локальной сети - 192.168.1.0-192.168.1.255. Первый и последний адреса диапазона не назначаются отдельным сетевым устройствам, поскольку используются в качестве адреса сети и широковещательного адреса. Обычно адрес роутера делают равным 192.168.1.1 или 192.168.1.254. Это не является обязательным стандартом, но на практике используется довольно часто. Единичные биты маски определяют постоянную часть IP-адреса сети, а нулевые - выделяемые отдельным узлам. Значение 255 - это байт с установленными в единицу битами. Маска сети служит средством определения диапазона IP-адресов, принадлежащих локальной сети. Устройства с такими адресами достижимы локально, без использования маршрутизации . Маршрутизация - это способ обмена данными с сетевыми устройствами не принадлежащими к данной локальной сети через специальное устройство - маршрутизатор (router, роутер). Маршрутизаторы представляют собой специализированные компьютеры с несколькими сетевыми интерфейсами и специализированным программным обеспечением обеспечивающим пересылку IP-пакетов между отправителем и получателем, находящимися в разных сетях. В такой пересылке могут участвовать несколько маршрутизаторов, в зависимости от сложности маршрута. Домашний роутер - простейшая разновидность маршрутизатора, который обеспечивает пересылку пакетов, адресованных во внешние сети следующему по маршруту маршрутизатору в сети провайдера. Следующий маршрутизатор проверяет достижимость адреса конечного узла локально, и либо пересылает ему данные, либо передает их следующему маршрутизатору в соответствии с таблицей маршрутов. Так происходит до тех пор, пока данные не достигнут получателя или закончится время жизни пакета.

    Команда PING можно использовать для диагностики отдельных узлов:

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

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

    ping IP-адрес роутера - должен выполняться, если исправна сетевая карта компьютера, исправен кабель или беспроводное соединение, используемые для подключения к роутеру и исправен сам роутер. Кроме того, настройки IP должны быть такими, чтобы адрес компьютера и роутера принадлежали одной подсети. Обычно это так, когда сетевые настройки выполняются автоматически средствами DHCP-сервера маршрутизатора.

    ping yandex.ru - выполнить опрос узла с именем yandex.ru . Если опрос завершается с ошибкой, то причиной может быть не только отсутствие связи с маршрутизатором провайдера, но и невозможность определения адреса узла yandex.ru из-за проблем с программными средствами разрешения имен.

    ping 8.8.8.8 - выполнить опрос узла с IP-адресом 8.8.8.8 . Если опрос по адресу выполняется без ошибок, а опрос по имени завершается сообщением о неизвестном узле, то проблема в разрешении имен. Причиной может быть неработоспособность DNS-сервера провайдера. В этом случае, можно попробовать сменить его в настройках сетевого соединения на публичные DNS сервера Google с адресами 8.8.4.4 и 8.8.8.8. Также, проблема может быть вызвана плохим качеством связи с провайдером, что сопровождается слишком большим временем отклика и пропаданием пакетов.

    ping -t yandex.ru - выполнять ping до нажатия комбинации CTRL+C, При нажатии CTRL+Break - выдается статистика и опрос узла продолжается.

    Ping -n 1000 -l 500 192.168.1.1 - выполнить ping 1000 раз с использованием сообщений, длиной 500 байт. Пинг пакетами стандартной длины в 32 байта может выполняться без ошибок, а на длинных - с ошибками, что характерно для беспроводных соединения при низком уровне сигнала в условиях интенсивных помех.

    Ping -n 1 -r 9 -w 1000 yandex.ru - выполнить ping 1 раз (ключ -n 1), выдавать маршрут для первых 9 переходов (-r 9), ожидать ответ 1 секунду (1000мсек)

    В результате выполнения данной команды отображается и трассировка маршрута:

    Обмен пакетами с yandex.ru с 32 байтами данных:
    Ответ от 87.250.251.11: число байт=32 время=36мс TTL=54
    Маршрут: 81.56.118.62 ->
    81.56.112.1 ->
    10.109.11.9 ->
    10.109.11.10 ->
    195.34.59.105 ->
    195.34.52.213 ->
    195.34.49.121 ->
    195.34.52.213 ->
    87.250.239.23

    Статистика Ping для 87.250.251.11:

    Пакетов: отправлено = 1, получено = 1, потеряно = 0
    (0% потерь)
    Приблизительное время приема-передачи в мс:
    Минимальное = 36мсек, Максимальное = 36 мсек, Среднее = 36 мсек

    В данном примере, между отправителе и получателем пакетов выстраивается цепочка из 9 маршрутизаторов. Нужно учитывать тот факт, что в версии утилиты ping.exe для Windows, число переходов может принимать значение от 1 до 9. В случаях, когда этого значения недостаточно, используется команда tracert

    Отсутствие эхо-ответа не всегда является признаком неисправности, поскольку иногда по соображениям безопасности, некоторые узлы настраиваются на игнорирование эхо-запросов, посылаемых PING. Примером может служить узел microsoft.com и некоторые маршрутизаторы в сетях небольших провайдеров.

    Использование PING в командных файлах.

    Нередко, команда PING используется для организации задержек в командных файлах. Выполняется пингование петлевого интерфейса с указанием нужного значения счетчика пакетов, задаваемого параметром -n . Посылка эхо-запросов выполняется с интервалом в 1 секунду, а ответ на петлевом интерфейсе приходит практически мгновенно, поэтому задержка будет приблизительно равна счетчику минус единица:

    ping -n 11 127.0.0.1 - задержка в 10 секунд.

    Команда PING используется в командных файлах для определения доступности IP-адресов. Поскольку, результат опроса никак не отражается в переменной ERRORLEVEL , то вместо ее анализа используется поиск определенных признаков в данных стандартного вывода PING. Если внимательно посмотреть на сообщения программы ping.exe при опросе доступного и недоступного узла, то можно заметить, что они значительно отличаются

    ping 456.0.0.1 - ping на несуществующий адрес

    Ответ на такую команду может отличаться от конкретной версии утилиты, и может быть приблизительно таким

    При проверке связи не удалось обнаружить узел 456.0.0.1. Проверьте имя узла и повторите попытку.

    ping yandex.ru - ping на адрес узла yandex.ru

    Ответ на ping доступного узла:

    Обмен пакетами с yandex.ru по 32 байт:
    Ответ от 87.250.250.11: число байт=32 время=10мс TTL=55

    Таким образом, для решения задачи определения доступности узла в командном файле, достаточно проанализировать характерные слова в выводе ping.exe при успешном ответе. Наиболее характерно в данном случае наличие слова TTL . Оно никогда не встречается при возникновении ошибки и состоит всего лишь из символов английского алфавита. Для поиска "TTL" в результатах ping.exe удобнее всего объединить ее выполнение в цепочку с командой поиска строки символов FIND.EXE (конвейер ping и find). Если текст найден командой FIND, то значение переменной ERRORLEVEL будет равно 0

    ping -n 1 COMPUTER | find /I "TTL" > nul
    if %ERRORLEVEL%==0 goto LIVE
    ECHO computer недоступен
    подпрограмма обработки недоступного состояния
    ...
    Exit
    :LIVE - начало подпрограммы обработки состояния доступности узла
    ...
    ...

    В более простом варианте можно использовать команды:

    PING yandex.ru |find "TTL=" && ECHO Yandex pingable - команда ECHO выполняется, если значение ERRORLEVEL, установленное FIND равно 0, т.е узел yandex.ru отвечает на ping.

    PING Server64 |find "TTL=" || ECHO Server64 not pingable - команда ECHO выполняется, если значение ERRORLEVEL, установленное FIND не равно 0, т.е. узел Server64 не ответил на ping.

    «Ааа, помогите, все пропало!» – если ваш внутренний голос реагирует на обрыв соединения с сервером примерно так, этот материал точно для вас. :) Безусловно, со своей стороны мы каждый день делаем все возможное, чтобы ничто не мешало вашей работе в , но случись форс-мажор – будем разбираться. А чтобы быстрее сориентироваться в ситуации и понять, на чьей стороне ошибка, вот вам задача-минимум – во время обрыва первым делом выполните трассировку маршрута и пинг промежуточных узлов. Как все это сделать, сейчас расскажем.

    Трассировка маршрута

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

    1. Запустите команду cmd: Win+R > пропишите cmd > ОК .

    tracert Х.Х.Х.Х (где Х.Х.Х.Х – это IP-адрес сервера или домен) и нажмите Enter .

    В примере мы сделали трассировку для google.com.

    tracert google.com

    Получилось так:

    1 2 1 ms 1 ms 1 ms 193.151.89.254
    3 5 ms 4 5 1 ms 6 1 ms 7 1 ms 3 ms 1 ms bearline-ic-324086-ffm-b4.c.telia.net
    8 1 ms 1 ms 1 ms 108.170.251.129
    9 13 ms 13 ms 15 ms 66.249.94.135
    10 13 ms 13 ms 13 ms fra15s12-in-f46.1e100.net

    Как видим, наши пакеты преодолели десять (их может быть как меньше, так и больше) узлов, и преодолели их успешно. В противном случае, если бы пакеты «споткнулись» на одном из узлов, на нем (и последующих за ним узлах) мы бы увидели:

    * * * Превышен интервал ожидания для запроса.

    Но даже в таком случае пока не время для выводов – эта запись может означать как потерю пакетов, так и то, что узел сети просто закрыт настройками безопасности. Иногда провайдеры специально настраивают узлы так, чтобы они не отвечали на трассировочные пакеты, дабы снизить нагрузку. Чтобы точно узнать, действительно ли происходит обрыв, и, если да, то где именно, нужно пропинговать каждый из узлов. При трассировке мы получили IP каждого из них, а значит, можем перейти к пингу.

    Пинг промежуточных узлов

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

    В ОС Windows по умолчанию передается только четыре пакета, чего недостаточно, если проблема проявляется кратковременно. Поэтому нужно снять это ограничение параметром -t (чтобы потом остановить обмен пакетами, нажать CTRL+C ).

    Теперь по порядку.

    1. Запустите команду cmd: Win+R > пропишите cmd > ОК .

    2. В открывшейся командной строке введите ping -t Х.Х.Х.Х (где Х.Х.Х.Х – это адрес одного из промежуточных узлов, которые мы узнали при трассировке) и нажмите Enter .

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

    Полезно!
    Если вам нужно постоянно отслеживать качество соединения, для Windows можно воспользоваться удобной программой PingPlotter.

    Итак, пингуем – в десяти отдельных окнах командной строки вводим команды с IP-адресами узлов, которые мы выявили при трассировке. В нашем случае будут такие команды:

    ping -t 10.1.1.1
    ping -t 193.151.89.254
    ping -t 85.195.75.129
    ping -t 213.248.79.29
    ping -t 62.115.139.50
    ping -t 62.115.120.8
    ping -t 62.115.153.215
    ping -t 108.170.251.129
    ping -t 66.249.94.135
    ping -t 216.58.208.46

    Если в каком-нибудь из окон вы с первых же секунд видите «Превышен интервал ожидания», не спешите кричать: «Попался!». Если следующие узлы пингуются нормально, значит, этот просто закрыт настройками. В нашем случае, например, предпоследний узел (66.249.94.135) сразу же говорит, что интервал превышен, но с пингом десятого узла никаких проблем нет.

    На чьей стороне ошибка?

    Итак, обрыв повторился. Но на этот раз запущенный пинг промежуточных узлов поможет «обличить» виновника. Тут все просто – с какого узла вам начало выдавать «Превышен интервал ожидания», тот и слабое звено.

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

    1. Последний узел. Если последний узел сначала пинговался нормально (некоторые Windows-машины вообще не отвечают на пинг, это задается в настройках брандмауэра)…

    …а после обрыва начал показывать «Превышен интервал ожидания», обрыв происходит на вашем сервере.

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

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

    3. Все узлы одновременно. Если все окна с пингом начали показывать «Превышен интервал ожидания», проблема в вашем компьютере или сети, к которой он подключен.

    Бонус!

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

    Для ОС семейства Windows такую оптимизацию проводит утилита Winmtr . Она не нуждается в установке и готова к использованию сразу после распаковки из архива.

    В поле Host укажите конечный сервер, с которым будет проверяться соединение, и нажмите Start :

    В нашем примере видна трассировка маршрута и все промежуточные узлы. При этом к каждому из них направляются ICMP-пакеты, по которым можно определить качество связи.

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

    Раз мы проверяем соединение с сервером, нас интересуют столбцы Sent (отправлено пакетов) и Recv (получено пакетов). Если значения в этих столбцах не совпадают, значит, качество связи с узлом ухудшилось. Что делать? Обратиться в соответствующую техподдержку.

    Столбец Loss поможет просмотреть динамику потерь в процентном соотношении.

    Также утилита позволяет копировать текст в удобных форматах (.txt и .html ) в буфер обмена (Copy to clipboard ) или в отдельный файл (Export ).

    Двойной щелчок по промежуточному узлу позволит получить дополнительную информацию о нем.

    Важно знать!

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

    1. Interval (sec) – время обновления данных в секундах.
    2. Max host in LRU list максимальное количество хостов (или IP-адресов, если не активна опция Resolve names ) до конечной точки.
    3. Ping size (bytes) – размер ICMP-пакета.
    4. Resolve names – возможность преобразовать IP-адрес в имя хоста.

    А что же линуксоиды?

    Для ОС семейства Linux утилита называется просто MTR. Если ее нет в вашей операционной системе, установить ее можно одним из следующих способов:

    Debian/Ubuntu/Mint:

    $ apt-get install mtr

    CentOS/RedHat/Fedora:

    $ yum install mtr

    У MTR такой же функционал, как у Winmtr, а также схожий графический интерфейс. Запустить утилиту можно командой:

    где X.X.X.X – это IP-адрес конечного сервера или имя хоста.

    В данном случае интересуют следующие столбцы:

    • Loss % – процент потерянных пакетов между компьютером-отправителем и промежуточными узлами.
    • SNT – общее количество отправленных пакетов.

    Как только где-то что-то потерялось, утилита сигнализирует нам об этом, окрашивая узел в красный цвет и подсчитывая процент потерь.

    Отдельно отметим возможность запуска утилиты в текстовом (консольном) режиме. Для этого достаточно добавить опцию -t или --curses:

    mtr --curses сайт

    Рассмотрим еще несколько важных опций MTR, которые могут быть крайне полезны в процессе диагностики сети.

    R или --report

    Запускает режим отчета, в котором MTR обработает заданное количество циклов (определенных опцией -c), а затем отобразит статистику и автоматически завершит работу. Этот режим полезен для сбора статистики о качестве сети.

    C COUNT или --report-cycles COUNT

    Позволяет задать количество циклов, после которых MTR завершит работу.

    P BYTES или --psize BYTES

    Устанавливает размер пакетов в байтах.

    I SECONDS или --interval SECONDS

    Задает интервал между отправляемыми пакетами.

    N или --no-dns

    Разрешает не использовать DNS, отображает IP-адреса узлов.

    A X.X.X.X или --address X.X.X.X

    Позволяет указать адрес интерфейса компьютера, с которого будут отправляться ICMP-запросы.

    Итого

    Разумеется, команды в консоли дают более точный результат, поскольку фиксируют даже единичные потери пакетов (короткие обрывы), но Winmtr и MTR компактные и более удобны в использовании. А на чем остановить свой выбор, решать только вам. :)

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



    Рекомендуем почитать

    Наверх