Co to jest DNS? Wprowadzenie do systemu nazw domen
Opublikowany: 2022-04-11Kiedy siedzisz przy komputerze, internet wydaje się prosty. Otwierasz przeglądarkę, wpisujesz nazwę domeny i widzisz witrynę na ekranie. Jednak pod graficznym interfejsem użytkownika (GUI) znajduje się rozległa sieć oprogramowania i serwerów znana jako system nazw domen (DNS). Czym jednak jest DNS i jak pomaga nam przeglądać sieć na naszych urządzeniach?
Odpowiedź na to pytanie jest złożona ze względu na ogromną liczbę ruchomych części. Przekonasz się, że prawie każde łącze w łańcuchu korzysta z serwera. Co więcej, istnieją techniki, które pomogą Ci ograniczyć wąskie gardła, które mogą obniżyć szybkość ładowania strony.
W tym poście pomożemy Ci zrozumieć DNS w najprostszy możliwy sposób. Podsumujmy, o czym będzie ten artykuł.
Spis treści
- Jak Internet pobiera stronę internetową z serwera do przeglądarki?
- 4 serwery DNS, które pobierają i ładują strony internetowe
- Różnica między rekursorem DNS a autorytatywnym serwerem nazw
- Jak działa wyszukiwanie DNS
- Zapytania, które znajdziesz w wyszukiwaniu DNS
- Elementarz do buforowania DNS
- Wprowadzanie zmian w rekordach DNS: „Propagacja”
- Wniosek
Jak Internet pobiera stronę internetową z serwera do przeglądarki?
Podsumowując, DNS to sposób, w jaki konwertujemy czytelną nazwę domeny na wynikowy adres protokołu internetowego (IP), który reprezentuje. Choć na pierwszy rzut oka wydaje się to prostym zadaniem, jest to dalekie od przypadku.
Każda strona internetowa znajduje się na serwerze, a każdy serwer (a w rzeczywistości komputer) ma adres IP. DNS to system, który mapuje adresy IP na nazwy domen, dzięki czemu możemy cieszyć się przyjaznym dla użytkownika przeglądaniem. Jako analogię pomyśl o tym, że nazwa ulicy i adres domu to tak naprawdę zestaw współrzędnych mapy. Używamy adresów ulic, aby uprościć długość i szerokość geograficzną lokalizacji.

Kiedy konwertujesz adres IP na nazwę domeny (i odwrotnie), jest to „rozdzielczość DNS”. W tym łańcuchu znajduje się wiele komponentów sprzętowych, w szczególności cztery różne typy serwerów. Omówmy je dalej.
4 serwery DNS, które pobierają i ładują strony internetowe
Każde żądanie i rozwiązanie DNS przechodzi przez cztery serwery. Oto one w skrócie:
- Rekursor DNS. To jest „nośnik wody” dla całego DNS. Kiedy żądasz strony internetowej z przeglądarki, mówisz rekursorowi, aby poszedł i znalazł (lub „wyszukał”) witrynę w DNS.
- Główny serwer nazw. Jeśli weźmiesz pod uwagę serwer WWW, który zawiera wiele witryn, główny serwer nazw reprezentuje całość. Jest to ogólna lokalizacja adresu IP.
- Serwer nazw domen najwyższego poziomu (TLD). Witryna będzie działać w głównym serwerze nazw, ale serwer nazw TLD odkopie ostatnią część adresu IP: końcową część nazwy hosta. Może to być .com, .net lub mnóstwo innych.
- Autorytatywny serwer nazw. Aby uprościć ten skomplikowany serwer, jest to biblioteka referencyjna dla adresu IP. Serwer ten odeśle pełny adres IP z powrotem do rekursora, który z kolei wyświetli witrynę w Twojej przeglądarce.
Zapytanie DNS przechodzi przez wszystkie te kroki, nawet wiele razy, zanim zapytanie zostanie rozwiązane. W związku z tym istnieje wiele punktów w łańcuchu, które mogą spowodować niepowodzenie zapytania – stąd błędy HTTP.
Warto jednak bardziej szczegółowo zagłębić się w przód i tył tego łańcuszka. Zróbmy to dalej.
Różnica między rekursorem DNS a autorytatywnym serwerem nazw
Zrozumiesz, że rekursor pobiera wynik zapytania i jest początkiem całego procesu DNS. Z kolei będziesz także wiedział, że autorytatywny serwer nazw przekazuje wynik tego procesu z powrotem do rekursora. Jednak oba mają więcej różnic, o których musisz wiedzieć:
- Rekursor DNS. Ten serwer odpowiada na żądanie zapytania DNS. Jest aktywny, ponieważ śledzi rekord DNS wzdłuż łańcucha. Chociaż typowym podejściem do rekursora jest wysyłanie wielu żądań do innych serwerów, buforowanie może skrócić ten czas. Porozmawiamy o tym później.
- Autorytatywny serwer nazw. Ten serwer przechowuje wszystkie rekordy DNS. Jego zadaniem jest odpowiadanie na żądanie na podstawie informacji otrzymanych z innych serwerów w łańcuchu, w tym z rekursora. To ten serwer pozwala przeglądarce wyświetlić stronę internetową. Ponieważ jest autorytatywny, nie wymaga sprawdzania innych źródeł, aby zweryfikować zapytanie – jest to źródło prawdy.
Jednak chociaż autorytatywny serwer nazw jest punktem końcowym żądania DNS, nie zawsze tak będzie. W zależności od żądania znajdziesz również dodatkowe serwery nazw po tym punkcie.
Jeśli zapytanie DNS dotyczy subdomeny (takiej jak shop.example.com), zauważysz, że po autorytatywnym pojawi się dodatkowy serwer nazw. To przechowuje rekord CNAME dla danej subdomeny.

