Dlaczego przekroczono limit czasu żądania „ping” dla niektórych hostów?

12

W przypadku niektórych hostów ping www.example.comrozwiązuje ich adres IP, ale dlaczego nie udaje się przekroczenie limitu czasu żądania? Próbowałem również zwiększyć czas odpowiedzi ping, ale nadal ten sam wynik.

użytkownik10232
źródło
Do odpowiedzi na żądania ping nie jest wymagany żaden host.
R. Martinho Fernandes

Odpowiedzi:

11

Ping jest pakiet ICMP. Dla porównania, ruch sieciowy lub HTTP to ogólnie pakiet TCP na porcie 80. Dany serwer może dostarczać odpowiedzi na potrzeby ruchu sieciowego, ale blokuje ICMP (lub może znajdować się za zaporą blokującą ICMP) i dlatego możesz:

  • Rozwiąż adres URL na jego adres IP
  • Połącz i przeglądaj treści internetowe

Ale nie możesz pingować adresu IP. Odpowiedź „upłynął limit czasu żądania” jest taki, że klient wysyła pakiet początkowy, czeka na odpowiedź (która nigdy nie nadejdzie) i poddaje się w ustalonym czasie.

JYelton
źródło
6

Ponieważ nie można połączyć się z hostem. To, że serwer DNS zna adres IP hosta, nie oznacza, że ​​dany host działa i akceptuje połączenia.

ho1
źródło
Dlaczego nie miałby zawieść przez przeglądarkę?
2
@cpx: żądanie ping nie jest żądaniem HTTP. Host może odpowiadać na to drugie, ale ignoruje to pierwsze.
R. Martinho Fernandes,
2
Akceptuje połączenia TCP na porcie 80, ale nie połączenia ICMP. Nic nie mówi, że komputer musi zaakceptować oba te elementy.
Dan Grossman
2
ICMP nie nawiązuje połączeń. Dlaczego na przykład ta odpowiedź jest głosowana wyżej niż Pablo? ICMP ślepo wysyła ramkę do hosta docelowego i czeka kilka sekund, jeśli coś wróci.
sinni800
4

Być może host faktycznie nie działa lub może się zdarzyć, że niektóre witryny blokują ruch ICMP (polega na poleceniu PING protokołu).

Pablo Santa Cruz
źródło
1

Na przykład ping nie działa również na stronie www.microsoft.com. Jest tak, ponieważ komputery te używają zapory restrykcyjnej blokującej pakiety ICMP od nieznanych hostów.

Również ping nie „ŁĄCZY” z hostem, po prostu wysyła do niego pojedynczy pakiet. TCP wykonuje uzgadnianie połączenia i bardzo mocno stara się utrzymać połączenie. Ping po prostu wysyła pakiet ICMP, który nie gwarantuje dotarcia do miejsca docelowego. Podobnie jak UDP, dla danych.

Jeśli nie trafi do miejsca docelowego lub miejsce docelowe wyrzuci pakiet (zapora ogniowa?), Nie otrzymasz odpowiedzi.

Jest to całkowicie niezależne od ruchu HTTP korzystającego z protokołu TCP.

sinni800
źródło