Почему «ping» возвращает «время ожидания запроса» для некоторых хостов?

12

Для некоторых хостов ping www.example.comэто разрешает их IP, но почему это терпит неудачу с истечением времени запроса? Я также попытался увеличить время отклика при пинге, но результат все тот же.

user10232
источник
Для ответа на запросы ping хост не требуется.
Р. Мартиньо Фернандес

Ответы:

11

Пинг представляет собой пакет ICMP. Для сравнения, веб-трафик или HTTP, как правило, представляет собой пакет TCP на порту 80. Данный сервер может предоставлять ответы для веб-трафика, но блокировать ICMP (или находиться за брандмауэром, который блокирует ICMP), и поэтому вы можете:

  • Разрешить URL к его IP-адресу
  • Подключайтесь и просматривайте веб-контент

Но вы не можете пропинговать IP-адрес. Ответ «время ожидания запроса истекло» вызвано тем, что ваш клиент отправляет исходный пакет, ожидает ответа (который никогда не будет получен) и сдается через заданное время ожидания.

JYelton
источник
6

Потому что не удается подключиться к хосту. Тот факт, что DNS-сервер знает IP-адрес, который должен иметь хост, не означает, что рассматриваемый хост работает и принимает соединения.

HO1
источник
Почему бы не провалиться через браузер?
2
@cpx: запрос проверки связи не является запросом HTTP. Хост может отвечать на последнее, но игнорировать первое.
Р. Мартиньо Фернандес
2
Он принимает TCP-соединения через порт 80, но не ICMP-соединения. Ничто не говорит, что компьютер должен принять или ответить на оба.
Дэн Гроссман
2
ICMP не устанавливает соединения. Почему за этот ответ голосуют, например, выше, чем у Пабло? ICMP слепо отправляет фрейм хосту назначения и ждет несколько секунд, если что-то возвращается.
sinni800
4

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

Пабло Санта Круз
источник
1

Ну, например, ping не работает на www.microsoft.com. Это связано с тем, что на этих серверных компьютерах используется ограничительный межсетевой экран, блокирующий пакеты ICMP от неизвестных хостов.

Также ping не «ПОДКЛЮЧАЕТСЯ» к хосту, он просто отправляет им один пакет. TCP выполняет установление соединения и очень старается сохранить соединение. Ping просто отправляет ICMP-пакет, который не гарантированно достигнет пункта назначения. Как и UDP, для данных.

Если это не каждый пункт назначения или пункт назначения выбрасывает пакет (брандмауэр?), Вы не получите ответ.

Это полностью независимо от http трафика, который использует TCP.

sinni800
источник