Por que o 'ping' retorna o pedido 'expirado' para alguns hosts?

11

Para alguns hosts, ping www.example.com resolve seu IP, mas por que ele falha com o tempo limite da solicitação? Eu também tentei aumentar o tempo de resposta do ping, mas ainda o mesmo resultado.

    
por user10232 03.02.2011 / 12:11

4 respostas

11

Um ping é um pacote ICMP. Para comparação, tráfego da web ou HTTP, geralmente é um pacote TCP na porta 80. Um determinado servidor pode fornecer respostas para o tráfego da Web, mas bloquear o ICMP (ou estar atrás de um firewall que bloqueia o ICMP) e, portanto, você pode: / p>

  • Resolva o URL para o endereço IP
  • Conecte e visualize o conteúdo da web

Mas você não pode fazer ping no endereço IP. A resposta "solicitação expirou" é porque seu cliente envia o pacote inicial, aguarda uma resposta (que nunca virá) e desiste em um tempo limite pré-definido.

    
por 03.02.2011 / 17:45
6

Porque não consegue se conectar ao host. Só porque um servidor DNS sabe o IP que um host deve ter, não significa que o host em questão esteja rodando e aceitando conexões.

    
por 03.02.2011 / 12:12
4

Talvez o host esteja realmente desativado, ou pode ser o caso de alguns sites bloquearem o tráfego ICMP (o comando PING do protocolo depende de).

    
por 03.02.2011 / 12:12
1

Bem, o ping também falha em www.microsoft.com, por exemplo. É porque esses computadores servidores usam um firewall restritivo bloqueando os pacotes ICMP de hosts desconhecidos.

O ping também não "CONNECT" para um host, apenas despacha um único pacote para eles. O TCP faz handshakes de conexão e tenta muito manter a conexão. Ping apenas despacha um pacote ICMP que não é garantido para chegar ao seu destino. Assim como o UDP, para dados.

Se não cada um de seus destinos ou o destino joga fora o pacote (firewall?), você não recebe uma resposta.

Isso é completamente independente do tráfego http que usa o TCP.

    
por 03.02.2011 / 13:13