O doménách a DNS

Přenosové protokoly internetu identifikují jednotlivé uzly sítě (počítače, které poskytují ostatním určité služby) prostřednictvím tzv. IP adres, které jsou celosvětově unikátní. IP adresa je v případě staršího přenosového protokolu IP zápis čísel oddělený tečkami – 217.31.201.43 - nebo v případě novějšího protokolu IP zápis čísel a písmen oddělených dvojtečkami – 2001:200:8002:203:47ff:fea5:3085.

Takto tvořené adresy jsou pro člověka velmi těžko zapamatovatelné, podobně jako je těžké zapamatovat si větší množství telefonních čísel. Proto existují telefonní seznamy, ve kterých lidé přidělují jednotlivým telefonním číslům jejich majitele. V případě volání se v telefonním seznamu přístroje vybere jméno volaného, stiskne se tlačítko pro volání a telefon sám vytočí konkrétní telefonní číslo, přiřazené k danému jménu.

Obdobným způsobem jako telefonní seznam funguje systém DNS (Domain Name System) pro IP adresy. Umožňuje přiřadit k číselné IP adrese určité symbolické jméno, tzv. jméno domény, které si uživatelé snadno zapamatují a dokážou jej i intuitivně napsat např. do webového prohlížeče (vím, že česká firma se jmenuje XY, do vyhledávače zadám www.XY.cz). Prohlížeč se podobně jako telefon podívá do "seznamu", najde správný záznam a automaticky se připojí na IP adresu, odpovídající doménovému jménu a stránku uživateli zobrazí.

Pokud by seznam jmen domén byl pouze jeden, nastaly by problémy. Všichni by chtěli nazvat svůj server pro elektronickou poštu „mail“ nebo by chtěli pojmenovávat své počítače jmény majitelů. Stejné jméno by v takovém případě muselo odpovídat více adresám, což není možné. Lidé by tak začali používat různé kryptické názvy, které by bylo těžké si zapamatovat, a systém by tím pádem přestal splňovat svůj základní účel. Druhým problémem by se stala velikost seznamu, ve kterém by byly uloženy informace pro celý svět.

Řešením výše uvedených problémů bylo zavedení určité hierarchie. Jména domén byla rozdělena na domény jednotlivých úrovní, které se oddělují tečkou a jejichž celý zápis za sebou tvoří plně kvalifikované jméno domény – např. mail.nic.cz. Jednotlivé úrovně jsou číslované pozpátku. Poslední část jména je doména první úrovně nebo také doména nejvyšší úrovně (TLD – Top Level Domain), v našem předchozím příkladě "cz". Následuje doména druhé úrovně (SLD – Second Level Domain), v našem případě "nic". Dále následují domény třetí, čtvrté, páté a dalších úrovní (ty již nemají žádné speciální názvy). Náš příklad obsahuje ještě doménu třetí úrovně – “mail“.

Díky hierarchii se zvětšil prostor pro tvorbu jmen domén. Stačí tedy, aby jednotlivá jména byla unikátní pouze v rámci dané úrovně. Protože není nutné mít seznam na jednom místě, ale stačí mít ke každé doméně pouze informaci o všech jejích subdoménách další úrovně, došlo ke zjednodušení hierarchického uspořádání systému domén. Tím vzniká z jednotlivých úrovní doménový strom. Kořen doménového stromu obsahuje informaci o všech TLD doménách jako .com, .cz, .de .fr a tak dále. Každá z těchto TLD má pak svůj registr všech SLD domén. Například registr domény nejvyšší úrovně .cz obsahuje veškeré domény druhého řádu - např. nic.cz, seznam.cz, idnes.cz atd. Obdobně každá z těchto domén druhého řádu má i seznam domén třetího řádu - např. www.nic.cz, enum.nic.cz, fred.nic.cz atd. Na stejném principu roste doménový strom až k doménám libovolného řádu.

Doménový strom

Každý registr domén má svou organizaci či osobu, která je jeho správcem a určuje pravidla pro registraci jmen domén pro subdomény. Všechny správce národních TLD domén lze najít v seznamu zemí na stránkách IANA. Pravidla obvykle určují:

  • Jak jméno domény může vypadat, jaké znaky může obsahovat, jak může být dlouhé apod.
  • Zda jsou nějaká omezení v tom, kdo si jméno domény může registrovat
  • Způsob registrace
  • Kolik stojí registrace vlastní domény apod.

Některé registry jsou více otevřené a umožňují registrovat jméno domény prakticky komukoliv. U jiných jsou pravidla striktnější, záleží na správci domény. O pravidlech registrace domén .cz se dozvíte více v sekci Pravidla a postupy.

Informace o doménách jsou fyzicky uloženy na tzv. jmenných serverech (Name Servers). A to buď jako přímá informace o IP adresách, náležejících danému jménu domény, nebo formou odkazu na jiný jmenný server, který pro dané jméno domény následuje v doménovém stromu, tzv. delegace. Tomu odpovídá použití DNS v praxi, které vypadá následovně:
Každý počítač má nastaven jmenný server, který používá pro překlad jmen. Když uživatel počítače použije jméno domény tím, že je napíše do řádku adresy ve webovém prohlížeči, počítač pošle dotaz, jaká IP adresa odpovídá tomuto jménu domény, jmennému serveru. Ten buď dotaz zodpoví přímo, pokud dotazované jméno domény zná, anebo dotaz předá dál, dalším jmenným serverům v doménovém stromu, viz následující příklad.

Vezměme uživatele, otevírajícího ve svém prohlížeči webovou stránku www.nic.cz. Počítač tohoto uživatele pošle dotaz na jméno www.nic.cz lokálnímu DNS serveru a ten postupuje dle následujícího schématu.

DNS dotaz

  1. Lokální DNS server se zeptá na jméno www.nic.cz některého z kořenových serverů
  2. Ten odpověď nezná, ale jelikož zná alespoň kam je delegována doména .cz, pošle seznam jmenných serverů pro doménu .cz
  3. Lokální DNS použije informaci od kořenového serveru a zeptá se jednoho z těchto serverů na jméno www.nic.cz
  4. Server opět odpověď nezná, ale jelikož obsahuje informaci o všech subdoménách .cz, pošle nazpět informaci o tom, který další server obsahuje doménu nic.cz
  5. Lokální server postupuje dále a zeptá se jednoho ze serverů, které poskytují doménu nic.cz, na jméno www.nic.cz
  6. Dotázaný server obsahuje informaci o všech subdoménách nic.cz, takže www.nic.cz zná a pošle zpět odpověď, že jménu www.nic.cz odpovídá IP adresa 217.31.201.43

Tuto adresu poskytne lokální DNS server zpět počítači uživatele. Ten se poté spojí s www serverem na příslušné adrese, stáhne obsah stránky a zobrazí jej uživateli na obrazovce.

Jak funguje DNS

Jak funguje DNS

Chcete vědět jak funguje DNS? Podívejte se na video na naší mikrostránce: www.jakfungujedns.cz.

DNSSEC

DNSSEC je rozšíření systému DNS, které zvyšuje bezpečnost služby jmen domén. DNSSEC zvyšuje bezpečnost při používání DNS tím, že brání podvržení falešných, pozměněných či neúplných údajů o jménech domén.

Více informací najdete na stránce DNSSEC.

Další zdroje o DNS

Kurzy DNS a DNSSEC

Seznamte se podrobně s technologiemi DNS a DNSSEC na praktických kurzech Akademie CZ.NIC.

Organizace spravující DNS systém

Organizace doménových registrů