Teoretycznie nie ma ograniczeń co do liczby dodatkowych serwerów nazw, których żąda zapytanie. Jednak przez większość czasu będzie tylko jeden dodatkowy serwer nazw.
Jak działa wyszukiwanie DNS
Chociaż istnieją cztery serwery, które przetwarzają wyszukiwanie i zapytania DNS, istnieje wiele kroków w łańcuchu, które przekazują zapytanie i pobierają wyniki. Oto jak działa proces wyszukiwania:
- Wpisz nazwę domeny w przeglądarce. Po kliknięciu Enter zapytanie jest kierowane z przeglądarki i systemu operacyjnego (OS) do Internetu, gdzie odbiera je rekursor DNS.
- Rekursor przekazuje to zapytanie do głównego serwera nazw i przeprowadza własne zapytanie.
- Wynikiem tego zapytania będzie serwer nazw TLD, który powraca do rekursora.
- Tym razem rekursor wysyła zapytanie do serwera nazw TLD, który odpowiada adresem IP autorytatywnego serwera nazw domeny.
- Rekursor wysyła kolejne zapytanie do autorytatywnego serwera nazw, który z kolei odpowiada adresem IP dla początkowego żądania domeny.
Stąd rekursor odsyła wynik swojej pracy z powrotem do przeglądarki internetowej. To kończy proces DNS, a rekursor może odpocząć przez kilka milisekund! Przeglądarka przetworzy wówczas żądanie HTTP w celu wyświetlenia witryny w przeglądarce.

Istnieje wiele złożonych i pracochłonnych kroków (w stosunku do tego, co serwer może osiągnąć), a dzieje się to miliardy razy na sekundę na całym świecie. Mimo to w wyszukiwaniu występują tylko trzy zapytania.
Zapytania, które znajdziesz w wyszukiwaniu DNS
W każdym z tych zapytań istnieje relacja między klientem DNS a serwerem. Chociaż są to terminy ogólne, w naszych wyjaśnieniach odnotujemy wszelkie szczegóły:
- Zapytanie rekurencyjne. W tej kwerendzie klient zażąda, aby rekursor DNS odpowiedział albo żądanym rekordem DNS, albo komunikatem o błędzie.
- Zapytanie iteracyjne. To zapytanie daje rekursorowi darmową licencję na „najlepsze odgadnięcie” tego, co zwraca. Jeśli nie ma dopasowania do zapytania, wynikiem będzie odesłanie do autorytatywnego serwera niższego poziomu, dopóki ta „ścieżka” się nie wyczerpie.
- Zapytanie nierekurencyjne. Przekonasz się, że to zapytanie wystąpi, jeśli rekord DNS istnieje w pamięci podręcznej lub rekursor ma autorytatywny dostęp do rekordu. Porozmawiamy o buforowaniu pod koniec artykułu.
W wielu przypadkach najczęstsze są zapytania cykliczne i nierekurencyjne. Dlatego zobaczysz komunikaty o błędach, a proces wyszukiwania może być złożony.
Elementarz do buforowania DNS
Gdy masz do czynienia z zapytaniem nierekurencyjnym, rekord ma szansę znajdować się w dedykowanej pamięci podręcznej dla rekordów DNS. Jeśli wiesz o buforowaniu, zrozumiesz, że będzie on zawierał pliki, do których regularnie uzyskujesz dostęp. Mogą to robić lokalne aplikacje, ale najlepszym przykładem jest pamięć podręczna Twojej witryny:

