Menu Zavrieť

DNS (Domain Name System)

Funkcia DNS

Domain Name System, známejší pod svojou skratkou DNS, je internetový štandard zahrnutý v TCP/IP. Slúži na preklad mien objektov na IP adresy či iné zdrojové záznamy (resource records). Mená objektov sa označujú ako doménové mená (domain name) a najčastejšie sa jedná o mená hostiteľov (hostname), sú to alfanumerické reťazce, ktoré sú lepšie zapamätateľné ako IP adresy. Príkladom doménového mena je

www.sosthe.sk a k nemu patrí IP adresa 194.160.184.66.

DNS ponúka aj obrátenú funkciu a to je preklad IP adries na mená objektov. K tomu sa využívajú tzv. PTR záznamy. Záznamy v DNS dnes existujú nielen pre hostname, ale aj pre rad služieb. Najpoužívanejším príkladom je MX záznam pre poštový server. Vďaka tomu nemusíme poznať ani meno servera ani jeho IP adresu, ale iba doménu, pre ktorú chceme poštový server nájsť. To využívajú iné poštové servery, keď chcú doručiť email (z emailovej adresy zistí doménu ak nej nájdu MX záznam, teda cieľ komunikácie).

Výhodou používania internetových mien je lepšia zapamätateľnosť a tiež to, že je možné zmeniť fyzické umiestnenie počítača a jeho IP adresu a pritom používať stále rovnaké meno. Pritom pre komunikáciu pomocou TCP/IP sa musia používať IP adresy. Funkciu internetu by sme si asi nedokázali bez DNS predstaviť. Microsoft na DNS postavil aj funkciu svojho firemného prostredia – domény a využíva ho napríklad pre lokalizáciu rady doménových služieb.

Protokol DNS využíva pre komunikáciu porty TCP 53 a UDP 53. Definovaný je v RFC 1035 (a rôzne funkcie v rade ďalších).

Tvorba doménových mien

Menný priestor v internete je rozdelený na domény (domain). Zodpovednosť za správu mien vnútri každej domény je delegovaná, typicky na systémy vnútri tejto domény. Tomu zodpovedá aj hierarchická organizácia serverov a spôsob tvorenia doménových mien. Podľa delegácie oprávnenia sa ešte hovorí o zónach. Väčšinou je zóna rovná jednej doméne, ale môže zahŕňať aj niekoľko domén, ktoré sú spravované jednou autoritou.

Podobne ako sú rozdelené rozsahy IP adries na siete a podsiete, tak sa delia menné názvy na domény  a subdomény. Ale napriek tomu tu nemusí byť pevná väzba medzi rozsahmi IP adries a doménových mien. Napríklad dve rôzne mená domén môžu odkazovať na rovnaké adresy.

Odbor doménových mien DNS je tvorený stromom (hierarchická štruktúra). Každý uzol stromu obsahuje informácie o doméne (ktorú spravuje, teda rôzne záznamy v danej doméne) a odkazy na subdomény. Koreňom stromu je koreňová doména, ktorá sa zapisuje ako bodka (.). Pod ňou nasledujú domény najvyššej úrovne (TLD – Top Level Domain, napríklad com a cz). Ďalej domény druhej úrovne (Second Level Domain, trebárs microsoft.com) a prípadne ďalšie subdomény.

Keď skladáme doménové meno, tak používame domény od najnižšej úrovne a zapisujeme ich zľava doprava oddelené bodkou. Teda k obrázku napr. www.samuraj-cz.com. Obrázok nie je úplne presný, pretože www nie je podriadená doména, ale záznam v doméne samuraj-cz.com.

Pre reverzný preklad IP adries na mená objektov sa využívajú pseudo domény IN-ADDR.ARPA. Z dôvodu radenia podľa významu sa používa reverzný tvar IP adresy, napr. Pre IP 192.168.0.1 je DNS záznam 1.0.168.192. IN-ADDR.ARPA.

Zónové súbory

Ako som spomenul, strom doménových mien sa delí na zóny, teda oblasti spravované jedným správcom (organizáciou). Zóna obsahuje jednu (najčastejšie) alebo viac domén. V zóne sú tiež uvedené autoritatívne informácie o spravovaných doménach. Tieto informácie poskytuje autoritatívne DNS server, teda server, ktorý je považovaný za dôveryhodný pre zónu.

Obsah zóny, jednotlivé zdrojové záznamy, je uložený v  zónovom súboru (zone file). To je väčšinou textový súbor. Medzi niektorými DNS servermi môže dochádzať k replikácii záznamov (napríklad medzi primárnym a sekundárnym NS), tomuto procesu sa hovorí zone transfer.

Nájdenie záznamu v DNS

Štandardne DNS server vykonáva rekurzívne (opakované) otázky. Najprv potrebuje vedieť, kde začať hľadať mená v prvej vrstve priestore názvov DNS. Tieto informácie sú obsiahnuté v tzv. Root hints , čo je zoznam úvodných záznamov, ktoré použije DNS služba, aby našla servery, ktoré sú autoritatívne pre koreň stromu priestoru názvov DNS domény (DNS domain namespace tree). Štandardne root hints obsahujú odkazy na 13 root serverov , ktoré sa nachádzajú po celom svete a zabezpečujú technickú infraštruktúru internetu.

Vezmeme adresu, ktorú chceme preložiť (napr. www.ssosthe.sk) a rozdelíme ju na jednotlivé domény postupne sprava. Koreňovému serveru pošleme dotaz na adresu DNS servera najvyššej úrovne (teda pre sk). Dostaneme adresu TLD NS a jeho sa opýtame na adresu autoritatívneho servera pre doménu druhej úrovne (sosthe.sk). A tak môžeme pokračovať ďalej. Na najnižšej úrovni sa opýtame už na IP adresu záznamu (www.sosthe.sk).

Typy záznamov v DNS

DNS podporuje množstvo rôznych typov záznamov a podľa typu záznamu uchováva rôzne parametre. Všeobecné parametre pre všetky typy záznamov sú menotrieda (iba IN ako internet), TTL (čas ako dlho môže byť záznam uložený v keši), typ záznamudáta záznamu. Tu uvádzam niekoľko najdôležitejších typov.

  • hosť – address (A) – bežný záznam, obsahuje adresu počítača
  • alias – canonical name (CNAME) – ďalšie meno (alias) pre existujúci záznam v doméne
  • mail exchanger (MX) – adresa poštového servera
  • service location (SRV) – adresa niektoré služby, ako ldap, kerberos, ftp, a ďalšie
  • name server (NS) – zoznam serverov, ktoré zaisťujú DNS služby pre doménu, záznam sa nachádza v nadradenej doméne a v aktuálnej doméne
  • pointer (PTR) – používajú sa pre reverzný preklad
  • start of authority (SOA) – odkazuje na server, kde sú primárne údaje (primárny NS), a obsahuje údaje pre zone transfer