Vyšlo v týdeníku CHIPweek č. 32/96, 7. srpna 1996
Vytištěno z adresy: http://www.earchiv.cz/a96/a632k130.php3

Autoritativní a neautoritativní odpověď

Name servery, v doslovném překladu „servery jmen", jsou základním stavebním kamenem celého složitého mechanismu, který v dnešním Internetu zajišťuje převod symbolických doménových jmen na číselné adresy (tzv. IP adresy, které přenosové protokoly Internetu ke svému fungování skutečně využívají). Jak jsme si již vysvětlili minule, name server je takový druh serveru, který dokáže odpovídat na dotazy týkající se symbolických jmen a jejich číselných ekvivalentů - ovšem jen pro určitý „okruh působnosti", za který je oprávněn se vyjadřovat. To souvisí s existencí domén, jejich hierarchickým uspořádáním, a s principem delegování pravomocí k přidělování symbolických jmen, které domény vyšších úrovní udělují svým podřízených doménám (subdoménám). Vše se přitom odehrává v duchu pravidel, doporučení, požadavků i konvencí, které definuje systém DNS (Domain Name System) jako ucelená zastřešující koncepce práce se symbolickými jmény doménového typu.

V prvním přiblížení je možné si představit, že name servery odpovídají jednotlivým doménám stylem 1:1 - tedy co doména, to právě jeden name server, který „zná" příslušné informace týkající se dané domény a je schopen odpovídat na dotazy ohledně této domény. Přitom jednotlivé domény jsou uspořádány hierarchicky, a stejné uspořádání pak kopírují i name servery (s tím rozdílem, že nad name servery odpovídající doménám nejvyšší úrovně je ještě jeden vyšší, tzv. kořenový name server). Díky tomu vzniká jeden obrovský strom vzájemně provázaných name serverů, z nichž každý je oprávněn odpovídat na dotazy týkající se „jeho" domény.

Tazatel však v praxi může se svým dotazem vstoupit do tohoto stromu na libovolném místě, tedy položit svůj dotaz kterémukoli name serveru (nejspíše tedy asi tomu, který mu je nejblíže). Ten ale nemusí být oprávněn k odpovědi na daný dotaz (nemusí být tzv. autoritativní k poskytnutí odpovědi týkající se určité konkrétní domény), a tak je nutné vyhledat takový server, který oprávněný (autoritativní) je. Vyhledání oprávněného (autoritativního) name serveru pro daný dotaz naštěstí není principiálně nijak složité - díky struktuře doménových jmen a hierarchickému uspořádání domén a name serverů jde o vcelku jednoduchý průchod jejich stromem, usnadněný existencí jediného kořenového name serveru (jediného v logickém smyslu, příště si to ještě upřesníme).

Problematičtější je to spíše s praktickou realizací - zde připadají v úvahu dvě základní varianty. Zmíněným stromem name serverů buďto prochází sám tazatel (resp. jeho klientský program, tzv. resolver), nebo to za něj udělá ten name server, na který se tazatel poprvé obrátil (a tento name server pak také předá odpověď zpět tazateli). Tato druhá varianta, označovaná jako rekurzivní, je z pohledu tazatele samozřejmě jednodušší, a přináší i některé další výhody. Tou nejdůležitější je možnost značně zefektivnit fungování celého převodního mechanismu.

Kdyby totiž bylo nutné při každém dotazu skutečně znovu procházet celým stromem name serverů, znamenalo by to obrovskou zátěž pro Internet jako takový, pro jeho přenosové cesty i pro jednotlivé name servery (a nejvíce pak pro kořenový name server, který by byl extrémně vytížený). Při rekurzivním způsobu zodpovídání dotazů je ale možné, aby si oslovený name server (tj. ten který přijal dotaz a zprostředkoval odpověď od autoritativního name serveru) zapamatoval výsledek, a při případném opakování téhož dotazu odpověděl rovnou on sám.

Celá věc má ale jeden háček - oslovený server, který poskytne takovouto odpověď, nemusí být k jejímu poskytnutí kompetentní. Jeho odpověď, která vlastně pochází z jeho vnitřní paměti (z cache paměti), je proto označována jako neautoritativní.

Neautoritativní odpověď je velmi „laciná", neboť spotřebovává jen minimum dostupných síťových zdrojů (např. přenosové kapacity), a stejně tak může být i hodně rychlá. Ale jak dalece je věrohodná, jak dalece odráží reálnou situaci? Faktem je, že od doby získání původního „autoritativního vzoru" do poskytnutí neautoritativní odpovědi na opakovaný dotaz mohlo dojít k jistým změnám. Aby pravděpodobnost tohoto jevu byla udržena na únosně nízké míře, údaje pamatované name servery v jejich cache pamětech s časem zastarávají a ztrácejí svou platnost (konkrétní délku lze samozřejmě nastavit, typicky v hodinách). Vedle toho pak existuje ještě jedna další pojistka - tazatel, který obdrží neautoritativní odpověď, je o této skutečnosti informován. Je pak i na jeho uvážení, zda se s neautoritativní odpovědí spokojí, nebo si zda vyžádá novou, tentokráte již autoritativní odpověď.