W przypadku niektórych hostów ping www.example.com
rozwią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.
batch
command-line
ping
użytkownik10232
źródło
źródło
Odpowiedzi:
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:
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.
źródło
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.
źródło
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).
źródło
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.
źródło