Como o ping pode saber se meu host está inoperante

11

Quando eu sou pingservidor, há dois tipos de resultado que posso obter:

  • Tempo esgotado
  • Mensagem de host desativado

Como o pingcomando sabe se um host está inoperante? Nos dois casos, o host não envia nenhuma resposta ao pacote de ping; portanto, como pingsaber a diferença?

Bob5421
fonte
2
Possível duplicata dos resultados
kubanczyk

Respostas:

3

Mensagem do host desativada:

Isso indica que você não conhece uma rota para o destino desejado ou um roteador remoto relata que não possui uma rota para o destino.

Tempo esgotado:

Indica a ausência de mensagens de resposta de eco. Nenhum pacote foi recebido dentro do tempo padrão.

SantiCarta
fonte
24

As diferenças entre as respostas não são realmente determinadas pelo próprio ICMP, mas indiretamente.

O ICMP pode distinguir entre o seguinte:

  0 = net unreachable;

  1 = host unreachable;

  2 = protocol unreachable;

  3 = port unreachable;

  4 = fragmentation needed and DF set;

  5 = source route failed.

Mas faz isso com outros recursos de rede. Os códigos 0, 1, 4 e 5 podem ser recebidos de um gateway. Os códigos 2 e 3 podem ser recebidos de um host.

Se, de acordo com as informações nas tabelas de roteamento do gateway, a rede de destino estiver inacessível (por exemplo, a distância até a rede é infinita), o gateway poderá enviar uma mensagem inacessível de destino ao host de origem da Internet do datagrama. Além disso, em algumas redes, o gateway pode determinar se o host de destino da Internet está inacessível. São os Gateways nessas redes que podem enviar mensagens inacessíveis ao destino ao host de origem quando o host de destino está inacessível, portanto, na verdade, não é o ICMP que faz as determinações.

No caso em que no host de destino, o módulo IP não possa entregar o datagrama porque o módulo de protocolo indicado ou a porta do processo não está ativa, o host de destino poderá enviar uma mensagem de 'destino inacessível' para o host de origem.

Finalmente, se um datagrama precisar ser fragmentado para ser encaminhado por um gateway e o sinalizador 'Não fragmentar' estiver ativado, o gateway descartará o datagrama e retornará uma mensagem 'destino inacessível'.

Agora, a diferença entre os dois casos separados: Request Timed Out significa que nenhuma mensagem de resposta de eco foi recebida dentro do tempo definido. Isso pode ser devido a várias causas diferentes: falha na solicitação do ARP, congestionamento da rede, filtragem de pacotes, erro de roteamento ou até mesmo um descarte silencioso.

Quando você recebe uma resposta de [Endereço IP]: 'Host de destino inacessível', o problema ocorreu em / após um roteador remoto, cujo endereço é indicado pelo [endereço IP]. Portanto, é um roteador informando que há um problema entre ele e o endereço de destino.

Overmind
fonte
3
nenhum roteador ou outro dispositivo precisa estar envolvido. O Windows e o Linux produzem "host inacessível" se o host estiver em uma sub-rede local e não houver entrada ARP.
Oh My Goodness
Se um host estiver inacessível, ele não poderá produzir uma resposta de recebível por iniciador.
Overmind
O host de ping produz a mensagem. Obviamente, o destino não pode.
Oh meu Deus,
Isso vem do gateway.
Overmind
Não. "Gateway" é uma construção de camada 3. Não há roteamento e, portanto, nenhum gateway envolvido ao executar ping em um host na sub-rede local.
Oh meu Deus
-3

Você não pode executar ping se o computador não estiver conectado à Internet porque, ao executar o ping, você realmente solicita o IP do host.

Altair
fonte