• Справочник интернет терминов

  • Ping (Packet Internet Groper, Отправитель пакетов Интернет) - программа, используемая для проверки доступности адресата путем передачи ему специального сигнала (ICMP echo request - запрос отклика ICMP) и ожидания ответа.

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

    Что такое ping и для чего же он нужен?

    Ping – утилита для проверки работоспособности сети, домена, IP. Принцип ее заключается в посылке узлу запроса и ожидании от него эхо-от
    вета. Каждый узел сети Интернет должен уметь принимать эхо-запросы и возвращать эхо-ответы, разумеется, если он подсоединен к сети и работает. Отсутствие эхо-ответа от сервера обозначает: либо сервер "висит", либо имеется неустранимое повреждение сети на участке клиент-сервер, обойти в "обход", которое невозможно.
    Эта возможность делает ping удобной утилитой проверки работоспособности сервера. Впрочем, отрицательный результат работы ping не всегда свидетельствует о наличии какой-либо проблемы.

    Где я могу получить ping?

    В комплект стандартной сборки Windows входит утилита ping в консольной версии, вполне удовлетворяющая запросы обычного пользователя. Ping с графической оболочкой можно обнаружить в составе практически всех сетевых утилит и приложений(CyberKit, NetInfo и т.д.).
    Вы можете воспользоваться службой Ping на нашем интернет портале. Для этого выбирите справа раздел Ping. Комплект для разработчика Windows-приложений (SDK), входящий, именно в компилятор Microsoft Visual Studio, содержится исходные тексты программы ping с достаточно подробными комментариями и описаниями, что позволяет легко реализовать на ней собственные нужды и настроить все под собственный вкус.

    Каково назначение ключей утилиты ping?

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

    Ключ -w указывается для задания интервала ожидания ответа в миллисекундах (по умолчанию это значение 20 секунд). Если отклик (ответ) от сервера не будет получен в течение указанного промежутка времени, утилита ping сообщит "Превышен интервал ожидания для запроса", указывая на неработоспособность сервера или отсутствия подключения к сети. На загруженных соединения медленных интернет провайдеров ответ может прийти и через 30, и даже через 60 секунд, поэтому интервал ожидания часто приходится увеличивать.


    При указания ключа -n задается размер отправляемых запросов (по умолчанию это значение 4). Увеличение количества числа запросов часто необходимо для контроля надежности и устойчивости работы сервера. Чем лучше канал, тем меньше разброс во времени ответов команды Ping.

    При указания ключа –t утилита ping начинает посылать запросы в бесконечном цикле до ее прерывания пользователем ( нажатием комбинации клавиш <Ctrl-C>). Внимание, команда: <Ctrl-Break> не прерывает процесс пинга, а выводит лишь текущую статистику! Этот ключ очень полезен и удобен для ожидания момента начала работы зависшего сервера.

    Указание ключа –l задает размер дейтаграммы (28 байт), посылаемой в запросе. Допустимые значения включительно от 0 до 65.500. По-умолчанию размер составляет 32 байта. Изменяя это значение, можно выяснить следующую зависимость: скорость доставки – размер дейтаграммы. Если вдруг размер начнет превышать некоторую критическую величину, дейтаграмма делиться на несколько пакетов нужного размера, а на конечном узле назначения собираются в единое.

    Указание ключ –f ставит на дейтаграмме специальную метку, запрещающую ее разделение , то есть,фрагментацию дейтаграммы. Если вдруг хотя бы один из промежуточных узлов не может обрабатывать пакеты таких размеров, он прибивает дейтаграмму и посылает отправителю сообщение, объясняя причину ошибки тем, что требуется фрагментация дейтаграмм, но установлена пометка. Некоторые узлы не посылают такого сообщения, отправляя пакет в пустоту или же разрезают дейтаграмму вопреки запрету, но такое встречается редко). С ключом –l, который задает длину дейтаграммы, запрет фрагментации ключом –f, позволяет определить макс. размер не фрагментируемых пакетов дейтаграмм.

    Указывая ключ –i задается время жизни пакета посылаемых дейтаграмм, на англ. сокращенно TTLTime To Live), которое измеряется количеством узлов. Каждый промежуточный узел уменьшает значение время жизни пакета (TTL) на единицу и при достижении нуля, пакет уничтожается с посылкой отправителю соответствующего сообщения. Эта особенность позволяет отслеживать маршрут пакетов, используя ping вместо другой сетевой утилиты tracert, что будет интересно в тех ситуациях, когда воспользоваться tracert нет возможности.

    Почему ping не проходит, а сайт сервера нормально работает и открывается?

    Бывает, ping к некоторому серверу упорно не проходит, какая бы задержка ни была выбрана, но все сервисы (будь то почта или web) работают нормально. Почему? Все объясняется очень просто – администратор сервера защитил его межсетевым экраном, блокирующим либо эхо-запросы, либо эхо-отклики, либо и те, и другие вместе. А может запрет эхо-откликов наложен на сам узел.

    Все эти меры предосторожности объясняются тем, что эхо-посылки по сравнению с обычными пакетами имеют более высокий приоритет. "Упасть", правда, сервер не упадет, но вот общая работоспособность частично уменьшиться. Хуже, если направить шторм эхо-запросов от имени жертвы, выходящей в Интернет по модему: на нее обрушится сокрушительная лавина эхо-ответов от быстродействующего сервера (хорошо, если одного), плотно забивающая канал…