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

Primary vs. Secondary DNS

Mohou-li uživatelé dnešního Internetu používat pro označování nejrůznějších uzlů sítě poměrně snadno zapamatovatelná symbolická jména (místo málo mnemonických číselných adres, tzv. IP adres), pak je to především zásluha systému DNS, který je v dnešním Internetu provozován. Jak jsme si již v této rubrice několikrát rozvedli, je systém DNS (Domain Name System) celou ucelenou koncepcí, která zahrnuje vše potřebné pro možnost používání symbolických jmen místo číselných adres - od koncepce tzv. domén jako subjektů oprávněných přidělovat symbolická jména v okruhu své působnosti, přes pravidla pro konstrukci jmen doménového typu, až po mechanismy převodu, umožňující převádět symbolická jména doménového typu na jim odpovídající IP adresy (které pak používá přenosová část sítě).

Povídali jsme si již také o tzv. name serverech (doslova: serverech jmen), ve kterých je soustředěna veškerá nezbytná „převodní informace" týkající se vždy určité konkrétní domény - pro počátek jsme vystačili s představou, že co jedna doména, to právě jeden name server. Naznačili jsme si i principiální způsob fungování celé soustavy vzájemně propojených name serverů, které dohromady realizují potřebný převodní mechanismus mezi symbolickými jmény doménového typu a číselnými adresami - díky struktuře doménových jmen a díky vzájemnému propojení name serverů, které (alespoň logicky) přesně kopíruje vzájemnou strukturu jednotlivých domén, je vždy možné najít ten name server, který obsahuje hledanou informaci a je schopen odpovědět na dotaz o číselné adrese, která odpovídá danému symbolickému jménu. Požadavek na vysokou efektivnost však principiální způsob fungování celého převodního mechanismu poněkud mění (jak jsme si o tom povídali minule, když byla řeč o tzv. autoritativních a neautoritativních odpovědích) - ne vždy musí být poskytovatelem odpovědi skutečně ten name server, který je k odpovědi plně oprávněn (a má k dispozici veškerá data, která jsou k poskytnutí tzv. autoritativní odpovědi nezbytná). Může to být i takový name server, který někdy dříve pouze zprostředkoval odpověď na stejný dotaz, a při opakování téhož dotazu již sám poskytnul odpověď podle toho, co si z předchozí zprostředkované odpovědi zapamatoval (tedy tzv. neautoritativní odpověď).

Kromě požadavku na vysokou efektivnost fungování celého převodního mechanismu v rámci systému DNS se ale v praxi uplatňují i některé další důležité požadavky, zejména požadavek na vysokou robustnost. Není jistě těžké uvědomit si, jaké následky by měla nefunkčnost každého jednotlivého name serveru, ať již z důvodu technické závady uzlu na kterém je provozován, z důvodu nedostupnosti kvůli výpadku spojení apod. - autoritativní odpovědi na dotazy, týkající se domény „obhospodařované" nefunkčním name serverem, by nemohly být poskytovány vůbec (od okamžiku, kdy se name server stane nefunkčním), a případné neautoritativní odpovědi by bylo možné získat od jiných name serverů jen po velmi omezenou dobu, dokud by odposlechnuté informace v jejich vyrovnávacích pamětech „nezestárly" (neztratily svou časově omezenou platnost).

Právě popsanému nebezpečí se systém DNS brání replikováním name serverů, „obhospodařujících" jednotlivé domény. Místo jednoho jediného name serveru pro každou jednotlivou doménu se jich v praxi zřizuje více - nejméně dva, ale často tři, a někdy i více. Jeden z nich, označovaný jako tzv. primární name server, však má vždy určité výsadní postavení. Je mj. tím, na kterém správce příslušné domény provádí eventuelní průběžné změny. Naproti tomu o ostatní name servery příslušející téže doméně (a označované jako sekundární) se správce již nemusí explicitně starat, protože tyto si svůj obsah automaticky a samy „seřizují" podle obsahu primárního name serveru.

Sekundární name servery také bývají zřizovány jinde, než name servery primární. Důvod je zřejmý - je žádoucí vyhnout se společným „úzkým místům" a možným zdrojům výpadků (např. výpadkům spojení), tak aby při nedostupnosti primárního name serveru byl dosažitelný alespoň některý z jeho sekundárních name serverů a mohl jej zastoupit. V praxi se proto primární name server typicky zřizuje přímo u „vlastníka" dané domény (přesněji je provozován na počítači nacházejícím se v jeho síti, už i z důvodu snazší dostupnosti pro potřeby správy), zatímco sekundární name servery se naopak zřizují mimo síť vlastníka dané domény (dnes nejčastěji u jeho poskytovatele připojení).

Pro správné pochopení podstaty name serverů je dobré si připomenout, že jde o funkci, resp. o „poskytování služby" (služby spočívající v odpovídání na dotazy týkající se převodu symbolických doménových jmen na číselné adresy), a ne o konkrétní počítač či uzel sítě jako takový. Jeden a tentýž počítač může plnit funkci name serveru (primárního či sekundárního) jedné konkrétní domény, nebo také více domén současně - typické je to dnes například u poskytovatelů přípojení do Internetu, kteří zajišťují funkci sekundárních name serverů pro své zákazníky na svých počítačích (zatímco primární name servery si příslušní zákazníci s vlastními doménami provozují nejčastěji sami, na vlastních počítačích).