DNS - rodzaje zapytań

Damian Stelmach

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. niepoprawnej nazwie domenowej. W przypadku iteracji, zapytania iteracyjnego, serwer zobligowany jest do podania najlepszej możliwej informacji jaką obecnie posiada, z tym że 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.

Zapytanie DNS

Jeśli ten serwer posiada w swojej bazie lub buforze żądane rozwiązanie nazwy na IP, odpowiada stosownym komunikatem, zawierającymi adres IP tego szukanego serwera. Serwer posiadał adres, no to go klientowi przekazał.

Odpowiedź DNS

Jeśli rozwiązania natomiast nie posiada, to przesyła żądanie dalej, do jednego z serwerów głównych.

DNS root zapytanie

Serwer główny takiego rozwiązania posiadać nie musi, więc odeśle komunikat z informacją, jaki jest adres serwera dla domeny com.

DNS root odpowiedź

Następnie przypisany do komputera serwer DNS wyśle zapytanie do serwera autorytatywnego dla domeny com.

DNS com zapytanie

Ten również może nie mieć w swojej pamięci i bazie informacji jaki jest adres IP domeny docs.microsoft.com, ale odeśle do naszego serwera informacje z adresem IP serwera autorytatywnego dla domeny microsoft.com.

DNS com odpowiedź

Wówczas nasz serwer wyśle zapytanie do serwera autorytatywnego dla domeny microsoft.com

DNS microsoft.com zapytanie

Załóżmy, że ten posiada w swojej bazie odpowiedni rekord, odpowiednie rozwiązanie nazwy, także w odpowiedzi prześle adres IP serwera na którym jest hostowana szukana strona.

DNS microsoft.com odpowiedź

Ten adres zostanie przekazany z serwera DNS do naszego komputera i to zakończy proces rozwiązywania nazwy dla domeny docs.microsoft.com.

Odpowiedź DNS

Reasumując to co się wydarzyło tutaj:

Iteracja DNS

To były już zapytania iteracyjne, ponieważ te serwery nie wysyłały w odpowiedziach adresu IP domeny docs.microsoft.com, ale informacje, gdzie tej domeny szukać. Tak więc jak widzicie, stosuje się w procesie rozwiązywania nazw zarówno zapytania iteracyjne jak i rekurencyjne.

Tak to wygląda w teorii, jeśli chodzi o metody zapytań. Musicie jeszcze wiedzieć o tym, że na każdym z wymienionych etapów występuje proces cache’owania, czyli zapisywania już wcześniej zrealizowanych zapytań do bufora. Zdecydowanie przyspiesza to działanie systemu DNS na świecie. Gdyby za każdym razem, pojedyncze zapytanie DNS było przesyłane od serwera do serwera, jak zostało to pokazane, strasznie obciążyłoby cała sieć Internet, dlatego też w rzeczywistości proces ten nie składa się z aż tylu etapów, ponieważ poszczególne serwery zapisują rozwiązane już żądania w swoich pamięciach podręcznych.