Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

Cesta DNS dotazu

Modul 1: Co je DNS? · Doba čtení: 8 min

Cíl lekce: Po této lekci dokážete krok za krokem vysvětlit, jak resolver najde odpověď, a kde se odpovědi cestou ukládají do paměti.

Klíčové pojmy: resolver (rekurzivní), kořenový server, server TLD, autoritativní jmenný server, odkaz (delegace), cache

Dva druhy DNS serverů

V lekci 1.1 jste viděli, že DNS je rozdělený: nikdo neví všechno. Jak se tedy Váš prohlížeč dostane k adrese www.example.com? Spolupracují na tom dva druhy serverů:

  • Autoritativní jmenné servery (anglicky authoritative) znají odpověď pro svou vlastní část. Jmenné servery domény example.com znají záznamy domény example.com. Pro nikoho jiného nic nevyhledávají.
  • Resolvery (také rekurzivní resolvery) hledají odpověď za Vás. Ptají se tak dlouho, dokud ji nezískají. Váš poskytovatel internetu má resolver a existují i veřejné resolvery, například od Quad9, Cloudflare nebo Google.

Váš počítač sám téměř nic nevyhledává. Má malý stub resolver, který předá dotaz resolveru Vaší sítě a dostane zpět odpověď.

Cesta krok za krokem

Řekněme, že resolver si zatím nic nepamatuje a Vy žádáte o záznam A pro www.example.com.

  1. Váš počítač se zeptá resolveru: "Jaký je záznam A pro www.example.com?"
  2. Resolver se zeptá kořenového serveru. Každý resolver má zabudovaný seznam adres kořenových serverů. Kořenový server nic neví o example.com, ale ví, kdo spravuje .com. Odpoví odkazem: "To musíte zjistit u jmenných serverů pro com: a.gtld-servers.net, b.gtld-servers.net a tak dále."
  3. Resolver se zeptá jmenného serveru domény .com. Ten také nezná IP adresu www.example.com, ale ví, které jmenné servery má example.com. Opět odkaz: "Zeptejte se na ns1.hosting.example nebo ns2.hosting.example."
  4. Resolver se zeptá jmenného serveru domény example.com. Ten je pro tuto doménu autoritativní a dá odpověď: "www.example.com má záznam A 192.0.2.10."
  5. Resolver předá odpověď Vašemu počítači. Váš prohlížeč naváže spojení s 192.0.2.10.

Odkaz z vyšší úrovně na jmenné servery nižší úrovně se nazývá delegace. Root deleguje .com na Verisign, .com deleguje example.com na jmenné servery, které zadal držitel domény. U domény .nl to funguje úplně stejně, jen root odkazuje na jmenné servery .nl (SIDN, například ns1.dns.nl). To uvidíte sami v úkolu na konci této lekce. Proto je tak důležité, aby jmenné servery u registru souhlasily (lekce 2.1).

Cache: ne pokaždé celou cestu

Kdyby resolver při každém dotazu začínal znovu u rootu, dostával by root nepředstavitelné množství dotazů. To se neděje, protože resolver si odpovědi na chvíli pamatuje. Tato paměť se nazývá cache.

Jak dlouho se odpověď smí pamatovat, je uvedeno přímo v odpovědi: TTL (time to live), v sekundách. TTL 3600 znamená: tuto odpověď lze pamatovat hodinu. Pamatují se i odkazy. Resolver, který se právě dozvěděl, jaké jmenné servery má .com, se na to příště nemusí znovu ptát rootu.

Pokud se o minutu později zeptá na www.example.com někdo jiný u stejného poskytovatele, resolver odpoví rovnou ze své cache. Žádná cesta, žádné čekání.

Cache se nachází na více místech:

  • v resolveru Vašeho poskytovatele nebo veřejného resolveru, který používáte;
  • ve Vašem operačním systému (Windows, macOS, Váš telefon);
  • ve Vašem prohlížeči;
  • někdy ve Vašem routeru.

To je rychlé a efektivní, ale má to důsledek, se kterým se později často setkáte: pokud změníte záznam, cache budou ještě chvíli vracet starou odpověď, dokud neuplyne jejich TTL. Proto jeden uživatel změnu už vidí a druhý ještě ne. Podrobně se tomu věnuje modul 6.

Kořenové servery

Existuje 13 názvů kořenových serverů: a.root-servers.net až m.root-servers.net. Spravuje je dvanáct různých organizací. Za každým názvem stojí po celém světě mnoho serverů na stovkách míst, které sdílejí stejnou adresu (tomu se říká anycast). Váš resolver se automaticky dostane k tomu nejbližšímu. Stejně tak fungují i jmenné servery TLD, například pro .com a .nl. Díky tomu je DNS rychlý a funguje dál, i když někde server vypadne.

Kde může nastat problém

Když znáte cestu, dokážete problémy lépe zařadit:

  • Delegace nesouhlasí. U registru jsou uvedené jmenné servery, které doménu (už) neznají. Resolver se pak v kroku 4 nedostane dál. Odpovědí je chyba, nebo nepřijde odpověď vůbec.
  • Autoritativní server má jinou odpověď, než čekáte. Záznam jste pak změnili na jiném místě, než kde jsou jmenné servery (lekce 2.1).
  • Cache má ještě starou odpověď. Pak nic není rozbité. Musíte počkat, až uplyne TTL, nebo si vyprázdnit vlastní cache.
  • DNSSEC nesouhlasí. Validující resolver cestou kontroluje podpisy. Pokud řetězec nesouhlasí, odpověď odmítne (lekce 8.1).

Pomocí nástroje dig +trace si můžete celou cestu sami zopakovat, od rootu až po autoritativní server. To se naučíte v lekci 8.2. Umí to i online nástroje.

Shrnutí

  • Autoritativní jmenné servery znají odpověď pro svou vlastní doménu; resolvery za Vás odpověď vyhledávají.
  • Resolver začíná u rootu, dostane odkaz na TLD, pak na jmenné servery domény, a tam získá odpověď.
  • Takovému odkazu se říká delegace.
  • Odpovědi se pamatují v cache, a to tak dlouho, jak udává TTL; proto nejsou změny všude vidět okamžitě.
  • Existuje 13 názvů kořenových serverů, ale díky anycastu za nimi stojí celosvětově mnoho serverů.

Kvíz

1. Který server za Vás vyhledá odpověď tím, že se ptá dalších serverů?



2. Co odpoví kořenový server na dotaz na www.example.com?



3. Proč resolver nemusí při každém dotazu začínat u rootu?



4. Existuje 13 názvů kořenových serverů. Znamená to, že na světě je 13 kořenových serverů?



Úkol

Úkol Z1.4: Sledování cesty. Sledujte cestu pro www.sidn.nl (webové stránky SIDN, registru domény .nl v Nizozemsku) pomocí dig +trace www.sidn.nl nebo online nástroje, který zobrazí trasování. Vyplňte: (1) jeden jmenný server domény nl., se kterým se cestou setkáte, (2) jeden autoritativní jmenný server domény sidn.nl.

Úkol Z1.4: Sledování cesty



Co vyplníte a co zjistíme online, neukládáme. Váš prohlížeč si pamatuje Vaše odpovědi a to, zda jste úkol splnili. Pokud jste přihlášeni, uložíme pouze informaci, že jste úkol měli (téměř) správně, v Moje kurzy; tam to také můžete odstranit.

Doporučené další čtení

Tyto články popisují situaci u WebOké. U jiných poskytovatelů to funguje podobně.

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…