**DNS**, la **domajna nomsistemo**, estas la sistemo per kiu la Interreto tradukas domajnan nomon de komputilo de la reto -- ekzemple, *toyota.com*, *news.yahoo.com*, *bbc.co.uk*, *eo.wikipedia.com* -- al IP-adreso. Ĝi estas granda, tutmonda, distribuita datumbazo, kiu ebligas la TTT-on, retpoŝton kaj iun ajn retan programon.

DNS estis proponita en 1984 de Paul Mockapetris. En la 1970-aj jaroj, antaŭ DNS, estis *HOSTS.TXT*, dosiero en komputilo ie en SRI. Ĉiu maŝino en la reto kopiis tiun dosieron kaj per tiu eksciis la IP-adreson de ĉiu domajna nomo. Unikso kopiis la dosieron al */etc/hosts*. Kiam la reto estas malgranda, tia solvo sufiĉas. Sed en la fruaj 1980-aj jaroj, la disvastigado de BSD inter usonaj universitatoj ege faciligis kunigon al la reto per la nova protokolo TCP/IP. Do la grandeco de la reto (la tiama ARPANET, la pra-Interreto) eksplodeme kreskis. Kaj *HOSTS.TXT* -- ĝia grandeco kaj, pli grave, la rezultata trafiko por kopii ĝin -- fariĝis ridinde granda.

Do, anstataŭ unu dosiero en unu centra maŝino, DNS enkondukis hierarkion de dosieroj en hierarkio de maŝinoj. Ĉiu nodo de la hierarkio, krom la finaj branĉoj, estas domajno. Maŝino aŭ servilo de la hierarkio estas *servilo de DNS*.

Laŭ DNS, la servilo de DNS por *yahoo.com* zorgas pri la nomoj kies finaĵo estas "yahoo.com": *news.yahoo.com*, *mail.yahoo.com*, *finance.yahoo.com*, ktp. Super tiu estas servilo de DNS kiu zorgas pri la nomoj kies finaĵo estas *.com*: *toyota.com*, *yahoo.com*, *wikipedia.com*, ktp. *Kaj* super tiu estas eĉ DNS-serviloj kiuj zorgas
pri la plej alta nivelo de nomoj, la retregionoj: *.com*, *.net*, *.de*, *.jp*, ktp. En 2000 ekzistis 13 tiaj *radikaj serviloj* tra la mondo. 

Do la servilaro de DNS formas grandan arbon aŭ hierarkion, en kiu ĉiu servilo zorgas nur pri siaj subaj niveloj.

Por traduki *news.yahoo.com*, ekzemple, al IP-adreso:

1. Reta programo (TTT-legilo, ekzemple) demandas lokan servilon de DNS pri la adreso de *news.yahoo.com*.
2. La loka servilo de DNS laboras tra la nomo renverse:
3. **Por trovi *.com*:** la loka servilo demandas radikan servilon de DNS.
4. **Por trovi *yahoo.com*:** la loka servilo tiam demandas la servilon de DNS por *.com*.
5. **Por trovi *news.yahoo.com*:** la loka servilo tiam demandas la servilon de DNS de *yahoo.com*.
6. Tiam la loka servilo donas la adreson al la retprogramo.

Por rapidigi la sistemon, ĉiu servilo de DNS memoras pri la adresoj de pasintaj demandoj. Do servilo malofte komencas la
eltrovadon ĉe la radiko de la hierarkio, sed per kombinaĵo de memoroj kaj demandoj, eltrovas la ĝustan IP-adreson. 

Ĉar domajna nomo povas malaperi aŭ ŝanĝi sian IP-adreson, la memoro pri pasintaj demandoj ne estas eterna. Anstataŭ ĉiu
adreso memorita havas kvanton de TTL (angla mallongigo de *time to live* - "tempo por vivo"). La TTL kutime estas
kelkaj tagoj. Kiam la aĝo de memoro pri adreso estas pli granda ol la TTL, tiam la memoro estos refreŝigita laŭ neceso. Do ŝanĝo de adreso aŭ nova nomo estas disvastigita tra la Interreto post kelkaj tagoj. 

Por ĉiu nomo, servilo eble havas multajn registrojn: 

* A-registro: la IP-adreso mem
* MX-registro: la retpoŝta servilo por la domajno
* NS-registro: adreso de subdomajno
* CNAME-registro: informo pri alinomo

Por malpezigi la ŝarĝon de laboro, domajno eble havas pli ol unu DNS-servilon. Ekzemple, ne estas nur unu DNS-servilo por
*yahoo.com*: estas almenaŭ du, eble kelkaj. Sed unu maŝino estas aŭtoritata -- la mastra servilo -- kaj la aliaj serviloj, la sklavoj, nur kopiis la informon de DNS el la mastro.

Vidu ankaŭ
----------

* Google Public DNS

* Kategorio Domajna nomsistemo en la Vikimedia Komunejo (Multrimedaj datumoj)