Co se stane, když (DNS)

< Zpět

 

Haló, tady DNS

Z předchozího článku Doménová jména jsou pro lidi, už víš, co je DNS. Internetový „telefonní“ seznam s automatickou obsluhou, která na žádost tvého počítače sdělí ochotně IP adresu serveru, který chceš navštívit.

Jenže tady tě může napadnou otázka: A to ten DNS server, kterého se ptám, zná všechny IP adresy všech webových stránek?

To je jen jeden DNS server?

Vždyť jen v roce 2021 bylo celosvětově registrováno 367 milionů doménových jmen. A podle serveru Quora, který se zabývá měřením různých statistik na Internetu, přibývá 33.000 nových doménových jmen denně.
A to by opravdu jeden počítač nezvládl. Nehledě na to, že by nebyla zajištěna tzv. redundance, tedy zastupitelnost takového serveru. Kdyby existoval jen jeden a náhodou by byl mimo provoz, zastavil by se celý internet.

Služba DNS je službou distribuovanou. To znamená, že existuje spousta jednotlivých DNS serverů a ty mají uloženu jen část informací o doménách a jejich IP adresách. Co je ale podstatné, vždy mají také uloženou adresu nadřazeného DNS serveru pro případ, že sami nebudou znát odpověď.

Jak počítač pozná, kterého DNS serveru se má ptát?

Jednoduše, má to napsáno ve své konfiguraci. A platí určitá norma (protokol), která říká, jak bude dotaz na překlad doménového jména na IP adresu probíhat.
Pomáhá mu v tom také doménové jméno, které má v sobě zakódovány části, podle kterých se pak počítač může orientovat.
Jak probíhá dotaz na překlad doménového jména z pohledu webového prohlížeče:

1) Zadáš do řádku adresy prohlížeče adresu webu, který chceš navštívit. Třeba www.learniga.cz.

2) Prohlížeč se nejprve podívá do své cache [keš]. Cache je dočasné „příruční“ úložiště, kam si během tvého brouzdání internetem zapisuje nejčastěji navštěvované stránky a jejich IP adresy. Pokud nenajde shodu, pokračuje s dotazem dále.

3) Další v pořadí je operační systém tvého zařízení, který má ve svých souborech jeden speciální. Jmenuje se Hosts. Jedná se o obyčejný textový soubor, který  na jednotlivých řádcích má informaci o IP adrese následovanou doménovým jménem.

Příklad souboru Hosts (řádky nebo části řádku za znakem # jsou komentáře a ignorují se).
#Ukázkový soubor Hosts
102.54.94.97 rhino.acme.com
38.25.63.10 x.acme.com
# localhost name resolution is handle
# within DNS itself.
127.0.0.1 localhost
::1 localhost

4) Když soubor Hosts neobsahuje hledanou stránku a její IP adresu, ptá se tvůj počítač dalšího v pořadí a tím je DNS server tvého routeru (tzv. výchozí brány). Router je krabička, přes kterou se připojuje tvé zařízení do internetu. A ta má také svůj malý DNS server.

5) Jestli ani na routeru není v DNS záznamech nalezena požadovaná doména, je dotaz přesměrován na DNS servery Tvého poskytovatele připojení. Ty zná tvůj počítač nebo router z nastavení své konfigurace síťové karty. V nastaveních se uvádí IP adresy tzv. primárního a sekundárního DNS serveru. Díky tomu je požadavek předám dále. Zde už většinou tvůj prohlížeč uspěje. Kdyby ale přeci jen ne. Postupuje se dále.

Poznámka:
Všimni si, jak vypadá doménové jméno:
www.learniga.cz.
Ne, ta tečka na konci adresy není chyba, je velmi důležitá. Jen se běžně při zapisování doménových jmen neuvádí. Počítače s tím takt trochu počítají a doplňují si ji sami.

6) Tedy počítač neuspěl s hledáním ani u DNS serverů tvého internetového providera. Je třeba hledat dál. A to kde hledat, je zakódováno právě v doménovém jméně. Počítač ho čte odzadu. Začíná onou tečkou.

7) Tečka je odkaz na tzv. Root Domain (kořenovou doménu). V kořenové doméně je 13 serverů, které poskytují informace o dalších DNS serverech v tzv. doméně 1. řádu. Doména prvního řádu, též nazývaná Top Level Domain (TLD), tedy nejvyšší doména. V našem příklady by nás kořenový DNS server přesměroval na DNS server pro doménu 1. řádu „cz“. Kořenové DNS servery udržují informace o tom, kde jsou umístěny seznamy pro domény 1. řádu. Domén prvního řádu je celosvětově skoro 1600 (údaje z roku 2023). My je z adresy známe jako: .cz, .sk, .eu, .com, .net, .org. Nově se objevují i domény víceznakové, jako třeba: .aero, .cars, .education, apod.

8) Dotaz putuju k serveru, který spravuje doménu CZ. Ten už má informaci, který další DNS server má záznamy k doméně learniga.cz (tento server je již v tzv. doméně 2. řádu). A dotaz přepošle tam.

9) Pokud je uvedena ještě doména 3. řádu, tedy třeba www.learniga.cz nebo eshop.learniga.eu, vyhodnotí se ještě na DNS serveru konkrétní domény tato shoda a tvému počítači se vrací odpověď s hledanou IP adresou.

10) V našem případě dorazí odpověď s adresou 81.91.86.14. Prohlížeč pak dle protokolu (HTTP, HTTPS, FTP) zahájí navázání komunikace s tímto počítačem (serverem).

I když vidíš, že k získání IP adresy je potřeba hodně kroků, vše probíhá světelnou rychlostí. Všechny tyto kroky proběhnou v řádech milisekund, maximálně setin sekundy. A tvůj počítač během chvíle ví, kde hledat to správné místo na webu.

Shrnutí

DNS slouží jako distribuovaná služba, která překládá doménová jména na IP adresy, a to prostřednictvím celé sítě serverů, které uchovávají různé části databáze internetových domén. Když zadáš doménové jméno do prohlížeče, systém DNS krok za krokem lokalizuje odpovídající IP adresu, a to až po potřebný server, který zná konečnou adresu pro navázání spojení.

I počítače si podávají ruce

Počítače jsou stroje a neznají se. Když ale chceme, aby si vzájemně vyměňovaly informace, musejí nejprve navázat společnou komunikaci. Víš jak to dělají? Podají si ruce.

Chi číst dále