Qual é a diferença entre "não foi possível encontrar o host" e "expirou" quando o ping falha?

3

Como o título indica. Eu estava tentando ping um monte de servidores cuja existência eu não tenho certeza. Existem 10 servidores no total. Dois deles receberam ping timed out , enquanto os outros oito têm could not find host . Os 2 expirados mostram um IP que expira demais no ping. Fiz um nslookup rápido nesses servidores e eles não tinham entradas de DNS. Qual é a diferença entre "não foi possível encontrar o host" e "expirou" quando o ping falha?

    
por Gutsygibbon 18.10.2012 / 17:30

3 respostas

7

Fazer ping em um computador é muito parecido com o envio de um email. Digamos que eu queira enviar um ping para google.com . A primeira coisa que tenho que fazer é descobrir onde google.com é. Para o correio, você usaria uma agenda telefônica - Isso irá traduzir um nome em um endereço que o sistema de correio pode entender. Os computadores usam o que é conhecido como servidores DNS (Domain Name System) - a mesma coisa que nslookup exibe quando você consulta um nome específico. Se ping não conseguir encontrar um determinado nome no DNS, ele retornará Could not find host .

Tudo bem, então temos um endereço IP, e agora? Agora temos que rotear isso. Um endereço IP é muito parecido com o nome da rua - Ele lhe dá um lugar específico, mas não diz onde essa rua é (Bem, você poderia manter essa informação em uma tabela massiva, mas seria ENORME , e também principalmente inútil.Por que acompanhar as coordenadas de cada estrada em todos os países quando você só enviar e-mail para sua avó?). Há informações adicionais para corrigir este problema - um código postal. Você pode não saber onde a rua está, mas você sabe que o sistema de e-mail nesse código postal vai, e porque os códigos postais são um pouco ordenados (tenha paciência comigo), você sabe como chegar a esse código postal. Com computadores, isso é chamado de endereço MAC. Um computador sempre sabe a que endereços MAC está conectado diretamente e quais IPs eles sabem como rotear. Quando um computador ou roteador precisa enviar um pacote, ele procura o endereço MAC responsável por manipular esse IP e, em seguida, envia o pacote para esse sistema. Se não houver um sistema responsável por esse IP, ele retornará No route to destination . (Imagine tentar enviar e-mails para a LUA. O carteiro só olharia engraçado para você e o devolveria.)

Agora, se o e-mail chegar até o destino, ele ainda terá que enviar uma resposta. Normalmente, isso é rápido e fácil, e você pode apenas medir o tempo entre o envio da mensagem e a resposta. Mas às vezes, a resposta se perde no e-mail. Ou talvez a vovó esteja dormindo e tenha esquecido de checar seu e-mail. De qualquer forma, você não recebe uma resposta, mesmo depois de esperar uma semana inteira! Eventualmente você simplesmente desiste. Com computadores, isso é Request timed out.

Quanto à pergunta dos computadores sem entradas de DNS, a maioria dos roteadores usa a si mesma como cache DNS e adiciona entradas de DNS falsas aos computadores que solicitam concessões de DHCP se o computador enviar um nome de host ao solicitar uma concessão de DHCP. É por isso que às vezes é possível fazer ping no nome do host de um computador. Os sistemas Windows também rastreiam os nomes NetBIOS (geralmente, os nomes de host dos computadores Windows que estão conectados na mesma sub-rede e têm o compartilhamento ativado) e tentarão resolvê-los para endereços IP, se solicitado. Não me lembro se isso funciona com ping , mas não funciona para nslookup , pois nslookup é específico para verificar entradas de DNS e não entradas de NetBIOS.

    
por 18.10.2012 / 17:34
1

Bem, isso tem um pouco a ver com o modelo OSI e um pouco a ver com o esquema de rede.

Ping com limite de tempo geralmente significa que algo está impedindo o envio do ping.

Dispositivo não encontrado literalmente significa que o Ping conseguiu sair e procurar o dispositivo e não conseguiu localizá-lo.

Ping opera na camada um. Se a placa de rede estiver ligada e pingada, ela será encontrada. Isso é tudo o que você pode fazer, ele verifica se o dispositivo está fisicamente lá. Se o dispositivo não for encontrado, não há NIC onde ele está procurando.

Se expirar, é possível que algo como um firewall esteja bloqueando isso. Ping não pôde concluir, então é possível que algo esteja lá, mas Ping não sabe dizer.

    
por 18.10.2012 / 18:02
1

Timed out significa que o endereço IP da outra máquina é conhecido, geralmente foi encontrado por meio do DNS, mas você não recebeu nenhuma resposta às solicitações de ping enviadas. Geralmente, é porque essa outra máquina está configurada para não responder a pings ou porque tem um firewall bloqueando as mensagens de ping ICMP.

Could not find host significa que o endereço IP da outra máquina não pôde ser encontrado por meio do DNS, então não havia como tentar enviar pings.

    
por 18.10.2012 / 18:29