Hlavní navigace

Nudí vás BIND? Pořiďte si NSD!

Pavel Satrapa

Systém doménových jmen (DNS) je monokulturou. Až na zanedbatelné výjimky se k provozování DNS serverů používá jediný program - BIND. Jenže monokultury jsou choulostivé. Současná situace vzbuzuje obavy, že pokud by se někomu podařilo objevit významnou chybu BINDu, měli bychom opravdu velký problém. Proto vznikl NSD.

Vznik nového démona byl iniciován evropským registrátorem IP adres RIPE a probíhá na půdě nizozemských NLnet Labs. Jeho cíle jsou ambiciózní: proniknout do horních pater hierarchie DNS serverů. Lze jej však použít v pozici autoritativního serveru i v nižších patrech doménového stromu.

Abyste neztráceli čas, je záhodno upozornit hned na začátku na jedno významné omezení. NSD nemá vyrovnávací paměť čili cache. Je určen výlučně pro autoritativní servery (primární a sekundární). Pokud spravujete malou síť, v níž sedí jeden DNS server, na který se zdejší počítače obracejí se svými dotazy, zapomeňte na NSD. Tenhle program je určen pro poskytovatele Internetu či větší sítě, kde jiné servery řeší dotazy zdejších klientů směřující ven do Internetu, zatímco další poskytují autoritativní odpovědi o zdejší síti.

Jedním z cílů autorů NSD totiž byla rychlost. Usoudili (celkem oprávněně), že cesta k rychlosti vede přes jednoduchost. Zatímco BIND postupně nabaluje další funkce a jeho výkonnost klesá (podle výsledků jistého testu na tomtéž železe dokáže verze 4 vyřídit dvanáct tisíc dotazů za sekundu, verze 8 devět tisíc a verze 9 už jen čtyři tisíce), u NSD vsadili na spartánskou jednoduchost. Neumí rekurzi. Nemá cache. Neumí dynamickou aktualizaci DNS.

Pak se dostáváme k vlastnostem, které sice také neumí, ale už se je učí. Tak třeba přenosy celých zón, které by v pozici sekundárního serveru jistě umět měl. Autoři se původně stavěli do pozice mrtvého brouka („NSD není určen pro sekundární servery“). Ale postupem času si uvědomili, že desítka kořenových serverů není až tak velký segment trhu a že když už do NSD investovali tolik práce, nebylo by špatné uplatnit se i jinde. Proto dnešní verze NSD již zóny přenášet dovede, ale podle autorů ještě je co zlepšovat. Ve verzi 1.1 by zónové přenosy měly být realizovány jinak a lépe.

Podobně bezpečné DNS, čili DNSSEC. Aktuální verze je nepodporuje, ale je na seznamu vlastností, které by se v NSD měly co nevidět objevit (snad již ve zmiňované verzi 1.1). Podpora IPv6 sice v počátečních verzích také chyběla, ale dnes již je k dispozici.

Základní koncepce NSD je poměrně zajímavá. Server je rozdělen do dvou programů – na překladač zón a vlastní server. Nejprve je třeba spustit překladač, který si přečte definiční soubory jednotlivých zón (případně si je přenese z primárního serveru, pokud má NSD hrát roli sekundáru), přežvýká je a připraví všechny v nich obsažené odpovědi.

Vlastní server pak téměř nemá co dělat. Dostane dotaz, sáhne do překladačem připravené databáze odpovědí pro tu správnou a pošle ji tazateli. Díky tomu je vlastní server skutečně jednoduchý a jeho kód měří cca 1000 řádků (celý NSD má kolem šesti tisíc řádků kódu; BIND je mnohem, mnohem baculatější).

Jistě nepřekvapí, že vyššího výkonu se dosáhnout podařilo. Podle tohoto grafu nastává propad výkonnosti NSD při zátěži kolem 30 tisíc dotazů za sekundu, zatímco BIND 8 ztrácí dech při sedmi tisících a BIND 9 už při třech. Z jiného sugestivního grafu plyne, že ještě při zátěži kolem 14 tisíc dotazů za sekundu zvládá NSD zodpovídat 99,9 % dotazů.

Sečteno a podtrženo: NSD je alternativou k BINDu. Je postavený na zelené louce a jeho kód nemá s BINDem nic společného. Je výrazně výkonnější, ovšem za cenu podstatného omezení schopností. Jeho určení je tudíž velmi specifické.

Brand

Zjevně je považován za dostatečně zralý, protože bude v nejbližší době (v lepším případě do konce října, v horším do konce roku) nasazen na kořenovém DNS serveru k.root-servers.net.

Takže pokud se třeba hodláte zapojit do soutěže o decentralizovanou správu domény cz, máte o čem přemýšlet. NSD je samozřejmě program s otevřeným zdrojovým kódem. Získat se dá přímo u NLnet Labs.

Našli jste v článku chybu?
21. 9. 2002 21:16
Michal Kubeček (neregistrovaný)
Pár serverů (včetně DNS) spravuji a nemyslím si, že to, že mne nějaký software nudí, je důvodem ke změně (alespoň v případě síťových služeb, u her to může být jinak). Spíš naopak, pokud někdy uvažuji o změně software, je to v situaci, kdy se se s ním nenudím.
21. 9. 2002 20:45
David Rohleder (neregistrovaný)
No, myslím, že o DJBDNS už jsme tady jednou diskutovali, a mám pocit, že z toho nevyšel v porovnání s BIND zrovna vítězně.