DNS - Postup překladu doménového názvu

Vysvětlení práce DNS systému a překladu doménového názvu na IP adresu na konkrétním příkladu.

Datum: 09.03.2010


Pro konkrétní představu si na ukázkovém příkladu znázorníme, jak z doménového názvu „www.mff.cuni.cz“ získáme příslušnou IP adresu (tedy A záznam). Překlad začíná v kořeni celé hierarchie a spočívá v tom, že se v každém uzlu zeptáme, kterým směrem máme jít při našem hledání dál. Začínáme tedy v u kořenové domény, jejímiž autoritativními DNS servery jsou:

  • a.root-servers.net
  • b.root-servers.net
  • c.root-servers.net
  • d.root-servers.net
  • e.root-servers.net
  • f.root-servers.net
  • g.root-servers.net
  • h.root-servers.net
  • i.root-servers.net
  • j.root-servers.net
  • k.root-servers.net
  • l.root-servers.net
  • m.root-servers.net

Tyto kořenové DNS servery, jejich provoz, dostupnost a obsah má na starost již zmíněná organizace ICANN. Jejich názvy (a taktéž IP adresy) jsou všeobecně známé a pevně dané, jejich seznam musí mít k dispozici každé zařízení v síti Internet, které chce provádět překlad doménových názvů (musí z něčeho vycházet). Tyto kořenové DNS servery evidují seznam existujících subdomén (v tomto případě seznam existujících TLD) a k nim příslušné autoritativní DNS servery. Dotážeme-li se některého z nich na doménu www.mff.cuni.cz, sdělí nám, že celou tuto doménu nezná, ale že zná doménu cz a jejími autoritativními DNS servery jsou:

  • ns.tld.cz
  • nss.tld.cz
  • ns-cz.ripe.net
  • ns-ext.isc.org
  • c.ns.nic.cz
  • e.ns.nic.cz

Tím nám kořenový DNS server sdělil, kterou cestou se máme vydat dál k požadovanému výsledku. Ve stromě se tedy posouváme do uzlu cz, vybereme si jeden z jeho autoritativních DNS serverů (např. ns.tld.cz) a opět vzneseme dotaz na doménu www.mff.cuni.cz. Server nám na to odpoví, že celé toto jméno nezná, ale zná doménu cuni.cz a její autoritativní DNS servery jsou ns.ces.net a golias.ruk.cuni.cz. Pak se zeptáme třeba serveru ns.ces.net, ten nám sdělí autoritativní DNS servery pro doménu mff.cuni.cz a v dalším kroku budeme v cíli.

K uvedenému postupu je nutno podat několik vysvětlení. Především bylo řečeno, že se lze v kterémkoliv kroku zeptat libovolného z autoritativních DNS server dané domény, v jejímž uzlu stromu se právě nacházíme. Serverů pro každou doménu je více (většinou je minimální požadavek 2 servery). První důvod je redundance, tj. při poruše jednoho ze serverů nedochází k výpadku celé domény (a tedy i celého podstromu), ale ostatní servery ho zastoupí (to je dáno mechanismem protokolu DNS, který bude vysvětlen v dalších kapitolách). Je proto zvykem (a někteří správci domén to dokonce vyžadují a v rámci možností kontrolují, např. DE.NIC), že servery pro stejnou doménu jsou rozmístěny v různých lokalitách a připojeny přes různé ISP. Mít všechny servery v jedné serverovně, připojené přes jeden přepínač a do jedné elektrické zásuvky je samozřejmě nesmysl a systém více serverů ztrácí efekt (nicméně v praxi to tak často bývá). Správci domén nulté a první úrovně si samozřejmě nic takového dovolit nemohou a např. 13 kořenových DNS serverů je rozmístěno různě po celém světě (a to celé je navíc podpořeno existencí tzv. anycastových zrcadel).

Druhý důvod pro více autoritativních DNS serverů pro jednu doménu je rozložení zátěže. Mechanismus protokolu DNS zajišťuje, že jedno zařízení se dané skupiny serverů dotazuje cyklicky, v globálním měřítku jsou pak servery přibližně rovnoměrně vytíženy.

Dalším důležitým poznatkem je to, že v každé úrovni některému ze serverů posíláme celý náš dotaz „www.mff.cuni.cz“, tedy nikoliv že bychom se serveru ns.tld.cz zeptali pouze na „cuni.cz“. Je to proto, že my jakožto dotazující se klient nikdy nemůžeme vědět, který ze serverů po cestě má celou požadovanou informaci. To, že kořenové DNS servery znají pouze domény první úrovně a autoritativní DNS servery na první úrovni znají jen domény na druhé úrovni, je jen zvyklost. Dokonce ani to přesně neplatí - například všechny kořenové DNS servery již znají přímo IP adresu pro název „ns.tld.cz“. To souvisí s tzv. glue IP adresami. Dotaz se tedy vždy posílá celý a DNS server se nám pokusí dodat co nejkonkrétnější informaci, kterou má. Od DNS serverů pro domény druhé úrovně to je již velmi variabilní.

Diskuze k článku

K tomuto článku nebyl dosud vložen žádný diskuzní příspěvek, ale můžete tak učinit jako první.

Přihlášení zákazníka

Nemáte ještě zákaznický účet? Registrace

Copyright © WEDOS, 2017

Facebook RSS