为什么某些主机“ ping”返回“请求超时”?


12

对于某些主机,ping www.example.com它可以解析其IP,但是为什么由于请求超时而失败?我也尝试增加ping响应时间,但结果仍然相同。


不需要主机来响应ping请求。
R. Martinho Fernandes

Answers:


11

是ICMP分组。为了进行比较,Web流量或HTTP通常是端口80上的TCP数据包。给定的服务器可能出于Web流量的目的提供响应,但是阻止了ICMP(或位于阻止ICMP的防火墙后面),因此您可以:

  • 将URL解析为其IP地址
  • 连接并查看网络内容

但是您不能ping IP地址。响应“请求超时”是因为您的客户端发送了初始数据包,等待答复(永远不会到来),并在预设的超时时间内放弃。


6

因为它无法连接到主机。仅因为DNS服务器知道主机应具有的IP,并不意味着所讨论的主机正在运行并接受连接。


为什么浏览器不会失败?

2
@cpx:ping请求不是HTTP请求。主机可能正在响应后者,但忽略了前者。
R. Martinho Fernandes

2
它接受端口80上的TCP连接,但不接受ICMP连接。没有什么说计算机必须接受或响应两者。
Dan Grossman

2
ICMP不建立连接。例如,为什么此答案的投票率高于Pablo?ICMP盲目地将帧分派到目标主机,如果有问题再等待几秒钟。
sinni800


1

好吧,例如,ping也无法访问www.microsoft.com。这是因为这些服务器计算机使用限制性防火墙来阻止来自未知主机的ICMP数据包。

ping也不会“连接”到主机,它只是向主机分派一个数据包。TCP进行连接握手,并尽力保持连接。Ping只是调度不能保证到达其目的地的ICMP数据包。就像UDP一样,用于数据。

如果不是每个目的地都有目的地,或者目的地没有将数据包丢掉(防火墙?),您将无法得到答案。

这完全独立于使用TCP的http流量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.