DNS

Ikona ucSredstva Domain Name System

DNS je distribuirana, hierarhična baza, katere prvotni namen je pretvarjanje uporabniku prijaznih
domen (www.arnes.si) v numerične IP številke (193.2.1.87) in obratno.
DNS se poleg pretvorbe uporablja tudi za shrambo in pošiljanje informacij o strežnikih elektronske
pošte (MX zapisi).


DNS strežniki delujejo na vratih (port) 53 in to na TCP in UDP prenosnemu sistemu. Protokol
predvideva, da se povpraševanja izvajajo preko UDP protokola, sam prenos iz primarnih na druge
strežnike, pa zaradi pravilnosti podatkov naj se prenašajo preko TCP protokola.


Domena in domenska imena
Domensko ime je način imenovanja računalnika ali druge mrežne naprave. Kot primer www.tsc.si
je domensko ime, ki pripada spletnemu strežniku TŠC.
Domenska imena so hierarhično organizirana v domene. Kot primer www.tsc.si je domensko ime
domene tsc.si, ki pa je poddomena domene si, ki pa je poddomena root domene.
Domenska imena in domena so v približno enaki relaciji kot so datoteke v direktorijih. Imamo en
glavni korenski imenik (root) in v tem korenskem direktoriju lahko imamo več direktorijev, v
katerih lahko imamo več datotek itd. Če primerjamo direktorije z domenami vidimo razliko samo v
označevanju. Pri direktorijih imamo backslash (/), pri domenah pa imamo piko (.).
Vsako domeno lahko administriramo kot posamezno celoto (tako imenovane cone – a zone), katere
lahko vsebujejo, ali pa ne vsebujejo raznorazne poddomene.
S piko ločene komponente domenskega imena imenujemo labele. Vsaka labela je lahko dolga
maksimalno 63 znakov in celotno domensko ime ne sme presegati 255 znakov.
Čeprav sam DNS sistem nas ne omejuje z uporabo posebnih znakov v domenskem imenu, lahko
naletimo na raznorazne probleme v aplikacijah, ki uporabljajo domenska imena. Da se izognemo
problemom je priporočljivo uporabiti črke, številke in znak minus (-), posebno pri domenskih
imenih za A in MX zapise.


