Działanie systemu DNS
DNS
System DNS (Domain Name System) to "książka telefoniczna Internetu" — zamienia czytelne dla ludzi nazwy domenowe (np. www.google.com) na adresy IP (np. 142.250.186.14), które komputery wykorzystują do komunikacji w sieci.
Jak działa system DNS?
Załóżmy, że wpisujesz w przeglądarce: www.soisk.info
1. Sprawdzenie lokalnego cache DNS przez lokalny resolver
Kiedy aplikacja (np. przeglądarka) potrzebuje przetłumaczyć nazwę domeny na adres IP, zapytanie trafia do lokalnego resolvera DNS — komponentu systemowego wbudowanego w Windows.
W Windows działa on jako usługa DNS Client (Dnscache), uruchamiana w procesie:
svchost.exe -k NetworkService -p
Lokalny resolver przeszukuje lokalny cache DNS (czyli pamięć podręczną zapisanych wyników zapytań DNS). Jeśli znajdzie tam wpis soisk.info, to zwraca wynik. Jeśli nie — przechodzi do kolejnego etapu.
Cache można podejrzeć lub wyczyścić:
ipconfig /displaydns– wyświetla lokalny cacheipconfig /flushdns– czyści cache
2. Sprawdzenie pliku hosts
Jeśli w cache nie ma odpowiedzi, resolver sprawdza lokalny plik:
C:\Windows\System32\drivers\etc\hosts
Jeśli znajdzie pasującą nazwę, natychmiast zwraca ten adres IP. Jeśli nie — przechodzi do kolejnego etapu.
3. Wysłanie zapytania do zewnętrznego (rekurencyjnego) resolvera DNS
Jeśli lokalny cache oraz plik hosts nie zawiera wpisu, systemowy resolver wysyła zapytanie do rekurencyjnego serwera DNS (pod adres wpisany w konfiguracji IP komputera — jako DNS).
To może być:
- serwer dostawcy Internetu (ISP),
- publiczny DNS, np.:
- Google DNS → 8.8.8.8
- Cloudflare DNS → 1.1.1.1
- OpenDNS → 208.67.222.222
Ten zewnętrzny resolver zajmuje się pełnym procesem „odpytwania” innych serwerów DNS w Internecie.
4. Sprawdzenie cache na serwerze rekurencyjnym
Rekurencyjny resolver również posiada własny cache.
Jeśli znajdzie tam odpowiedź (np. ktoś inny niedawno pytał o soisk.info), natychmiast ją zwraca bez dalszych zapytań.
5. Zapytanie do serwera głównego (root DNS)
Jeśli rekurencyjny resolver nie ma odpowiedzi, pyta jeden z serwerów głównych DNS (root servers):
„Gdzie mogę znaleźć informacje o domenie .info?”
Serwer główny nie zna bezpośrednio www.soisk.info, ale odpowiada wskazując adresy serwerów TLD (Top-Level Domain) dla .info.
6. Zapytanie do serwerów TLD
Rekurencyjny resolver pyta teraz serwer TLD dla .info:
„Gdzie mogę znaleźć informacje o soisk.info?”
Serwer TLD odpowiada adresem autorytatywnego serwera nazw dla soisk.info.
7. Zapytanie do autorytatywnego serwera nazw
Rekurencyjny resolver wysyła zapytanie do autorytatywnego serwera DNS domeny soisk.info:
„Jaki jest adres IP dla www.soisk.info?”
Autorytatywny serwer odpowiada np.:
www.soisk.info → 91.205.73.235
8. Odpowiedź do lokalnego resolvera i zapis w cache
Rekurencyjny resolver zwraca wynik 91.205.73.235 do lokalnego resolvera w komputerze. Wynik jest zapisywany w cache rekurencyjnego resolvera oraz lokalnego.
9. Przekazanie adresu aplikacji
Lokalny resolver zwraca gotowy adres IP aplikacji (np. przeglądarce).
Dopiero teraz przeglądarka może nawiązać połączenie z serwerem WWW (91.205.73.235) i pobrać stronę.
Testowanie DNS
Testowanie systemu DNS jest dostępne pod adresem: Testowanie systemu DNS
Proszę zwrócić szczególną uwagę jak działa polecenie dig +trace.