Perché "ping" restituisce "richiesta scaduta" per alcuni host?


12

Per alcuni host, ping www.example.comrisolve il loro IP ma perché non riesce con il timeout della richiesta? Ho anche cercato di aumentare il tempo di risposta del ping ma sempre lo stesso risultato.


Nessun host è tenuto a rispondere alle richieste di ping.
R. Martinho Fernandes,

Risposte:


11

Un ping è un pacchetto ICMP. Per confronto, il traffico Web o HTTP, è generalmente un pacchetto TCP sulla porta 80. Un determinato server può fornire risposte ai fini del traffico Web, ma bloccare ICMP (o essere dietro un firewall che blocca ICMP) e quindi è possibile:

  • Risolvi l'URL al suo indirizzo IP
  • Connetti e visualizza il contenuto Web

Ma non è possibile eseguire il ping dell'indirizzo IP. La "richiesta scaduta" di risposta è perché il tuo client invia il pacchetto iniziale, attende una risposta (che non arriverà mai) e si arrende a un timeout predefinito.


6

Perché non riesce a connettersi all'host. Solo perché un server DNS conosce l'IP che dovrebbe avere un host, ciò non significa che l'host in questione stia eseguendo e accettando connessioni.


Perché non dovrebbe fallire attraverso il browser?

2
@cpx: una richiesta ping non è una richiesta HTTP. L'host potrebbe rispondere a quest'ultimo ma ignorare il primo.
R. Martinho Fernandes,

2
Accetta connessioni TCP sulla porta 80, ma non connessioni ICMP. Nulla dice che un computer debba accettare o rispondere ad entrambi.
Dan Grossman,

2
ICMP non stabilisce connessioni. Perché questa risposta viene votata più in alto di quella di Pablo per esempio? ICMP invia ciecamente un frame all'host di destinazione e attende alcuni secondi se qualcosa ritorna.
sinni800,

4

Forse l'host è in realtà inattivo o potrebbe essere il caso in cui alcuni siti blocchino il traffico ICMP (si basa sul comando PING del protocollo).


1

Bene, il ping fallisce anche su www.microsoft.com, per esempio. È perché quei computer server utilizzano un firewall restrittivo che blocca i pacchetti ICMP da host sconosciuti.

Inoltre il ping non si "connette" a un host, ma invia loro un solo pacchetto. TCP esegue l'handshake della connessione e si impegna molto per mantenere la connessione. Ping invia semplicemente un pacchetto ICMP che non è garantito per raggiungere la sua destinazione. Proprio come fa UDP, per i dati.

Se non ciascuna di esse o la destinazione butta via il pacchetto (firewall?), Non si ottiene una risposta.

Questo è completamente indipendente dal traffico http che utilizza TCP.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.