Korenski strežniki
Korenski imeniki vejo, kje se nahajo njegovi autoritativni imenski strežniki za vsako vrhovno cono
– top-level zones (za nekatere cone so korenski imeniki tudi domenski strežniki – top-level zone).
Tako v procesu iskanja imena, korenski strežniki pomagajo pri razreševanju od osnovnega strežnika
pa vse tja do računalnika na željenem naslovu. Trenutno se nahaja 13 korenskih strežnikov
(http://www.root-servers.org/ - lista korenskih strežnikov).


Vrhovne cone
Vrhovne cone predstavljajo delček naslovov dodeljenih različnim telesom: državam (vsaka država
ima svojo labelo - kratico), korporacije in organizacije. Te administrira internacionalna organizacija
z imenom ICANN (Internet Corporation for Assigned Names and Numbers –
http://www.icann.org/).
DNS ime ponazarja ime v hierarhiji, s tem, da je na prvem mestu točno ime računalnika, na
zadnjem mestu pa iz kje izvira (primer: računalnik.organizacija.com).
Primeri vrhovnih con:
– .com (namenjen predvsem uporabi v komercialne namene)
– .org (namenjen predvsem za neprofitne namene)
– .net (namenjen predvsem za organizacije, ki se ukvarjajo z omrežjem)
– .edu (namenjen v izobraževalne namene)
– .int (namenjen predvsem za internacionalne organizacije)

Danes ta izbor dodelitve imen ni več tako strogo kategoriziran in omogoča uporabo zgoraj
navedenih domen tudi v uporabo v drugačne namene.
Naslednje domene so registrirane posebej za ameriško vlado:
– .gov (ameriška vlada)
– .mil (ameriška vojska)


Nacionalna imena so razdeljena po standardu, ki ga opredeljuje ISO 3166
(http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html –
december 2005). Nekaj primerov:
– .uk – Velika Britanija
– .fi – Finska
– .si – Slovenija


Nekatere države imajo notranjo strukturo podobno prej že omenjenim (npr. co.uk – za komenrcialne
namene ali ac.uk – izobraževalni nameni v Veliki Britaniji, edus.si za izobraževalne namene v
Sloveniji,...).


Poddomene
Nacionalne poddomene administrirajo organizacije, ki organizirajo poddomene raznim
uporabnikom (bodisi privatnim, kot javnim). Vsaka poddomena mora biti registrirana na
domenskem strežniku, kateri mora vključevati domeno v svoji bazi domen.
FQDN – Fully Qualified Domain Name
FQDN je domensko ime, napisano v svojem polnem pomenu, katero vključuje celotno vsebino
label vse tja do korenskega imena. Kot primer si lahko vzamemmo www.tsc.si, katero se konča z
vrhnjo domeno si.
Obratno od FQDN je relativno domensko ime, kot naprimer www ali www.tsc, kjer eden ali več
delov je bilo odstranjenih iz domenskega imena. Uporaba relativnega imena je omejena v toliko, ali
imamo na računalnikih nastavljeno ime domene ali ne.
IDN – Internationalized Domain Names
Kot dodatek k ASCII znaom, lahko od leta 2001 uporabljamo tudi druge znake, ki niso v ASCII
tabeli. Veliko IDN je že registriranih, ampak standard kot celota še vedno ni izdelan.


Primarni DNS strežnik
Primarni DNS strežnik, poznan pod imenom „primary master“ ali pa samo kot „primary“, je ime
strežnika, katero hrani DNS podatke za določeno cono.
kanin.arnes.si – primarni DNS za .si cono.


Resolver
Aplikacija navadno ne komunicira direktno z domenskim strežnikom ampak uporablja tako
imenovani resolver. Resolver izvaja DNS povpraševanja in le-ta vrača rezultate nazaj v aplikacijo.
Resolver je navadno procedura, katera je povezana v aplikacije. Nekateri operacijski sistemi že
vsebujejo resolver (Windows 95 in višji, Linux,...), v nekaterih drugih pa pride kot dodatek k
operacijskemu sistemu (npr. Windows 3.11 – Winsock,...).
Ko povežemo nov računalnik na omrežje je potrebno nastaviti resolver, da najde DNS strežnik,
kateri mu posreduje odgovore. (Windows 95 in višji uredimo v TCP/IP nastavitvah, na unix
sistemih uredimo datoteko /etc/resolv.conf).


Resource Records – RR
Podatki v DNS strežniku so organizirani v tako imenovanih zapisih virov - „Resource Records“.
Vsako domensko ime ima eno ali več zapisnih virov, kateri so različnih tipov, za shranjevanje
različnih tipov podatkov.
DNS rfc specificira standardne vire zapisov in njihovo sintakso (primer so SOA, NS, A, MX,
CNAME, PTR, HINFO, TXT, ...).
DNS je izdelan z možnostjo dodajanja novih virov v zapise, v primeru potreb v prihodnosti.


Drugi DNS strežnik
Drugi DNS strežnik ali „secondary DNS server“, je domenski strežnik, kateri vodi vsebino
primarnega DNS strežnika, za primer, da je z primarnim DNS strežnikom kaj narobe. Kopija DNS
strežnika se ne ustvarja ročno, ampak se avtomatsko prekopira iz primarnega DNS strežnika.
Drugi DNS strežnik vsako toliko časa povpraša primarni DNS strežnik, ali so se podatki kaj
spremenili in v primeru sprememb izvede prenos podatkov (zone transfer).
Vsaka domena, naj bi za optimalno delovanje, naj imela vsaj dva strežnika (primarnega in drugega),
lahko pa jih ima celo več. Na koliko časa sed drugi DNS strežnik


Time to live
TTL ponazarja čas, koliko časa so podatki v bazi DNS veljavni. Ta čas se uporabi tudi pri
predpomnenju domen v različnih DNS strežnikih. Po preteklem času (TTL) se predpomnilnik
obnovi.


Več:
Arnesov pregledovalnik: http://www.arnes.si/domene/dnsreg.html
IANA: http://www.iana.org/
BIND: http://www.isc.org/sw/bind/