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


12

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


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

Ответы:


11

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

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

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


6

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


Почему бы не провалиться через браузер?

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.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.