Sustav domenskih imena ili DNS (eng. Domain Name System) je hijerarhijski distribuirani sustav imenovanja za servise te računala i ostale uređaje spojene na Internet ili privatnu mrežu. On povezuje različite informacije s domenskim imenima pripisanim svakom od subjekata u domeni. Prije svega, on prevodi lako pamtljiva domenska imena u brojčane IP-adrese koje su potrebne za lociranje računalnih servisa i uređaja širom svijeta. Omogućujući globalno rašireno usmjeravanje prema ključnim riječima, DNS je osnovni element funkcionalnosti Interneta.

DNS raspoređuje odgovornost za pripisivanje domenski imena i pridruživanje tih imena IP adresama određivanjem autoritativnih imeničkih servera za svaku domenu. Autoritativnim imeničkim serverima je pripisana odgovornost za svoju točno određenu domenu i po redu se mogu pripisati drugi imenički serveri za njihove poddomene. Ovaj mehanizam je izgradio DNS kao raspoređen i tolerantan na greške i pomogao je u izbjegavanju potrebe za jednim jedinstvenim registrom koji bi se trebao neprestance konzultirati i ažurirati. Dodatno, odgovornost za održavanje i ažuriranje glavnog zapisa (Master record) za domene je raširena među mnogim registrima domenskih imena, koji se nadmeću za obavljanje posla krajnjeg korisnika (vlasnika domene). Domene se mogu pomicati iz registra u registar u bilo koje vrijeme.

DNS također precizira tehničku funkcionalnost ovih servisa baze podataka. Definira DNS protokol, precizne detaljan opis podatkovne strukture i komunikaciju izmjene podataka korištene u DNS-u kao dio pojmova Internet protokola (IP modela).

Internet podržava dva osnovna imenička prostora, hijerarhija domenskih imena, Domain Names - Concepts and Facilities, P. Mockapetris, The Internet Society (November 1987) te adresni prostor Internet Protocol-a (IP-a)., Internet Protocol - DARPA Internet Program Protocol Specification, Information Sciences Institute, J. Postel (Ed.), The Internet Society (September 1981) DNS podržava hijerarhiju domenskih imena i omogućava servise prevođenja između sebe i adresnog prostora. Internet imenički serveri i komunikacijski protokol objedinjuje se u DNS., Domain Names - Implementation and Specification, P. Mockapetris, The Internet Society (November 1987) DNS imenički server je server koji sprema DNS zapise za domenska imena, kao što su adresni (A ili AAA) zapisi, imenički serverski (NS) zapisi te zapis izmjenjivača pošte (MX) (pogledaj također listu tipova DNS zapisa); DNS imenički server odgovara na upit prema svojoj bazi podataka.

Funkcija Često korištena usporedba kako bi se objasnio DNS je da taj servis služi kao telefonski imenik za Internet koji prevodi lakše pamtljiva imena računala u IP adrese. Na primjer, domensko ime www.primjer.com prevodi u 192.0.43.10 (IPv4) te 2001:500:88:200::10 (IPv6). Za razliku od telefonskog imenika DNS se može jako brzo ažurirati, dopuštajući promjenu lokacija servisa bez da to korisnik primijeti, koji nastavlja koristiti i dalje samo ime računala. Ovo korisnici iskorištavaju koristeći URLs (Uniform Resource Locators) koji imaju neko značenje te e-mail adrese bez da imaju saznanja kako računala ustvari pronalaze servise.

Povijest Praksa korištenja imena kao jednostavniji i lakše pamtljiviju predstavku brojčane adrese hosta na mreži datira iz ARPANET ere. Prije no što je DNS izmišljen u 1982, svakom računalu na mreži je računalo u SRI (sada SRI international) dodjeljivalo datoteku zvanu HOSTS.TXT. HOSTS.TXT datoteka je mapirala imena u brojčane vrijednosti. Host datoteka još i danas postoji na većini modernih operativnih sustava po defaultu i obično sadrži mapiranje „localhost“ u IP adresu 127.0.0.1. Mnogi operativni sustavi koriste logiku razlučivanja naziva koja omogućava administratoru sustava konfiguriranje prioriteta izbora za raspoložive načine razlučivanja imena.

Ubrzan rast mreže je učinio centralno održavanje, ručno rađene HOSTS.TXT datoteke neodrživim; postalo je nepohodno uvođenje skalabilnijeg sustava automatski rasprostranjenih potrebnih informacija.

