Blog


DNS- co to takiego?

DNS (Domain Name System) to nic innego jak nazwa domeny. System nazw domen to baza danych, w której znajdują się nazwy domen internetowych, które tłumaczone są na adresy protokołu internetowego (IP). Przeglądarki internetowe współdziałają za pośrednictwem adresów protokołu internetowego (IP).

DNS tłumaczy nazwy domen na adresy IP, dzięki czemu przeglądarki mogą ładować zasoby internetowe. Działa to trochę jak książka telefoniczna. Nie musisz zapamiętywać skomplikowanych adresów IP, wystarczy, że zapamiętasz nazwę, taką jak „cokolwiek.com” aby załadować szukane zasoby. 

Przedsiębiorstwa, rządy, uniwersytety i inne organizacje zazwyczaj mają własne przypisane zakresy adresów IP i własną nazwę domeny. Zazwyczaj uruchamiają też serwery DNS do zarządzania mapowaniem tych nazw na adresy. Większość adresów URL opiera się na nazwie domeny serwera WWW, który przyjmuje żądania klientów.

Jak to się zaczęło?

W latach 70. wszystkie nazwy hostów i odpowiadające im adresy numeryczne były zawarte w jednym pliku o nazwie „HOSTS.TXT” należącym do Elizabeth Feinler z Instytutu Badawczego Stanforda. Znane to było jako katalog Advanced Research Projects Agency Network lub ARPANET. Feinler ręcznie przypisywała adresy numeryczne do nazw domen, więc aby dodać nową nazwę do katalogu trzeba było się z nią skontaktować.

W latach 80. system ten okazał się zbyt nieefektywny, aby kontynuować jego działanie. W 1983 roku stworzono system nazw domen w celu dystrybucji tego, co początkowo było jednym scentralizowanym plikiem z każdym zawartym w nim adresem, na wiele serwerów i lokalizacji.

W 1986 roku IETF wymienił DNS jako jeden z pierwotnych standardów internetowych. Organizacja ta opublikowała dwa dokumenty, opisujące protokół DNS i określające typy danych, które może on przenosić.

Od tego czasu DNS był konsekwentnie aktualizowany i rozszerzany, aby pomieścić coraz więcej danych. Obecnie duże i wszechobecne firmy informatyczne, takie jak Microsoft i Google, oferują własne usługi hostingu DNS.

Jak to działa?

Proces rozpoznawania DNS obejmuje konwersję nazwy hosta (np. www.przyklad.com) na adres IP przyjazny dla komputera (np. 197.179.1.1). Każdemu urządzeniu w Internecie nadawany jest adres IP, który jest niezbędny do znalezienia odpowiedniego urządzenia internetowego – podobnie jak adres jest używany do znalezienia konkretnego budynku. Gdy użytkownik chce załadować stronę internetową, musi nastąpić tłumaczenie między tym, co użytkownik wpisuje w przeglądarce internetowej, a adresem niezbędnym do zlokalizowania strony internetowej.

Aby zrozumieć ten proces trzeba najpierw zrozumieć, jak działają poszczególne typy serwerów.

Typy serwerów DNS

Istnieje kilka typów serwerów zaangażowanych w rozwiązywanie DNS. Poniższa lista opisuje cztery serwery nazw, przez które kolejno przechodzi zapytanie. Dostarczają poszukiwaną nazwę domeny lub kierują do innych serwerów nazw.

Serwer rekurencyjny.

To on odbiera zapytanie od klienta DNS. Następnie komunikuje się z innymi serwerami DNS, aby znaleźć właściwy adres IP. Po tym, jak przelicznik pobierze żądanie od klienta, przelicznik zachowuje się jak sam klient. W tym czasie tworzy zapytania, które są wysyłane do pozostałych trzech serwerów DNS

Główny serwer nazw.

Ten serwer jest pierwszym miejscem, do którego serwer rekurencyjny wysyła zapytanie, jeśli nie ma odpowiedzi. Główny serwer nazw to indeks wszystkich serwerów, na których znajdują się szukane informacje.

Serwer TLD.

Serwer nazw TLD (top-level domains) przechowuje informacje dla wszystkich nazw domen, które mają wspólne rozszerzenie domeny, takie jak .com, .net lub cokolwiek, co znajduje się po ostatniej kropce w adresie URL. Na przykład serwer nazw TLD .com zawiera informacje dla każdej witryny, która kończy się na „.com”. Kiedy serwer rekurencyjny otrzyma odpowiedź z serwera nazw TLD, odpowiedź tą skieruje tłumacza do autorytatywnego serwera nazw.

Autorytatywny serwer nazw.

Autorytatywny serwer nazw jest zwykle ostatnim krokiem rozpoznania adresu IP. Autorytatywny serwer nazw zawiera informacje specyficzne dla obsługiwanej nazwy domeny. Istnieją dwa typy autorytatywnych serwerów nazw: serwer główny lub główny serwer nazw oraz serwer podrzędny lub pomocniczy serwer nazw. Serwer główny przechowuje oryginalne kopie rekordów strefy, podczas gdy serwer podrzędny jest dokładną kopią serwera głównego. Współdzieli obciążenie serwera DNS i działa jako kopia zapasowa w przypadku awarii serwera głównego.

Jak działa proces wyszukiwania DNS?

Wyszukiwanie DNS składa się zazwyczaj z 6 kroków. Gdy informacje DNS są buforowane lokalnie, niektóre kroki są pomijane w procesie wyszukiwania DNS, co przyspiesza ten proces. Poniższy przykład uwzględnia wszystkie 6 kroków, gdy nic nie jest buforowane.

  1. Użytkownik wprowadza adres internetowy lub nazwę domeny w przeglądarce.
  2. Przeglądarka wysyła do sieci komunikat zwany rekurencyjnym zapytaniem DNS, aby dowiedzieć się, któremu adresowi IP lub sieciowemu odpowiada domena, a zapytanie trafia do rekurencyjnego serwera DNS.
  3. Przeglądarka wysyła zapytania do szeregu innych serwerów w następującej kolejności: serwery nazw głównych DNS, serwery nazw domen najwyższego poziomu (TLD) i autorytatywne serwery nazw.
  4. Te trzy typy serwerów współpracują ze sobą i kontynuują przekierowywanie, dopóki nie pobiorą rekordu DNS zawierającego żądany adres IP. Informacje wysyłane są do rekursywnego serwera DNS i strony internetowej, której szuka użytkownik.
  5. Serwer rekursywny przechowuje lub buforuje rekord A dla nazwy domeny, który zawiera adres IP. Następnym razem, gdy otrzyma żądanie dla tej nazwy domeny, może odpowiedzieć bezpośrednio użytkownikowi, zamiast wysyłać zapytania do innych serwerów.
  6. Przelicznik DNS odpowiada następnie przeglądarce internetowej, podając adres IP żądanej domeny.

Gdy adres IP zostanie zwrócony na adres strony, przeglądarka może wysłać żądanie dla strony internetowej, a serwer pod tym adresem IP zwraca stronę internetową do wyświetlenia w przeglądarce.