Для некоторых хостов, ping www.example.com
он разрешает их IP-адреса, но почему происходит сбой при истечении времени ожидания запроса? Я также попытался увеличить время отклика при пинге, но результат все тот же.
4 ответа
Пинг - это ICMP-пакет. Для сравнения, веб-трафик или HTTP, как правило, представляет собой пакет TCP на порту 80. Данный сервер может предоставлять ответы с целью веб-трафика, но блокировать ICMP (или находиться за брандмауэром, который блокирует ICMP), и поэтому вы можете:
- Разрешить URL к его IP-адресу
- Подключайтесь и просматривайте веб-контент
Но вы не можете пропинговать IP-адрес. Ответ "время ожидания истекло" вызвано тем, что ваш клиент отправляет начальный пакет, ожидает ответа (который никогда не будет получен) и сдается в течение заданного времени ожидания.
Потому что не удается подключиться к хосту. То, что DNS-сервер знает IP-адрес, который должен иметь хост, не означает, что рассматриваемый хост работает и принимает соединения.
Возможно, хост на самом деле не работает или может быть, что некоторые сайты блокируют трафик ICMP (используется команда протокола PING).
Ну, например, ping не работает на www.microsoft.com. Это связано с тем, что на этих серверных компьютерах используется ограничительный межсетевой экран, блокирующий пакеты ICMP от неизвестных хостов.
Кроме того, ping не "ПОДКЛЮЧАЕТСЯ" к хосту, он просто отправляет им один пакет. TCP выполняет установление соединения и очень старается сохранить соединение. Ping просто отправляет ICMP-пакет, который не гарантированно достигнет пункта назначения. Как и UDP, для данных.
Если это не каждый пункт назначения или пункт назначения выбрасывает пакет (брандмауэр?), Вы не получите ответ.
Это полностью независимо от http трафика, который использует TCP.