Na prijedlog Jon Postel-a, Poul Mockapetris-a koji su izmislili Domain Name system u 1983 godini i napisali prvu implementaciju. Izvorni tehnički podatci su bili objavljeni od Internet Engineering Task Force in i koji su bili i nadopunjeni s . Nekoliko dodatnih RFC-ova (Request for Comment) su predložili nekoliko dodataka temeljima DNS protokola.

U 1984. godini studenti: Douglas Terry, Mark Painter, David Riggle, i Songnian Zhou su napisali prvu implementaciju za Unix NS (server imena), nazvanu The Berkeley Internet Name Domain (BIND) server. U 1985. godini, Kevin Dunlap iz DEC je unačajno prepisao DNS implementaciju. Mike Karels, Phil Almquist i Paul Vixie su održavali BIND In 1985, Kevin Dunlap of DEC substantially revised the DNS implementation. Mike Karels, Phil Almquist, and Paul Vixie have maintained BIND since then. od tada. BIND je portan u Windows NT platformu iz ranih 1990-ih.

BIND se naširoko distribuirao, posebno na Unix sustavima i dominantan je DNS softver korišten na Internetu. Alternativni imenički serveri su razvijeni, dijelom iz razloga za poboljšanjem BIND-ov zapis koji je bio ranjiv raznim napadima. BIND verzija 9 se napisala od početka i ima sigurnostr zapisa usporedivu s modernim DNS softverima.

Struktura

Prostor domenskih imena Prostor domenskih imena se sastoji od stabla domenska imena. Svaki čvor ili list na stablu ima nula ili više zapisa izvora, koji drže informacije povezane s domenskim imenom. Stablo se podjeljuje u zone počevši s korijenskom zonom. A DNS zona se može sastojati samo do jedne jedine domene, ili se može sastojati od puno domena ili poddomena, ovisno o administrativnoj nadležnosti dodijeljene upravitelju.

Administrativna odgovornost nad bilo kojom zonom se može podijeliti stvaranjem dodatnih zona. Nadležnost se dodjeljuje za dio starog prostora, obično u obliku poddomene, drugom imeničkom serveru i administrativnom identitetu. Stara zona prestaje biti nadležna za novu zonu.

mini|DNS struktura

Sintaksa domenskih imena Konačni opis pravila za oblikovanje domenskih imena pojavljuju se u , i . Domensko ime se sastoji od jednog ili više dijelova, koje se tehnički zovu oznake, koje su dogovoreno ulančani odvojeni točkama kao primjer.com. najdesniji prenosi vršnu domenu; na primjer, domensko ime www.primjer.com pripada com vršnoj domeni hijerarhija domena se smanjuje od desna na lijevo, svaka oznaka na lijevo označava podvrstu domene na desno. Na primjer, oznaka primjer određuje poddomenu com domene i www je poddomena primjer.com-a. Ovo stablo podvrsta može imati 127 razina. svaka oznaka može imati 63 znaka. Popuno domensko ime ne može prelaziti 253 znaka u svojem tekstualnom prikazu. U unutarnjem binarnom DNS prikazu maksimalna dužina zahtijeva 253 okteta spremnika, jer također sprema dužinu imena. U praksi, neki domenski registri mogu imati neka kraća ograničenja DNS imena tehnički se mogu sastojati od bilo kojeg znaka koji se može predstaviti oktetom. Kakogod, dopuštena formulacija domenskih imena u DNS korijenskoj zoni,te u većini ostalih poddomena, koristi željen oblik i skup znakova. Znakovi dopušteni u oznakama su podskup ASCII skupa znakova te uključuju znakove a pa sve do z, A do Z, 0 do 9, te minus. ovo pravilo je poznato kao LDH pravilo (letter, digits, hyphen). Domenska imena su protumačena kao neovisna o veličini znaka. Oznake ne mogu započeti ili završiti crticom (minusom). Postoji i dodatno pravilo da u biti vršne domene ne smiju biti samo brojčani znakovi Ime računala (hostname) je ime koje ima pridruženu barem jednu IP adresu. Na primjer, domenska imena www.primjer.com i primjer.com su također imena računala, gdje com domena nije.

