DNS (protokols)

Sistēma

DNS uztur domēnu vārdu hierarhiju. Augšējo līmeņu domēnu DNS serveri satur informāciju, kā atrast zemāku līmeņu domēnu (savu apakšdomēnu) DNS serverus. Pašam augstākajam līmenim nav nosaukuma. Tam atbilst root DNS serveri. Zem tā līmeņa ir augšējā līmeņa domēni (TLD). Tos var iedalīt 3 grupās: gTLD (generic TLD), tādi kā com, org, info; ccTLD (coutry code TLD), kas atbilst pasaules valstīm, tādi kā lv, de, fr; infrastruktūras TLD, te ir tikai viens domēns .arpa, to pamatā lieto reversajam DNS (lai no IP adrese noteikt tai atbilstošo domēna vārdu). Pilnam domēna vārdam beigās ir punkts (.), lielākā daļa programmu gan to nerāda. DNS serveri satur informāciju par savu domēnu, dažreiz tie var saturēt informāciju arī par apakšdomēniem. Piemērs: test1.test2.example.org. Šeit pēdējais . ir visaugstākā līmeņa domēns (ja to tā var nosaukt), org ir augšējā līmeņa domēns, example ir org apakšdomēns (org DNS serveros ir jābūt informācijai par to kā atrast example DNS serveri), test2 ir example.org apakšdomēns un test1 ir test2.example.org apakšdomēns. example.org DNS serverim ir jāvar atrast test2, bet tas arī var varēt atrast test1.test2 (augstāku līmeņu DNS serveri var saturēt informāciju par to domēnu apakšdomēniem , ne tikai domēniem.)
Domēna vārds sastāv no vienas vai vairākām daļām (uzrakstiem (labels)), kuras atdala ar punktiem (.). Pašā labajā pusē esošais uzraksts ir augšējā līmeņa domēns. Zemākie līmeņi ir pa kreisi. No iepriekšējā piemēra, example ir org apakšdomēns, test2 ir example apakšdomēns, test1 ir test2 apakšdomēns. Maksimālais iespējamais apakšdomēnu dziļums ir 127. (tajā piemērā bija 4 līmeņi).
Katrs uzraksts (label) var saturēt līdz 63 simboliem, pilnais domēna vārds nevar būt garāks par 253 simboliem. Uzrakstos lietojamie simboli var būt lielie un mazie latīņu alfabēta burti, cipari un defise (-), kuru nevar lietot uzraksta sākumā un beigās.
DNS klients mēģinot noteikt nezināma domēna vārda IP adresi, sākumā nosaka root nameserver adresi, tad no turienes dabū informāciju par TLD DNS servera adresi, no TLD servera atrod attiecīgā domēna DNS servera adresi un no turienes dabū meklēto IP adresi. Dažreiz nākas iet līdz apakšdomēnu DNS serveriem. Dažreiz TLD DNS serveris satur informāciju par dažiem domēniem atbilstošu vārdu IP adresēm. Šis process gan parasti nenotiek klienta datorā, bet gan zema līmeņa DNS serveros. Šādi iegūtos datus tie uzglabā savā kešatmiņā, lai šo procesu nebūtu jāatkārto. Klientu datori savāc gatavos rezultātus no zema līmeņa DNS servera.
Katram domēna vārdam var būt piesaistīti vairāki DNS ieraksti (records). No tiem nozīmīgākie ir A, MX un NS ieraksti. A pārveido domēna vārdu uz IPv4 adresi. MX satur informāciju par attiecīgā domēna SMTP serveri, tas ieraksts var saturēt vai nu IP adresi, vai (biežāk) domēna vārdu, kam ir A ieraksts. NS ieraksts satur informāciju par apakšdomēna DNS serveri. Domēnu vārdu pārveidošanai uz IPv6 adresēm ir bijuši vairāki veidi, šobrīd par galveno ieteicamo uzskata AAAA ierakstus.

Drošības jautājumi

Sākotnēji DNS drošības pasākumi netika noteikti pietiekoši augsti, balstoties uz to, ka Internets tā pirmsākumos nebija pieejams plašākai publikai. Taču Internetam ienākot komerciālajā sfērā 1990. gadā, drošības jautājumiem tika pievērsta pastiprināta uzmanība.
Daži domēna vārdi var tikt izmantoti, lai maldinātu lietotājus, izmantojot līdzīgus domēna vārdus visiem labi zināmajiem. Piemēram, paypal.com un paypa1.com ir dažādi nosaukumi, taču lietotāji var nespēt atšķirt tos grafiskajā lietotāja interfeisā, atkarībā no lietotāja izvēlētā šrifta. Daudzos interfeisos fonti - burts l, un skaitlis 1 izskatās ļoti līdzīgi vai pat identiski. Šī problēma ir ļoti aktuāla sistēmās, kuras atbalsta internacionalizētos domēna vārdus, jo daudzi rakstzīmju kodējumi ISO 10646 standartā, var parādīties identiski uz tipiskiem datora ekrāniem. Šo ievainojamību bieži izmanto pikšķerēšanai.