Как пинг узнать, не работает ли мой хост

11

Когда я pingна сервере, есть два вида результатов, которые я могу получить:

  • Тайм-аут
  • Хост не работает

Как pingкоманда узнает, что хост не работает? В обоих случаях хост не отправляет никакого ответа на пакет ping, так как же pingопределить разницу?

Bob5421
источник
2
Возможный дубликат интерпретации результатов PING
kubanczyk

Ответы:

3

Хост не работает:

Это означает, что вы не знаете маршрут к нужному месту назначения, или удаленный маршрутизатор сообщает, что у него нет маршрута к месту назначения.

Тайм-аут:

Указывает на отсутствие сообщений Echo Reply. Пакет не был получен в течение времени по умолчанию.

SantiCarta
источник
24

Различия между ответами на самом деле определяются не самим ICMP, а косвенно.

ICMP может различаться между:

  0 = net unreachable;

  1 = host unreachable;

  2 = protocol unreachable;

  3 = port unreachable;

  4 = fragmentation needed and DF set;

  5 = source route failed.

Но это происходит с другими сетевыми ресурсами. Коды 0, 1, 4 и 5 могут быть получены от шлюза. Коды 2 и 3 могут быть получены от хоста.

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

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

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

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

Когда вы получаете ответ от [IP-адрес]: «Узел назначения недоступен», проблема возникает на / после удаленного маршрутизатора, адрес которого указан [IP-адрес]. Так что это маршрутизатор, сообщающий вам, что существует проблема между ним и адресом назначения.

Сверхразум
источник
3
нет необходимости подключать маршрутизатор или другое устройство. И Windows, и Linux создают «узел недоступен», если узел находится в локальной подсети и отсутствует запись ARP.
Боже мой,
Если узел недоступен, он не может выдать ответ «Получатель за инициатором».
Сверхразум
Узел проверки связи генерирует сообщение. Очевидно, что пункт назначения не может.
Боже мой,
Это приходит от ворот.
Сверхразум
Нет. «Шлюз» - это конструкция уровня 3. Маршрутизация отсутствует и, следовательно, шлюз вообще не задействуется при пинге хоста в локальной подсети.
Боже мой,
-3

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

Altair
источник