DNS – Caching DNS serwery

  DNS, Domeny i DNS, Teoria DNS

Poza autorytatywnymi serwerami DNS, które są głównymi nośnikami informacji o domenach, istnieją także tzw. caching serwery. Każdy klient, który chce pracować z domenami, dla przetłumaczenia ich nazw musiałby w standardowym przypadku wysłać serwerom DNS wiele zapytań o rekordy każdej części domeny. Jest to jednak zbędne, ponieważ rekordy DNS nie ulegają zmianie tak często. Ponadto im bardziej zbliżamy sie do korzenia drzewa, tym bardziej maleje prawdopodobieństwo zmiany w rekordach. Na przykład oczywiste jest, że lista serwerów DNS dla TLD ulega zmianie raz na bardzo długi czas i ciągłe wypytywanie,a tym samym obciążanie korzeniowych serwerów DNS nie ma sensu.


Z pomocą przychodzą caching DNS serwery, które umożliwiają pośrednictwo w całym mechanizmie tłumaczenia nazw i  adresów IP poszczególnym klientom (klienci są rozumiani jako końcowi użytkownicy internetu – stacje robocze, poszczególne serwery aplikacji itp.), a pozyskiwane dane sukcesywnie zapisują w swojej pamięci. Sukcesywnie oznacza tutaj, że zapisywane są nie tylko dane wynikowe (np. adresy IP dla danych nazw domen), ale także dane pośrednie, w tym zidentyfikowane serwery autorytatywne dla wszystkich węzłów w ścieżce, od korzenia aż do miejsca docelowego.  

Kolejnym argumentem za korzystaniem z tych serwerów DNS jest fakt, że między końcowym użytkownikiem Internetu, a samym Internetem istnieje wąskie gardło, np. w postaci linii dial-up, gdzie należy unikać intensywnej komunikacji z serwerami DNS na całym świecie. Dlatego każdy dostawca usług internetowych oferuje swoim klientom caching DNS serwer, który zajmie się sprawami danego klienta, a jemu przekaże jedynie wynik końcowy.  

Nasuwa się jednak pytanie, jak długo caching DNS serwery mogą przechowywać dane informacje w pamięci. W tym momencie warto wspomnieć o wartości TTL (Time To Live), która jest podawana dla każdego rekordu DNS i określa, jak długo serwery DNS mogą daną wartość cachować. Po tym czasie należy usunąć daną wartość z pamięci i ponownie wysłać zapytanie do odpowiednich, autorytatywnych serwerów DNS.

Jako ciekawostkę możemy podać, że rekordy NS domeny korzeniowej mają TTL 6 dni, rekordy NS domeny cz mają TTL 5 godzin, rekordy NS domeny cuni.cz 1 dzień, rekordy NS mff.cuni.cz 8 godzin. Ale na przykład rekord A dla „www.seznam.cz” ma tylko TTL 300 sekund, tj. 5 minut.

Przy określaniu TTL, konieczne jest uwzględnienie dwóch sprzecznych kwestii  – zapewnienie, aby zapytania były wysłane jak najrzadziej, a jednocześnie, aby w przypadku zmiany wartości rekordów, informacje rozprzestrzeniły się po świecie tak szybko jak to możliwe. Konieczne jest więc rozważenie, jakie jest prawdopodobieństwo zmiany rekordów.