Co se skrývá za zkratkou DNS? Klíč k fungování internetu

27.03.2024

Jak je možné, že se web zobrazí po zadání pomocí snadno zapamatovatelného doménového jména (třeba www.vrbacky.com)? Vždyť adresy na servery jsou nezapamatovatelná čísla, tzv. IP adresy. Odpověď je prostá: Protože existuje Domain Name System (DNS), který umožňuje velmi rychlé a spolehlivé přeložení doménového jména do IP adresy, která je pro komunikaci potřeba.

prvky DNS – DNS Servery a komunikace s nimi

Potemnělé datacentrum se servery a roysvícenou chodbou na konci

DNS je založený na síti vzájemně propojených a komunikujících počítačů, tzv. DNS serverů, které fungují podobně jako telefonní seznam. Uchovávají DNS záznamy a odpovídají na dotazy s žádostí o přeložení čitelného doménového jména na IP adresu. DNS serverů jsou 3 typy:

  • Rekurzivní DNS server je první server, na který váš dotaz na IP adresu čitelného doménového jména narazí. Jeho úkolem není dlouhodobě ukládat záznamy, ale řídit dotazování na servery vyšších úrovní. I rekurzivní servery ale mohou po určitou dobu DNS záznamy uchovávat ve vyrovnávací paměti. V případě opakovaného dotazu na stejné doménové jméno tak odpoví rovnou rekurzivní server a vše se urychlí. Tyto servery mohou provozovat např. poskytovatelé internetového připojení.
  • Autoritativní DNS servery jsou určeny pro dlouhodobé ukládaní DNS záznamů a obsahují informace o konkrétních doménách. Všechny adresy nelze uložit na jeden server. Proto i v autoritativních serverech existuje jasně definovaná hierarchie a pokud některý server IP adresu poptávaného odkazu neví, odpoví adresou dalšího serveru, kde je potřeba se zeptat. V praxi to zjednodušeně funguje tak, že každá doména prvního řádu má své vlastní autoritativní servery, jejichž adresu lze zjistit dotazem na kořenový server (viz níže). Další autoritativní servery jsou určené pro domény druhého řádu. Jejich adresu lze zjistit dotazem na autoritativní server domény prvního řádu. Stejně je možné na dalších serverech poptat adresy na domény třetího řádu atd.
  • Servery nejvyšší údovně DNS se nazývají kořenové servery. Těch je v době vydání článku 13. Tyto servery neobsahují DNS záznamy, ale kořenový zónový soubor (root zone file) s informacemi o autoritativních DNS serverech pro nejvyšší úrovně doménového systému, tedy domény prvního řádu. Z dotazu na kořenový server se tedy rekurzivní server dozví, na jaké adrese zjistí informace o doméně prvního řádu, která se nachází v mé adrese.

DNS serverů se ale musí někdo zeptat. Proto na začátku řetězce stojí tzv. DNS resolver. Služba, která může běžet i na lokálním počítači v operačním sytému nebo prohlížeči a klade dotazy na DNS servery, pokud někdo potřebuje přeložit nějaký DNS záznam. I DNS resolver má navíc vlastní vyrovnávací paměť. V případě opakovaně používaných dotazů se tedy nemusí DNS serverů ptát vůbec a IP adresa se zjistí hned.

Příklad, jak DNS funguje

Schéma s počítačem a symboly DNS serverů s šipkami a čísly, v jakém pořadí probíhá komunikace.

Zní to složitě, ale ono to vlastně tak složité není. Stačí to vysvětlit na jednoduchém příkladu. Postup, jak funguje DNS, je zhruba následující:

  • Zadáte adresu (např. vrbacky.com) do vašeho prohlížeče. DNS resolver se zeptá rekurzivního DNS serveru, jaká IP adresa jí odpovídá.
  • Pokud nedávno stejný dotaz již někdo položil, bude odpověď ve vyrovnávací paměti rekurzivního serveru a ten odpoví rovnou.
  • Pokud rekurzivní server odpověď nezná, zeptá se kořenového serveru, kde má hledat údaje k adresám s doménou prvního řádu vaší adresy. Jako odpověď dostane v našem příkladu IP adresy autoritativních DNS serverů pro doménu .com.
  • Rekurzivní server se zeptá autoritativního serveru domény prvního řádu. Tento server odpoví seznamem IP adres autoritativních serverů se záznamy pro domény druhého řádu, které mají tuto doménu prvního řádu. V našem případě pro domény, které mají koncovku .com.
  • Rekurzivní server se zeptá zjištěného autoritativního serveru a konečně od něj získá IP adresu serveru, který jste poptávali.
  • Nakonec se IP adresa dostane od rekurzivního serveru až k vašemu DNS resolveru a vy se můžete připojit k serveru, o jehož IP adrese nemáte ani tušení. Je to trochu pohádka o slepičce a kohoutkovi, ale trvá to pouze zlomky sekund.

Chcete se dozvědět něco víc?

Pokud máte pocit, že byste se chtěli dozvědět něco navíc, napište mi. Buď se vám ozvu přímo nebo k tomu připravím nový článek.