Русская Википедия:Ping
Шаблон:Redirect Шаблон:О Шаблон:Стиль Шаблон:Чистить Шаблон:Заголовок со строчной буквы Ping — утилита для проверки целостности и качества соединений в сетях на основе TCP/IP, а также обиходное наименование самого запроса.
Утилита отправляет запросы (ICMP Echo-Request) протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, от Шаблон:Lang-en) позволяет определять двусторонние задержки по маршруту и частоту потери пакетов, то есть косвенно определять загруженность на каналах передачи данных и промежуточных устройствах.
В разговорной речи пингом называют также время в миллисекундах, затраченное на передачу пакета информации в компьютерных сетях от клиента к серверу и наоборот[1].
Этимология
Название происходит от английского названия звука импульса, издаваемого сонаром. Первоначально словом «ping» (по созвучию) именовали направленный акустический сигнал противолодочных гидролокаторов или «асдиков» (Шаблон:Lang-en, аббревиатура от Шаблон:Langi).
Пример
Если осуществляется диагностика сети в запросах скорости соединения, в первую очередь происходит оценка эхо-запроса Ping, который определяет целостность и качество соединения на предмет запроса потери пакетов отражённого сигнала от источника соединения. В данном случае, если ответ запроса приходит с минимальным количеством пакетов, к примеру около 30 или менее, то в данном случае настройка сетевого оборудования нестабильна и имеет брешь в системе безопасности. Таким образом, стоит придать значение политике IP безопасности, Брандмауэру, групповой политике и настройкам сетевых адаптеров, настроек маршрутизатора. Не стоит путать Ping — определяющий целостность и качество связи, с транспортными протоколами связи TCP и UDP — определяющих скорость передачи данных.
Обычный эхо-запрос имеет длину 64 байта (плюс 20 байт IP-заголовка). По стандарту RFC 791 IPv4 суммарный объём пакета не может превышать 65 535 байт.
Полное отсутствие ICMP-ответов может также означать, что удалённый узел (или какой-либо из промежуточных маршрутизаторов) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request.
Программа ping является одним из основных диагностических средств в сетях TCP/IP и входит в поставку всех современных сетевых операционных систем. Функциональность ping также реализована в некоторых встроенных ОС маршрутизаторов, доступ к результатам выполнения ping для таких устройств по протоколу SNMP определяется RFC 2925 (Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations).
Так как для отправки ICMP-пакетов требуется создавать raw-сокеты, для выполнения программы ping в UNIX-системах необходимы права суперпользователя. Чтобы обычные пользователи могли использовать ping, в правах доступа файла /bin/ping устанавливают SUID-бит.
История
Программа была написана Майком Мууссом, учёным Исследовательской Лаборатории Баллистики (Шаблон:Lang-en) США в декабре 1983 года.
Практическое использование
- Можно узнать IP-адрес по доменному имени. Перед первой отправкой пакета делается запрос к DNS-серверу, если указан хост.
- Можно узнать, работает ли сервер. Например, системный администратор может узнать, завис ли только веб-сервер или проблемы с хостом.
- Можно узнать, есть ли связь с сервером. Например, проблемы с настройкой DNS-серверов на машине можно узнать, задав в ping сначала доменное имя, а потом IP-адрес.
- Также можно узнать качество канала, посмотрев, сколько ответов не пришло. Это часто используется игроками в сетевые игры, потому что качество связи для них очень важно. Хотя не всегда это является показателем качества связи, в некоторых сетях протокол ICMP может иметь низкий приоритет либо блокироваться полностью.
Структура ICMP пакета
Bit 0 — 7 | Bit 8 — 15 | Bit 16 — 23 | Bit 24 — 31 | |
---|---|---|---|---|
IP Header (20 bytes) |
Version/IHL | Type of service | Length | |
Identification | flags and offset | |||
Time To Live (TTL) | Protocol | Checksum | ||
Source IP address | ||||
Destination IP address | ||||
ICMP Header (8 bytes) |
Type of message | Code | Checksum | |
Header Data | ||||
ICMP Payload (optional) |
Payload Data |
Общее содержание ICMP пакета
- IP Header (синим цветом):
- Protocol устанавливается значение — 1 (ICMP) и Type of Service — 0.
- ICMP Header (красным цветом):
- Type of ICMP message (8 бит) — тип сообщения ICMP.
- Code (8 бит).
- Checksum (16 бит) — контрольная сумма, вычисляется из части ICMP пакета, заголовок не используется.
- Header Data (32 бита) — содержит Идентификатор (Identifier) (16 бит) и Порядковый номер (Sequence number) (16 бит) необходимые для корректного определения отправителя.
- ICMP Payload
- Payload — необходим для хранения и передачи ответов различного типа. К примеру, TimeStamp.
Примеры
UNIX-подобные системы
Послать 3 пакета с интервалом в 5 секунд, сопровождая получение откликов звуковыми сигналами
$ ping -ai 5 -c 3 wikipedia.org PING wikipedia.org (208.80.152.2) 56(84) bytes of data. 64 bytes from rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=1 ttl=46 time=180 ms 64 bytes from rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=2 ttl=46 time=179 ms 64 bytes from rr.pmtpa.wikimedia.org (208.80.152.2): icmp_seq=3 ttl=46 time=189 ms --- wikipedia.org ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 176.253/178.291/181.339/2.222 ms $
Не расшифровывать имена адресов, выводить только ip-адреса
$ ping -n wikipedia.org
По истечении времени (в данном случае 5 сек) ping завершит свою работу
$ ping -w 5 wikipedia.org
Установить размер отправляемых пакетов в 1000 байт (Debian)
$ ping -s 1000 wikipedia.org
Установить размер отправляемых пакетов в 1000 байт (Solaris)
$ ping -s wikipedia.org 1000
Windows
Ping в командной строке Windows:
ping ru.wikipedia.org Обмен пакетами с rr.esams.wikimedia.org [91.198.174.225] по 32 байт: Ответ от 91.198.174.225: число байт=32 время=54мс TTL=32 Ответ от 91.198.174.225: число байт=32 время=54мс TTL=32 Ответ от 91.198.174.225: число байт=32 время=54мс TTL=32 Ответ от 91.198.174.225: число байт=32 время=54мс TTL=32 Статистика Ping для 91.198.174.225: Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь), Приблизительное время приёма-передачи в мс: Минимальное = 54 мсек, Максимальное = 54 мсек, Среднее = 54 мсек
См. также
Примечания
Ссылки
- История программы ping словами автора, Майка Муса Шаблон:Wayback
- Веб-интерфейс для ping Шаблон:Wayback
- RFC 792
- Распределённый Ping из нескольких мест Шаблон:Wayback — Точки расположены в множестве стран.
- Ping Test Online
- Проверка ping из различных частей мира Шаблон:Wayback — Множество точек мониторинга на территории РФ.
- ↑ Что такое пинг? Шаблон:Wayback // Интернет провайдер в Киеве.