Za prvotní příčinu vzniku služby DNS možno považovat expanzi armádní sítě ARPANET a potřeba adresovat konkrétní uzly při výměně e-mailových zpráv mezi jednotlivými uživateli této sítě. S narůstajícím počtem zařízení rostlo také množství IP adres, které bylo potřeba si pro komunikaci pamatovat. To vedlo k myšlence vytvoření adresového systému, který by umožnil počítače identifikovat pro člověka lépe zapamatovatelným způsobem.
Prvotním krokem směřujícím k současné podobě služby DNS bylo zavedení souboru HOSTS.TXT na dílčích strojích ARPANETu. Soubor HOSTS.TXT obsahoval jednoduchý seznam, který provazoval IP adresy jednotlivých strojů s jejich přidělenými jmény (hostname). Tento systém se však ujal pouze na krátkou dobu zejména z důvodů neefektivnosti a nekonzistentnosti při správě kopií seznamu.
Další práce mající za cíl konzistentní řešení problému uživatelsky přívětivé adresace v prostředí sítě ARPANET vedla k vytvoření centralizovaného návrhu pod označením Host Names On-line, jenž byl publikován v prosinci roku 1973 jako RFC 606. Tento návrh byl dále propracován (RFC 608) a přetaven do pokročilejší centralizované podoby (RFC 623), přičemž bylo rozhodnuto, že seznam uživatelských jmen strojů provázaných s jejími IP adresami bude umístěn v Síťovém Informačním Středisku (Network Information Center) Stanfordského Výzkumného Institutu (Stanford Research Institute).
Centralizovaný systém jmenné adresace vydržel v této formě celou dekádu (1973-1983) avšak z důvodu významného nárostu datových přenosů a značné velikosti jmenného seznamu začala být navržená koncepce nedostačující. Pro zaslání e-mailu bylo zapotřebí, aby odesílající uživatel specifikoval cestu mezilehlých uzlů k příjemci, která začala netriviálně narůstat z důvodu expandující sítě.
Příklad adresy trasy e-mailu, kde jména mezilehlých uzlů jsou odděleny znakem "!":
utzoo!decvax!harpo!eagle!mhtsa!ihnss!ihuxp!grg
Aby se předešlo nutnosti pamatovat si jména mezilehlých uzlů byl vytvořen nový koncept tzv. doménových jmen, který díky hierarchické strukturalizaci umožňuje použít relativní adresu namísto absolutně specifikované cesty. Základní principy, které stojí za mechanizmem doménových jmen byly specifikovány v RFC 805, kde se také objevuje pojem top level domén (jakožto startovací místo překladu na IP adresu) a unikátních second level domén. Tento koncept také umožňuje distribuovat správu a přidělování dílčích doménových jmen mezi administrátory top level domén. Další úpravou byl následně přetaven do podoby, která je používána ve svém návrhu (Distributed System for Internet Name Service - RFC 830) prakticky dodnes. Architektura tohoto návrhu je založena na distribuovaném systému jmenných serverů, přičemž každý z nich obsluhuje svou lokální doménu.
V konceptu je Internet rozdělen do přibližně 200 top level domén, kdy každá pokrývá mnoho stanic. Každá doména je rozdělena na subdomény a tyto mohou být opět dále rozděleny. Všechny domény mohou být reprezentovány stromovým grafem, přičemž listy jsou doménami, které nemají subdomény (ale pokrývají přímo jednotlivé stanice). Listem může být jak jedna samotná stanice, tak společnost obsluhující tisíce stanic.
řetězec.řetězec.řetězec....řetězec.
[Domain_name] [Time_to_live] Class Type Value
host google.com google.com has address 209.85.171.99 google.com has address 64.233.187.99 google.com has address 72.14.207.99
nslookup 147.251.50.9 Server: 192.168.29.1 Address: 192.168.29.1#53 Non-authoritative answer: 9.50.251.147.in-addr.arpa name = erigona.fi.muni.cz. Authoritative answers can be found from: 50.251.147.in-addr.arpa nameserver = ns.muni.cz. 50.251.147.in-addr.arpa nameserver = aisa.fi.muni.cz. 50.251.147.in-addr.arpa nameserver = anxur.fi.muni.cz. ns.muni.cz internet address = 147.251.4.33 aisa.fi.muni.cz internet address = 147.251.48.1 anxur.fi.muni.cz internet address = 147.251.48.3
dig @147.251.4.33 seznam.cz mx ; <<>> DiG 9.4.2-P1 <<>> @147.251.4.33 seznam.cz mx ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8413 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 4 ;; QUESTION SECTION: ;seznam.cz. IN MX ;; ANSWER SECTION: seznam.cz. 26 IN MX 60 mx60.seznam.cz. seznam.cz. 26 IN MX 50 mx50.seznam.cz. ;; AUTHORITY SECTION: seznam.cz. 2164 IN NS ms.seznam.cz. seznam.cz. 2164 IN NS ns.seznam.cz. ;; ADDITIONAL SECTION: mx50.seznam.cz. 15 IN A 77.75.73.47 mx60.seznam.cz. 26 IN A 77.75.73.48 ms.seznam.cz. 58 IN A 77.75.77.77 ns.seznam.cz. 58 IN A 77.75.73.77 ;; Query time: 3 msec ;; SERVER: 147.251.4.33#53(147.251.4.33) ;; WHEN: Thu Oct 16 08:55:24 2008 ;; MSG SIZE rcvd: 167
# cat /etc/resolv.conf nameserver 192.168.1.254 search slackware.comKlíčovým je zde zejména řádek uvozen řetězcem "nameserver", který specifikuje DNS server na nejž budou kladeny DNS požadavky k překladu. Na řádku uvozeném klíčovým slovem "search" je možné specifikovat, které domény je možné zadávat ve zkráceném tvaru. Pokud by kupříkladu byla doména slackware.com nastavena tímto způsobem, bylo by jméno po zadání řetězce http://store do adresového řádku prohlížeče automaticky převedeno na http://store.slackware.com.
# cat /etc/hosts 127.0.0.1 localhost locahost.localdomain 192.168.1.101 redtail 172.14.66.32 foobar.slackware.com
options { directory ?/etc/master?; } ; logging { channel protokol { file ?log/protokol.txt? versions 5 severity debug; } ; channel vyst { file ?log/vy?; } ; category default { protokol; } ; category ncache { vyst; } ; category db { 326 vyst; } ; } ; zone ?0.0.127.in-addr.arpa? in { type master; file ?127.0.0?; } ; zone ?.? in { type hint; file ?named.cache?; } ; zone ?abcde.cz? in { type master; notify yes; file ?abcde.cz.zone?; } ; zone ?pvtnet.cz? in { type slave; masters { 194.149.105.18;} ; file ?pvtnet.cz.zone?; } ; zone ?pvt.net? in { type stub; masters { 194.149.105.18;} ; file ?pvt.net.zone?; } ;