Spowoduje to przechowywanie rekordów plików Twojej witryny, dzięki czemu możesz ograniczyć liczbę żądań HTTP. To samo jest możliwe w przypadku rekordów DNS. Dzięki temu odpowiednie rekordy znajdują się bliżej lokalizacji Twojego komputera, dzięki czemu możesz pobrać adres IP szybciej niż zwykle.
Dla twórców stron internetowych, żądanie GET
jest tym, co powoduje przeglądarka. Dzięki pamięci podręcznej rekursor odcina inne serwery w łańcuchu i albo przechodzi bezpośrednio do autorytatywnego serwera nazw, albo przywołuje go bez potrzeby dalszych zapytań. Jest to najbardziej typowe nierekurencyjne zapytanie, jakie możesz wykonać.
W rzeczywistości można znaleźć pamięci podręczne DNS w wielu technologiach, takich jak dostawca usług internetowych (ISP), router i komputer lokalny.

Przekonasz się, że pamięć podręczna przeglądarki jest pierwszym portem wywołania dla rekursora szukającego rekordu DNS i dlatego przeglądarki często buforują rekordy jako ustawienie domyślne. Twój system operacyjny będzie również miał resolwer DNS, który sprawdza również pamięć podręczną pod kątem rekordu DNS.
Ponownie, jeśli system operacyjny nie zawiera rekordu w swojej pamięci podręcznej, wyśle zapytanie do rekursora dostawcy usług internetowych w celu przetworzenia. Oba te rekursory będą współpracować z rekordami A i NS Twojej domeny, aby spróbować rozwiązać zapytanie, zanim nastąpi pełny proces wyszukiwania.
Wprowadzanie zmian w rekordach DNS: „Propagacja”
Skoro o tym mowa, możesz wprowadzić zmiany w swoich rekordach A , NS lub CNAME u swojego rejestratora. W wielu przypadkach rejestracja wszystkich tych zmian może zająć do 72 godzin.
Jest to propagacja DNS, a czas potrzebny do zakończenia zależy od wielu czynników — a mianowicie wartości czasu życia (TTL) dla skojarzonego rekordu:

Krótko mówiąc, określa to, jak szybko zmiana zostanie zastosowana dla określonego rekordu DNS. Typowy czas TTL wynosi około czterech godzin, a im wyższa wartość, tym dłużej trwa propagacja.
Rejestrator często ustawia TTL dla Twoich serwerów nazw i dlatego Ty ani nikt inny nie będziecie mogli wprowadzać zmian. Dlatego często trzeba czekać na zakończenie propagacji i stale sprawdzać witrynę, taką jak What's My DNS? aby ocenić jego postępy:

Rozwiązaniem jest ustawienie maksymalnego TTL przed podjęciem decyzji o zmianie rekordów DNS. Oczywiście rejestrator będzie odpowiedzialny za twoje serwery nazw, ale zrobisz wszystko, co w twojej mocy, aby skrócić czas propagacji.
Wniosek
Jeśli uważasz, że dostęp do strony internetowej jest prosty, pomyśl jeszcze raz. Dla użytkownika końcowego proces jest w istocie prosty. Jednak pod maską jest to znacznie bardziej złożone i obejmuje mnóstwo dodatkowych serwerów.
Ten post dotyczył DNS – sposobu, w jaki internet pobiera nazwę domeny i zamienia ją na adres IP. Stamtąd może wrócić do przeglądarki i renderować jako stronę internetową. Przekonasz się jednak, że zachodzi również wiele innych procesów, takich jak propagacja i buforowanie. W połączeniu dają nam szybkie i (w większości) bezproblemowe przeglądanie.
Czy uważasz, że ten artykuł odpowiada na pytanie: „Co to jest DNS?”, a jeśli nie, masz więcej pytań? Jeśli tak, zapytaj w sekcji komentarzy poniżej!