Međunarodna domenska imena Ograničen skup ASCII znakova dozvoljneih u DNS-u sprečavaju predstavljanje imena i riječi raznih jezika u njihovom abecednom prikazu. Da bi se to omogućilo, ICANN je odobrila Sistem međunarodnih domenskih imena u aplikacijama (Internationalizing Domain Names in Applications – IDNA), kojima korisničke aplikacije, kao što je web preglednik, mapiraju Unicode znakovlje u odgovarajući DNS znakovni skup koristeći Punycode. U 2009. godini ICANN je dozvolila instalaciju međunarodnih kodova domenskih imena vršnih domena. Zatim je puno registara postojećih vršnih domenskih imena (TLD –top level domain) prihvatilo IDNA sustav.

Imenski poslužitelj Sustav domenskog imena (DNS) se održava sustavom distribuirane baze podataka, koja koristi klijentsko – serverski način. Čvor ove baze podataka su imenski poslužitelji. Svaka domena ima barem jedan autoritativni DNS server koji objavljuje informacije o toj domeni i imenskim poslužiteljima bilo koje podređene domene. Korijenski imenski server poslužuje vrh hijerarhije, serveri koji ma se šalje upit kada se traži (razlučuje) TLD.

Autoritativni imenski poslužitelj Autoritativni imenski server je server koji daje odgovore koje je stvorio izvor, na primjer, domenski administrator ili dinamičkom DNS metodom, za razliku od odgovora koji su ostvareni prilikom uobičajenog DNS upita nekom drugom imenskom poslužitelju. Samo autoritativni poslužitelj vraća odgovor na upite o domenskim imenima koja je konkretno odredio administrator.

Drugim riječima, autoritativni imenski poslužitelj dopušta rekurzivnim imenskim poslužiteljima da znaju koji DNS podatak (IPv4, IPv6, lista dolazećih mail poslužitelja, itd) dano ime hosta (kao www.primjer.com) ima. Kao jedan primjer, autoritativni imenski poslužitelj za „primjer.com“ kaže rekurzivnim imenskim poslužiteljima da www.primjer.com ima IPv4 192.0.45.10.

Autoritativni imenski poslužitelj može biti ili glavni poslužitelj (master) ili podređeni (slave) poslužitelj. Glavni poslužitelj je onaj koji sprema izvorne kopije za sve zonske zapise. Podređeni poslužitelj koristi mehanizam automatskog ažuriranja DNS protokola u komunikaciji sa svojim glavnim (nadređenim) da bi održao istovjetnu kopiju glavnih zapisa.

Komplet autoritativnih imenskih poslužitelja se moraju pripisati svakoj DNS zoni. NS zapis o adresama tok kompleta se mora spremiti u matičnoj zoni (parent zone) i u samim poslužiteljima.

Kada se domenska imena registriraju u registru domenskih imena, njihova instalacija u domenskoj registraturi vršnih domena zahtijeva pripisivanje primarnog imenskog poslužitelja te barem jednog sporednog imenskog poslužitelja. Više imenskih poslužitelja omogućuje da domena još funkcionira iako je jedan od imenskih poslužitelja nepristupačan ili ne radi. Određivanje primarnog imenskog poslužitelja je jedino određeno prioritetom koje je dan registru domenskih imena. Iz ovog razloga, obično samo potpuno domensko ime (FQDN) imenskog poslužitelja je potrebno, ako poslužitelji nisu sadržani u registriranim domenama u kojem slučaju i odgovarajući IP je potreban također.

Primarni imenski poslužitelji su obično glavni imenski poslužitelji, dok sporedni imenski poslužitelji se mogu uvesti kao podređeni poslužitelji.

autoritativni poslužitelj pokazuje status opskrbe točnim odgovorima, smatran autoritativnim, stavljajući softversku oznaku (protokolsku strukturu bita), nazvan bit autoritativnog odgovora (AA) u svojim odgovorima. Oznaka je obično uočljivo prikazana u izlazu alata za administraciju DNS upita (kao dig - domain information groper) da bi pokazao kao odgovarajući imenski poslužitelj koji je autoritativan za domensko ime u upitu.

Djelovanje

Mehanizam razlučivanja adresa Razlučitelji domenskih imena utvrđuju odgovarajuće poslužitelje domenskih imena odgovorne za domenska imena u pitanju po redoslijedu upita počevši s najdesnijom (vršnom) domenskom oznakom. Proces podrazumijeva: Mrežni host je konfiguriran s početnom predmemorijom (hints) poznatih adresa poslužitelja korjenskih imena (root nameserver). Takvu nagovještajnu (hint) datoteku administrator iz pouzdanih izvora periodički ažurira. Upit jednom od korjenskih poslužitelja za pronalaženje nadležnosti za vršnu domenu (TLD).