Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

DNS (ang. Domain Name System) to usługa sieciowa zamieniająca nazwy domenowe, mnemoniczne, słowne, zrozumiałe dla nas ludzi, na adresy IP hostów w sieci i odwrotnie.

Urządzenia sieciowe, takie jak komputery, tablety czy smartfony, nie komunikują się za pomocą słów. Nawiązują połączenie, używając adresów IP. Stąd potrzeba zamiany nazw na te właśnie adresy. Następnie są one konwertowane na ciągi zer i jedynek – i w takiej formie są transmitowane przez sieć. Gdyby DNS nie działał, to zamiast adresu domenowego, w polu adresu przeglądarki należałoby wpisać adres IP serwera, na którym strona ta jest hostowana, co zwyczajnie jest kłopotliwe i niezbyt intuicyjne.

RxRjODmQ6TNqB
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

DNS działa zarówno w internecie, odpowiadając za zwracanie klientom adresów IP serwerów, na których hostowane są strony WWW, jak również służy do lokalizacji komputerów, serwerów i usług w sieciach lokalnych, zapewnia dostęp aplikacjom do określonych zasobów, czy też pozwala na dostęp do sieci firmowych poprzez VPNVPNVPN.

Na samym początku istnienia internetu odwzorowania nazw na adresy IP zapisywane były w zwykłych plikach tekstowych (nazwa tych plików to hosts). Rozwój technologii informatycznych i sieci spowodował jednak, że sposób ten stał się mało wydajny i niewystarczający. Tak powstał DNS, którego używamy do dzisiaj. W jego skład wchodzą setki tysięcy serwerów, rozsianych po całym świecie, przechowujących w bazach rekordyrekordrekordy odwzorowań nazw domenowych na adresy IP. Pliki hosts nadal są w użyciu. Każdy system operacyjny tworzy taki plik, w którym „na sztywno” możemy przypisać odwzorowania – jednak w małych sieciach takie rozwiązania nie są często stosowane.

Struktura usługi DNS

Struktura usługi DNS ma postać odwróconego drzewa, na którego szczycie znajdują się serwery główne, tak zwane Root Servers – reprezentowane przez znak kropki (.), a poniżej mieszczą się serwery dla poszczególnych domen. Serwerów Root jest na całym świecie 13, ale każdy z nich ma wiele kopii rozlokowanych w różnych zakątkach świata. 

Poniżej serwerów Root wyróżniamy domeny pierwszego (najwyższego) poziomu (ang. TLD, Top‑Level Domain) są to domeny typu .com, .pl, .org czy też .gov.

Dalej w strukturze znajdują się domeny drugiego poziomu czyli wp.pl, epodreczniki.pl czy microsoft.com. Mówi się, że takie adresy są subdomenami (domenami podrzędnymi) domen pierwszego poziomu.

Następne w hierarchii mogą znaleźć się domeny typu poczta.wp.pl czy netacad.cisco.com.

RDuUw5CzvmlG8
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Każda domena, czyli każdy adres internetowy musi posiadać swój własny serwer DNS. Nazywa się go serwerem autorytatywnym dla domeny. Jeśli zakładacie swoją stronę w internecie, to ona również musi mieć swój autorytatywny serwer DNS. Można sobie taki serwer skonfigurować we własnym zakresie i udostępniać go w sieci, ale najczęściej jest tak, że to operator waszej domeny, wasz usługodawca, u którego ją wykupiliście, zrobi to za was. Jeden serwer DNS może obsługiwać wiele domen jednocześnie.

Ważne!

Chcąc uruchomić w internecie stronę z własnym adresem, należy taki adresy wykupić. Główną instytucją, która w Polsce zajmuje się rejestracją domen, to organizacja NASKNASKNASK. Domenę można również wykupić u prywatnych operatorów domen. Usługodawca, u którego domenę wykupiliśmy, będzie opowiedziany za skonfigurowanie dla niej serwera DNS.

Te dwa wymienione typy serwerów, czyli serwery domeny głównej oraz serwery autorytatywne dla domen, stanowią większą cześć systemu nazw DNS. Do tego, aby system był kompletny, brakuje nam jeszcze prywatnych serwerów operatorów internetowych oraz klientów usługi DNS.

Ważne!

Każdy komputer czy inne urządzenie korzystające z internetu musi w swojej konfiguracji sieciowej mieć zapisany adres przynajmniej jednego serwera DNS, do którego wysyłane jest żądanie o zamianę nazwy na IP. W większości przypadków usługodawca, który umożliwia nam dostęp do internetu, posiada również własne serwery DNS i to właśnie z nich korzystamy.

Istnieje też możliwość korzystania z innych serwerów DNS, niż te od usługodawcy. Takie serwery udostępniane są przez firmy prywatne (np. Cloudflare czy Google) i jeśli chcemy z nich korzystać, potrzebna jest zmiana konfiguracji urządzeń sieciowych lub końcowych.

Klient systemu DNS to usługa systemowa zwana z angielskiego resolver. Jest ona implementowana w każdym systemie operacyjnym, bez względu na to, czy korzystamy z internetu w komputerze czy w smartfonie. To właśnie resolver odpowiedzialny jest za sprawną komunikację z serwerem DNS.

R1Bc7pjHF4dn6
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

