Czy Ping kiedykolwiek używa pamięci podręcznej DNS?
Mam kilka pytań.
Po pierwsze, dziś rano biegałem
pingvs
google.comi podał mi adres
216.58.220.14
.
Co dziwnego się stało: w dowolnym momencie po pierwszym pingowaniu wszystkie próby ping zakończyły się tym samym adresem, tj.
216.58.220.14
(Spodziewałem się innego adresu przez co najmniej chwilę, biorąc pod uwagę, że Google zrównoważy ich obciążenie)
Więc proszę mojego znajomego (kolegę) siedzącego obok mnie (w tej samej sieci),
ping google.comi tak jak się spodziewałem, zwrócił inne adresy.
Pytanie 1:
Czy ping używa pamięci podręcznej DNS komputera.
Pytanie 2:
Jak wyświetlić rekordy pamięci podręcznej DNS Linux (Ubuntu).
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
http://www.oreilly.com/openboo ... .html
http://www.oreilly.com/openboo ... .html
Biblioteka resolverów
Termin konwerter nie odnosi się do specjalnej aplikacji, ale do biblioteki konwertera. Jest to zestaw funkcji, które można znaleźć w bibliotece standardowej C. Centralne procedury to gethostbyname (2) i gethostbyaddr (2), które szukają wszystkich adresów IP powiązanych z nazwą hosta i odwrotnie. Można je skonfigurować tak, aby po prostu wyszukiwały informacje w hostach, wysyłały zapytania do szeregu serwerów nazw DNS lub korzystały z bazy danych hostów sieciowych usług informacyjnych (NIS).
Funkcje rozpoznawania odczytują pliki konfiguracyjne, gdy są wywoływane. Na podstawie tych plików konfiguracyjnych określają, które bazy danych mają być przeszukiwane, w jakiej kolejności oraz inne szczegóły związane ze sposobem konfigurowania środowiska. Stara standardowa biblioteka Linuksa, libc, używała/etc/host.conf jako głównego pliku konfiguracyjnego, ale wersja 2 standardowej biblioteki GNU, glibc, używa/etc/nsswitch.conf.
Zakładając brak wpisu w google.com
plik, po każdym uruchomieniu polecenia ping skontaktuje się z serwerem DNS w celu ustalenia nazwy hosta. Wszystko zależy więc od tego, w jaki sposób serwer DNS zwraca żądanie. Przetestowałem tutaj testową maszynę wirtualną z systemem Ubuntu 14.04 i używającym serwera DNS Google (8.8.8.8), a oto wyniki polecenia ping i odpowiadające mu przechwytywanie tcpdump:
Pierwszy ping i odpowiadający mu tcpdump:
>
Drugi ping i odpowiadający mu tcpdump:
>
Oto kilka interesujących punktów:
Zatem sam proces pingowania nie jest buforowany i wszystko zależy od tego, jak odpowiada serwer DNS. Może się zdarzyć, że żądany serwer DNS zwróci wartości z pamięci podręcznej lub te same wyniki, wtedy ping również użyje tego samego adresu IP.
Innym ważnym czynnikiem jest (jak wspomniano powyżej)
plik informujący retrievera, której bazy danych szukać iw jakiej kolejności. Oto odpowiednia zawartość z testowej maszyny wirtualnej:
Powyższe mówi systemowi, aby użył pliku
najpierw, a jeśli nie zostanie znaleziony, serwer DNS rozpozna nazwę hosta. W takim przypadku wpis w pliku/etc/hosts będzie miał pierwszeństwo przed wpisem dns. Więcej na ten temat tutaj:
Usługa nazw i konfiguracja konwertera
http://www.oreilly.com/openboo ... .html
Kolejna ciekawa lektura dotycząca środowiska Windows:
Dylemat rozpoznawania nazw za pomocą PING vs NSLOOKUP
http://blogs.msdn.com/b/nitins ... .aspx
Anonimowy użytkownik
Potwierdzenie od: