DNS – Cachovací DNS servery

  DNS, Domény a DNS, Teorie DNS

Mimo autoritativních DNS serverů, které jsou hlavními nositeli informací o doménách, existuje ještě další typ DNS serverů – tzv. cachovací. Jakýkoliv klient, který potřebuje pracovat s doménovými názvy, by v běžném případě musel pro překlad každého doménového názvu vždy obeslat množství DNS serverů s dotazy na záznamy pro každou část domény. To je však nešetrné a zbytečné, protože DNS záznamy se tak často nemění. Navíc čím více se ve stromě blížíme kořeni, tím je pravděpodobnost změny v záznamech nižší a nižší. Například je zřejmé, že seznam DNS serverů pro TLD se bude měnit jen jednou za velmi dlouhou dobu a je zbytečné se neustále dokola na to ptát kořenových DNS serverů a zatěžovat je i sebe.

Zde přichází na řadu cachovací DNS servery, které jednotlivým klientům (klienty jsou zde myšleni koncoví uživatelé Internetu – pracovní stanice, jednotlivé aplikační servery apod.) zprostředkovávají celý mechanismus překladů názvů a IP adres a průběžně získávaná data si ukládají do paměti. Průběžně zde znamená, že si neukládají nejenom výsledné údaje (např. IP adresy pro požadované doménové názvy), ale také veškeré mezivýsledky, tj. zjištěné autoritativní servery pro všechny uzly na cestě ve stromu od kořeni až k cíli.

Další motivací pro tyto DNS servery je představa, že mezi koncovým uživatelem Internetu a samotným Internetem je úzké hrdlo, např. v podobě vytáčené linky, kde je třeba se vyvarovat intenzivní komunikaci s DNS servery po celém světě. Proto každý poskytovatel připojení k Internetu svým zákazníkům poskytuje cachovací DNS server, který všechny záležitosti klientům obstará a ke klientovi již putuje jen finální odpověď.

Zde však vyvstává otázka, jak dlouho si mohou cachovací DNS servery držet nějakou informaci v paměti. Proto ke slovu přichází hodnota TTL (Time To Live), uvedená u každého záznamu v DNS, která udává dobu, po kterou si mohou DNS servery danou hodnotu cachovat. Po uplynutí tohoto času je nutné hodnotu v paměti zahodit a opět se zeptat příslušných autoritativních DNS serverů.

Pro zajímavost lze uvést, že NS záznamy kořenové domény mají TTL 6 dní, NS záznamy pro doménu cz mají TTL 5 hodin, NS pro cuni.cz 1 den, NS pro mff.cuni.cz 8 hodin. Ale například A záznam pro „www.seznam.cz“ má TTL pouhých 300 vteřin, tedy 5 minut.

Při rozhodování o nastavení TTL je nutné brát v úvahu dva protichůdné požadavky – zajistit, aby se musely dotazy provádět co nejméně, a na druhou stranu aby se v případě změny nové hodnoty záznamů co nejdříve rozšířily po světě. Je tedy nutné uvážit, jaká je pravděpodobnost, že se záznamy měnit budou.

Zpětná vazba je dočasně nedostupná, máte-li k návodu dotaz nebo připomínku, napište nám přes kontaktní formulář.