DNS na komputerze lokalnym

Każdy komputer czy też inne urządzenie końcowe chcące korzystać z sieci internetowej musi posiadać w swojej konfiguracji przynajmniej jeden adres IP serwera DNS, który będzie tego hosta obsługiwał. Zanim jednak resolver wyśle zapytanie do serwera DNS, przeszuka komputer w celu odnalezienia odpowiednich informacji na dysku twardym. A co będzie sprawdzał? Najpierw prześwietli wspomniany już plik hosts, który może zawierać przypisane rozwiązania nazw. Plik ten w systemach Windows zapisany jest w lokalizacji:

C:\Windows\System32\drivers\etc\hosts

R13LUESzQsl4t
Ciekawostka

W pliku hosts można przypisać adresy IP ulubionych stron internetowych. Wówczas, gdy komputer użytkownika będzie chciał wyświetlić daną witrynę, nie będzie musiał komunikować się z serwerem DNS w celu uzyskania informacji o adresie IP tej strony, tylko po prostu weźmie ją sobie z tego pliku.

Zakładając, że resolver nie odnajdzie interesującego go wpisu w pliku hosts, przeszuka własną pamięć podręczną (ang. cache), w której zapisał sobie wcześniejsze rozwiązania nazw. Do tej pamięci możemy zajrzeć, wydając w konsoli polecenie:

Linia 1. ipconfig prawy ukośnik displaydns.

Po wykonaniu takiego polecenia widać rozwiązania, które zostały już wcześniej zrealizowane i zapisane po to, aby nie korzystać już z serwera DNS, jeśli nazwa została wcześniej rozwiązana:

RLbBNxg06ykjZ

Cache czyszczony jest po każdym restarcie komputera, natomiast można go też wyczyścić ręcznie, wykonując w konsoli polecenie:

Linia 1. ipconfig prawy ukośnik flushdns.

Jeśli i w cache’u resolver nie odnajdzie interesującego go wpisu (czyli rozwiązania nazwy), dopiero wtedy następuje komunikacja z zewnętrznym serwerem DNS.

DNS – rodzaje zapytań

Zapytania do serwerów DNS mogą być zapytaniami rekurencyjnymi lub też iteracyjnymi. Rekurencja wymaga od serwera podania adresu IP, którego żąda klient lub też zwrócenia komunikatu o błędzie, np. o niepoprawnej nazwie domenowej. W przypadku iteracji serwer zobligowany jest do podania najlepszej możliwej informacji, jaką obecnie posiada. Może to być – ale wcale nie musi – adres serwera, o którego jest odpytywany, może to być np. informacja: gdzie dalej wysłać zapytanie, aby otrzymać stosowną odpowiedź.

Załóżmy, że chcemy wejść na stronę docs.microsoft.com. Resolver wysyła zapytanie rekurencyjne zamiany nazwy do serwera, który jest do niego przypisany w konfiguracji.

Animację obrazującą przebieg zapytania DNS znajdziesz w sekcji „Jak działa DNS”.

DNS – rodzaje rekordów

Dane na serwerach DNS, jak w każdej bazie danych, przechowywane są w rekordachrekordrekordach. Każde odwzorowanie nazwy na IP, i nie tylko, zapisane jest w postaci pojedynczego rekordu. Typów rekordów DNS jest mnóstwo, najważniejsze z nich znajdziecie w tabeli poniżej:

Rodzaj rekordu

Opis

A

Mapowanie nazwy na IPv4

AAAA

Mapowanie nazwy na IPv6

CNAME

Alias nazwy rekordu, pozwala używać kilku rekordów odnoszących się do jednego hosta

MX

Mapowanie nazwy domeny na nazwę serwera mailowego

PTR

Mapowanie adresu IP na nazwę hosta

NS

Rekord określający adres serwera dla domeny/strefy

SOA

Rekord określający serwer autorytatywny dla domeny/strefy

SRV

Rekord zawierający informację o lokalizacji określonej usługi

ISDN

Mapowanie nazwy hosta na numer telefonu

KEY

Identyfikacja klucza publicznego dla domeny

SIG

Rekord podpisu kryptograficznego

Polecenia konsoli Windows związane z usługą DNS:

  • ipconfig /all – wyświetla rozszerzoną konfigurację IP hosta, w tym adres serwera DNS przypisany do urządzenia,

  • ipconfig /displaydns – wyświetla zawartość pamięci podręcznej resolvera,

  • ipconfig /registerdns – rejestruje klienta w domenie DNS,

  • nslookup – wyświetla informacje związane z serwerem DNS obsługującym klienta.

Słownik

DNS
DNS

usługa sieciowa zamieniająca nazwy domenowe na adresy IP hostów w sieci i odwrotnie

domena
domena

zapisany przy pomocy słów adres strony WWW, konkretnego urządzenia lub usługi, a także całej sieci, znajdujący się pod kontrolą serwera DNS

NASK
NASK

Naukowa i Akademicka Sieć Komputerowa pełniąca rolę krajowego rejestru nazw internetowych w domenie .pl oraz .gov.pl.

rekord
rekord

informacja zapisana w bazie danych, odnosząca się do danego obiektu

VPN
VPN

wirtualna sieć prywatna; technologia pozwalająca m.in. połączyć się z lokalną siecią firmową poprzez internet