Erinevus lehekülje "Domeeninimede lahendamine" redaktsioonide vahel

Allikas: Kuutõrvaja
 
(ei näidata 2 kasutaja 6 vahepealset redaktsiooni)
1. rida: 1. rida:
 
+
[[Kategooria:Interneti domeeninimede süsteem]]
 
===Resolver===
 
===Resolver===
  
 
Nimeserverid moodustavad internetis hajusa, kooskõlaliselt toimiva andmebaasi. Lisaks andmete säilitamisele saab sellesse andmebaasi teha päringuid.
 
Nimeserverid moodustavad internetis hajusa, kooskõlaliselt toimiva andmebaasi. Lisaks andmete säilitamisele saab sellesse andmebaasi teha päringuid.
  
Enamus internetikasutajaid tarvitavad nimesüsteemi andmebaasi kogu aeg, ainult ehk ise seda selgelt teadvustamata. Kui näiteks kasutaja sisestab brauserisse veebikoha nime, näiteks www.neti.ee, siis esmalt peab brauser saama teada, milline IP aadress sellele domeeninimele vastab. Reeglina ei tegele rakendusprogrammid nimede lahendamisega vahetult ise, vaid kasutavad selleks spetsiaalset operatsioonisüsteemi koosseisu kuuluvat nimelahendajat ehk resolverit.
+
Enamus internetikasutajaid tarvitavad nimesüsteemi andmebaasi koguaeg ise seda selgelt teadvustamata. Kui näiteks kasutaja sisestab brauserisse veebikoha nime, näiteks www.neti.ee, siis esmalt peab brauser saama teada, milline IP-aadress sellele domeeninimele vastab. Reeglina ei tegele rakendusprogrammid nimede lahendamisega vahetult ise, vaid kasutavad selleks spetsiaalset operatsioonisüsteemi koosseisu kuuluvat nimelahendajat ehk resolverit.
  
Resolver on iseseisev programm või selle osa, mis esitab nimeserverile päringu ning mõistab saadud vastusega midagi peale hakata, näiteks tagada, et brauser seda vastust kasutada saaks.
+
Resolver on iseseisev programm või selle osa, mis esitab nimeserverile päringu ning mõistab saadud vastusega midagi peale hakata (näiteks tagada, et brauser seda vastust kasutada saaks).
  
Üldiselt võib resolver vajaliku vastuse saada ka mujalt, kui nimeserverilt kuid seda vaatleme edaspidi. Antud juhul eeldame, et resolver on otsustanud asuda suhtelema nimeserveritega.
+
Üldiselt võib resolver vajaliku vastuse saada ka mujalt (mitte nimeserverilt), kuid seda vaatleme edaspidi. Antud juhul eeldame, et resolver on otsustanud asuda suhtlema nimeserveritega.
  
Kõige levinumad päringud on sellised, kus resolver saadab nimeserverile päringu domeeninime kohta ning ootab tagasi vastuseks domeeninimele vastavat IP aadressi.
+
Kõige levinumad päringud on sellised, kus resolver saadab nimeserverile päringu domeeninime kohta ning ootab vastuseks domeeninimele vastavat IP-aadressi.
  
Näiteks sisestades brauseri aadressireale Neti veebikoha aadressi http://www.neti.ee/ pöördub brauser resolveri poole domeeninime www.neti.ee lahendamiseks, mille IP aadressi on tal andmevahetuseks tarvis. Resolver hakkab suhtlema kliendi arvuti konfiguratsioonis näidatud nimeserveriga ning vastab brauserile nõutud IP aadressiga.
+
Näiteks sisestades brauseri aadressireale Neti veebikoha aadressi http://www.neti.ee/, pöördub brauser resolveri poole domeeninime www.neti.ee lahendamiseks, mille IP-aadressi on tal andmevahetuseks tarvis. Resolver hakkab suhtlema kliendi arvuti konfiguratsioonis näidatud nimeserveriga ning vastab brauserile nõutud IP-aadressiga.
  
Protsessi, mille käigus leitakse domeeninimega seotud andmed, näiteks IP aadress nimetatakse domeeninime ehk nime lahendamiseks.
+
Protsessi, mille käigus leitakse domeeninimega seotud andmed, näiteks IP-aadress, nimetatakse domeeninime ehk nime lahendamiseks.
  
 
===Nime lahendamine===
 
===Nime lahendamine===
  
Kuna domeeninimede andmebaas on hajus ja jagatud paljude nimeserverite vahel, siis nime lahendamine toimub samm haaval.
+
Kuna domeeninimede andmebaas on hajus ja jagatud paljude nimeserverite vahel, siis nime lahendamine toimub sammhaaval.
  
 
Soovigu resolver lahendada nime kala.tiik.aed.
 
Soovigu resolver lahendada nime kala.tiik.aed.
  
 
   1. Resolver saadab kliendi arvuti konfiguratsioonis näidatud nimeserverile vastava päringu.
 
   1. Resolver saadab kliendi arvuti konfiguratsioonis näidatud nimeserverile vastava päringu.
   2. Kuna kliendi nimeserver ei tea midagi nimest kala.tiik.aed., aga nagu kõik nimeserverid teab ta juurnimeserveri aadressi, siis küsib ta juurnimeserverilt nime kala.tiik.aed. kohta.
+
   2. Kuna kliendi nimeserver ei tea midagi nimest kala.tiik.aed., aga nagu kõik nimeserverid teab ta juurnimeserveri aadressi, siis küsib ta  
 +
      juurnimeserverilt nime kala.tiik.aed. kohta.
 
   3. Juurnimeserver peab kindlasti teadma domeeni aed. teenindava nimeserveri aadressi ning saadab selle kliendi nimeserverile
 
   3. Juurnimeserver peab kindlasti teadma domeeni aed. teenindava nimeserveri aadressi ning saadab selle kliendi nimeserverile
   4. Olles saanud teada domeeni aed. nimeserveri aadressi pöördub kliendi nimeserver domeeni aed. nimeserveri poole ja küsib andmeid nime kala.tiik.aed. kohta. Kuna ka see nimeserver ise ei tea mida kala.tiik.aed. kohta, siis vastab ta domeeni tiik.aed. nimeserveri aadressiga.
+
   4. Olles saanud teada domeeni aed. nimeserveri aadressi pöördub kliendi nimeserver domeeni aed. nimeserveri poole ja küsib andmeid nime  
   5. Lõpuks, klient küsib domeeni tiik.aed. jaoks pädevalt nimeserverilt nime kala.tiik.aed. kohta ja saab ta soovitud vastuse.
+
      kala.tiik.aed. kohta. Kuna ka see nimeserver ise ei tea midagi kala.tiik.aed. kohta, siis vastab ta domeeni tiik.aed. nimeserveri aadressiga.
 +
   5. Lõpuks, klient küsib domeeni tiik.aed. jaoks pädevalt nimeserverilt nime kala.tiik.aed. kohta ja saab soovitud vastuse.
  
 
                    
 
                    
40. rida: 42. rida:
 
                       resolver
 
                       resolver
  
Nii nagu resolver on kliendiks kliendi nimeserverile on kliendi nimeserver kliendiks juurnimeserverile ning domeenide aed. ja tiik.aed. nimeserverile. Selle erinevusega, et nimeserver on teise nimeserveri jaoks suhteliselt intelligente klient. võrreldes resolveriga.
+
Nii nagu resolver on kliendiks kliendi nimeserverile, on kliendi nimeserver kliendiks juurnimeserverile ning domeenide aed. ja tiik.aed. nimeserverile. Erinevus on vaid selles, et võrreldes resolveriga onnimeserver teise nimeserveri jaoks suhteliselt intelligente klient.
  
Oluline on märgata, et resolveri küsimusele peab nimeserver vastama IP aadressiga. Seesugune päring on rekursiivne, kuna resolveri eest hakkab tegutsama klendi nimeserver.
+
Oluline on märgata, et resolveri küsimusele peab nimeserver vastama IP-aadressiga. Seesugune päring on rekursiivne, kuna resolveri eest hakkab tegutsama klendi nimeserver.
  
Klinedi nimeserveri ja teise skeemil kujutatud nimeserverite suhtelmine on aga iteratiine. Kliendi nimeserver küsib nime kala.tiik.aed. kohta, kuid ei saa mitte vastust vaid viite teisele nimeserverile jne kuni ta jõuab huvipakkuva domeeni jaoks pädeva nimeserverini välja.
+
Kliendi nimeserveri ja teise skeemil kujutatud nimeserverite suhtlemine on aga iteratiine. Kliendi nimeserver küsib nime kala.tiik.aed. kohta, kuid ei saa mitte vastust, vaid viite teisele nimeserverile jne kuni ta jõuab huvipakkuva domeeni jaoks pädeva nimeserverini välja.
  
Kui nimeserverile tehakse iteratiivne päring, siis peab ta vastava järgmise nimeserveri aadressiga, mis viib domeeninimesüsteemis küsija lähemale teda huvitava tsooni suhtes pädevale nimeserverile. Rekursiivse päringu puhul vastab nimeserver küsitud nimele vastava IP aadressiga või mitmega, kui nimele vastab mitu aadressi.
+
Kui nimeserverile tehakse iteratiivne päring, siis peab ta vastama järgmise nimeserveri aadressiga, mis viib domeeninimesüsteemis küsija lähemale teda huvitava tsooni suhtes pädevale nimeserverile. Rekursiivse päringu puhul vastab nimeserver küsitud nimele vastava IP-aadressiga või mitmega, kui nimele vastab mitu aadressi.
  
 
===Vahelaostamine===
 
===Vahelaostamine===
  
Toodud kirjelduse järgi oleks nimesüsteemi toimimine kohmakas, sest iga päringu puhul oleks vajalik pöörduda juurnimeserveri ja kõigi nimeserverite poole, kuni huvipakkuva domeeni omani välja. Süsteemi muutub efektiivsemaks, kui nimeserverid tehtud päringute käigus saadud andmed oma vaheladudes (ingl. k. cache) alles hoiavad.
+
Toodud kirjelduse järgi oleks nimesüsteemi toimimine kohmakas, sest iga päringu puhul oleks vajalik pöörduda juurnimeserveri ja kõigi nimeserverite poole kuni huvipakkuva domeeni omani välja. Süsteem muutub efektiivsemaks, kui nimeserverid tehtud päringute käigus saadud andmed oma vaheladudes (ingl. k. cache) alles hoiavad.
  
Näiteks, kui peale kala.tiik.aed. nime lahendamist küsib resolver järgmisena nimele kahv.tiik.aed. vastavat aadressi, siis selle asemel, et alustada taas juurnimeserverist otsib kliendi nimeserver esmalt oma vahelaost nime kahv.tiik.aed., seejärel domeeni tiik.aed. nimeserveri aadressi ning leidnud selle, kasutab seda. Kui mitte, siis otsib ta oma vahelaost domeeni aed. nimeserveri aadressi ning kasutab seda. Ja alles viimases hädas pöördub ta juurnimeserveri poole. Selline järgjärguline ehk lähimate teadaolevate (ingl. closest known) nimeserverite otsimine vähendab juurnimeserverite koormust. Kusjuures iga nimeserver otsib ainult oma vahelaost!
+
Näiteks, kui peale kala.tiik.aed. nime lahendamist küsib resolver järgmisena nimele kahv.tiik.aed. vastavat aadressi, siis selle asemel, et alustada taas juurnimeserverist, otsib kliendi nimeserver esmalt oma vahelaost nime kahv.tiik.aed., seejärel domeeni tiik.aed. nimeserveri aadressi ning leidnud selle, kasutab seda. Kui mitte, siis otsib ta oma vahelaost domeeni aed. nimeserveri aadressi ja kasutab seda ning alles viimases hädas pöördub ta juurnimeserveri poole. Selline järk-järguline ehk lähimate teadaolevate (ingl. closest known) nimeserverite otsimine vähendab juurnimeserverite koormust, kusjuures iga nimeserver otsib ainult oma vahelaost!
  
 
Nime lahendamisel antakse alati edasi kogu algselt küsitud nimi. Näiteks, kui resolver küsib kliendi nimeserverilt nime kahv.tiik.aed. kohta, siis ei asu kliendi nimeserver otsima teiste nimeserverite käest domeeni tiik.aed. nimeserverit, vaid küsib kahv.tiik.aed. nime kohta, sest
 
Nime lahendamisel antakse alati edasi kogu algselt küsitud nimi. Näiteks, kui resolver küsib kliendi nimeserverilt nime kahv.tiik.aed. kohta, siis ei asu kliendi nimeserver otsima teiste nimeserverite käest domeeni tiik.aed. nimeserverit, vaid küsib kahv.tiik.aed. nime kohta, sest
  
   1. Kui näiteks kliendi nimeserver leiab oma vahelaost domeeni aed. nimeserveri aadressi, siis on tõenäoline, et tolle nimeserveri vahelaos on juba olemas nimele kahv.tiik.aed. vastav aadress kuna keegi on palunud domeeni aed. nimeserveril sama nime kahv.tiik.aed. juba lahendada. Esitades muutmata kujul küsimuse edasi saab kliendi nimeserver sel juhul juba aed. nimeserveri käest vastuse teada. Kui aga kliendi nimeserver soovib jonnakalt küsida vastust domeeni tiik.aed. nimeserverilt otseselt, siis peaks ta esmalt tegema kindlaks domeeni tiik.aed. nimeserveri aadressi ja alles siis saaks hakata esitama päringut. Nii kuluks selleks rohkem aega.
+
   1. Kui näiteks kliendi nimeserver leiab oma vahelaost domeeni aed. nimeserveri aadressi, siis on tõenäoline, et tolle nimeserveri vahelaos on juba olemas nimele kahv.tiik.aed. vastav aadress, kuna keegi on palunud domeeni aed. nimeserveril sama nime kahv.tiik.aed. juba lahendada. Esitades muutmata kujul küsimuse edasi, saab kliendi nimeserver sel juhul juba aed. nimeserveri käest vastuse teada. Kui aga kliendi nimeserver soovib jonnakalt küsida vastust domeeni tiik.aed. nimeserverilt otseselt, siis peaks ta esmalt tegema kindlaks domeeni tiik.aed. nimeserveri aadressi ja alles siis saaks hakata esitama päringut. Nii kuluks selleks aga rohkem aega.
   2. Täiesti korrektne on olukord kus domeen eksisteerib aga vastavat tsooni mitte. Näiteks nime punane.kahv.tiik.aed. lahendades on ekslik asuda otsima domeeni kahv.tiik.aed. ja vastavat tsooni teenindavat nimeserverit. Sellist nimeserverit ei pruugi leiduda ning nimi on defineeritud tsoonis tiik.aed.
+
   2. Täiesti korrektne on olukord, kus domeen eksisteerib, aga vastavat tsoon mitte. Näiteks nime punane.kahv.tiik.aed. lahendades on ekslik asuda otsima domeeni kahv.tiik.aed. ja vastavat tsooni teenindavat nimeserverit. Sellist nimeserverit ei pruugi leiduda ning nimi on defineeritud tsoonis tiik.aed.
 +
 
 +
Arusaadavalt ei saa nimeserver hoida oma vahelaos lõputult andmeid. Sel juhul ei kehtestuks domeeninimedes tehtud muudatused. Iga tsooniga on seotud eluaeg (ingl. TTL - time to live) ja ilma uuendamata vahelaos andmeid ei säilitata kauem sellest ajast.
 +
 
 +
 
 +
Kui on caja cachest mingit domeeni kaotada nt on tal liiga pikk ttl seatud kuid tahetakse kiiremini rakendada muudatusi siis aitab käsk rndc flushname näiteks
  
Arusaadavalt ei saa nimeserver hoida oma vahelaos lõpmata pikka aega andmeid. Sel juhul ei kehtestuks domeeninimedes tehtud muudatused. Iga tsooniga on seotud eluaeg (ingl. TTL - time to live) ja lma uuendamata ei säilitata andmeid vahelaos kauem sellest ajast.
+
rndc flushname zoo.loomaaed.ee
  
 
Kui tsooni eluaeg on liiga pikk, siis kulub kaua aega muudatuste klientideni jõudmiseks. Kui see aeg on aga liiga lühike, siis aegub vaheladu liiga ruttu ja vahelaostamisest ei ole kasu.
 
Kui tsooni eluaeg on liiga pikk, siis kulub kaua aega muudatuste klientideni jõudmiseks. Kui see aeg on aga liiga lühike, siis aegub vaheladu liiga ruttu ja vahelaostamisest ei ole kasu.

Viimane redaktsioon: 27. oktoober 2010, kell 10:57

Resolver

Nimeserverid moodustavad internetis hajusa, kooskõlaliselt toimiva andmebaasi. Lisaks andmete säilitamisele saab sellesse andmebaasi teha päringuid.

Enamus internetikasutajaid tarvitavad nimesüsteemi andmebaasi koguaeg ise seda selgelt teadvustamata. Kui näiteks kasutaja sisestab brauserisse veebikoha nime, näiteks www.neti.ee, siis esmalt peab brauser saama teada, milline IP-aadress sellele domeeninimele vastab. Reeglina ei tegele rakendusprogrammid nimede lahendamisega vahetult ise, vaid kasutavad selleks spetsiaalset operatsioonisüsteemi koosseisu kuuluvat nimelahendajat ehk resolverit.

Resolver on iseseisev programm või selle osa, mis esitab nimeserverile päringu ning mõistab saadud vastusega midagi peale hakata (näiteks tagada, et brauser seda vastust kasutada saaks).

Üldiselt võib resolver vajaliku vastuse saada ka mujalt (mitte nimeserverilt), kuid seda vaatleme edaspidi. Antud juhul eeldame, et resolver on otsustanud asuda suhtlema nimeserveritega.

Kõige levinumad päringud on sellised, kus resolver saadab nimeserverile päringu domeeninime kohta ning ootab vastuseks domeeninimele vastavat IP-aadressi.

Näiteks sisestades brauseri aadressireale Neti veebikoha aadressi http://www.neti.ee/, pöördub brauser resolveri poole domeeninime www.neti.ee lahendamiseks, mille IP-aadressi on tal andmevahetuseks tarvis. Resolver hakkab suhtlema kliendi arvuti konfiguratsioonis näidatud nimeserveriga ning vastab brauserile nõutud IP-aadressiga.

Protsessi, mille käigus leitakse domeeninimega seotud andmed, näiteks IP-aadress, nimetatakse domeeninime ehk nime lahendamiseks.

Nime lahendamine

Kuna domeeninimede andmebaas on hajus ja jagatud paljude nimeserverite vahel, siis nime lahendamine toimub sammhaaval.

Soovigu resolver lahendada nime kala.tiik.aed.

  1. Resolver saadab kliendi arvuti konfiguratsioonis näidatud nimeserverile vastava päringu.
  2. Kuna kliendi nimeserver ei tea midagi nimest kala.tiik.aed., aga nagu kõik nimeserverid teab ta juurnimeserveri aadressi, siis küsib ta 
     juurnimeserverilt nime kala.tiik.aed. kohta.
  3. Juurnimeserver peab kindlasti teadma domeeni aed. teenindava nimeserveri aadressi ning saadab selle kliendi nimeserverile
  4. Olles saanud teada domeeni aed. nimeserveri aadressi pöördub kliendi nimeserver domeeni aed. nimeserveri poole ja küsib andmeid nime 
     kala.tiik.aed. kohta. Kuna ka see nimeserver ise ei tea midagi kala.tiik.aed. kohta, siis vastab ta domeeni tiik.aed. nimeserveri aadressiga.
  5. Lõpuks, klient küsib domeeni tiik.aed. jaoks pädevalt nimeserverilt nime kala.tiik.aed. kohta ja saab soovitud vastuse.


  juur                 aed.              tiik.aed.
nimeserver          nimeserver          nimeserver
     \                  |                  /
         \              |              /
             \          |          /
                kliendi nimeserver
                        |
                        |
                        |
                     resolver

Nii nagu resolver on kliendiks kliendi nimeserverile, on kliendi nimeserver kliendiks juurnimeserverile ning domeenide aed. ja tiik.aed. nimeserverile. Erinevus on vaid selles, et võrreldes resolveriga onnimeserver teise nimeserveri jaoks suhteliselt intelligente klient.

Oluline on märgata, et resolveri küsimusele peab nimeserver vastama IP-aadressiga. Seesugune päring on rekursiivne, kuna resolveri eest hakkab tegutsama klendi nimeserver.

Kliendi nimeserveri ja teise skeemil kujutatud nimeserverite suhtlemine on aga iteratiine. Kliendi nimeserver küsib nime kala.tiik.aed. kohta, kuid ei saa mitte vastust, vaid viite teisele nimeserverile jne kuni ta jõuab huvipakkuva domeeni jaoks pädeva nimeserverini välja.

Kui nimeserverile tehakse iteratiivne päring, siis peab ta vastama järgmise nimeserveri aadressiga, mis viib domeeninimesüsteemis küsija lähemale teda huvitava tsooni suhtes pädevale nimeserverile. Rekursiivse päringu puhul vastab nimeserver küsitud nimele vastava IP-aadressiga või mitmega, kui nimele vastab mitu aadressi.

Vahelaostamine

Toodud kirjelduse järgi oleks nimesüsteemi toimimine kohmakas, sest iga päringu puhul oleks vajalik pöörduda juurnimeserveri ja kõigi nimeserverite poole kuni huvipakkuva domeeni omani välja. Süsteem muutub efektiivsemaks, kui nimeserverid tehtud päringute käigus saadud andmed oma vaheladudes (ingl. k. cache) alles hoiavad.

Näiteks, kui peale kala.tiik.aed. nime lahendamist küsib resolver järgmisena nimele kahv.tiik.aed. vastavat aadressi, siis selle asemel, et alustada taas juurnimeserverist, otsib kliendi nimeserver esmalt oma vahelaost nime kahv.tiik.aed., seejärel domeeni tiik.aed. nimeserveri aadressi ning leidnud selle, kasutab seda. Kui mitte, siis otsib ta oma vahelaost domeeni aed. nimeserveri aadressi ja kasutab seda ning alles viimases hädas pöördub ta juurnimeserveri poole. Selline järk-järguline ehk lähimate teadaolevate (ingl. closest known) nimeserverite otsimine vähendab juurnimeserverite koormust, kusjuures iga nimeserver otsib ainult oma vahelaost!

Nime lahendamisel antakse alati edasi kogu algselt küsitud nimi. Näiteks, kui resolver küsib kliendi nimeserverilt nime kahv.tiik.aed. kohta, siis ei asu kliendi nimeserver otsima teiste nimeserverite käest domeeni tiik.aed. nimeserverit, vaid küsib kahv.tiik.aed. nime kohta, sest

  1. Kui näiteks kliendi nimeserver leiab oma vahelaost domeeni aed. nimeserveri aadressi, siis on tõenäoline, et tolle nimeserveri vahelaos on juba olemas nimele kahv.tiik.aed. vastav aadress, kuna keegi on palunud domeeni aed. nimeserveril sama nime kahv.tiik.aed. juba lahendada. Esitades muutmata kujul küsimuse edasi, saab kliendi nimeserver sel juhul juba aed. nimeserveri käest vastuse teada. Kui aga kliendi nimeserver soovib jonnakalt küsida vastust domeeni tiik.aed. nimeserverilt otseselt, siis peaks ta esmalt tegema kindlaks domeeni tiik.aed. nimeserveri aadressi ja alles siis saaks hakata esitama päringut. Nii kuluks selleks aga rohkem aega.
  2. Täiesti korrektne on olukord, kus domeen eksisteerib, aga vastavat tsoon mitte. Näiteks nime punane.kahv.tiik.aed. lahendades on ekslik asuda otsima domeeni kahv.tiik.aed. ja vastavat tsooni teenindavat nimeserverit. Sellist nimeserverit ei pruugi leiduda ning nimi on defineeritud tsoonis tiik.aed.

Arusaadavalt ei saa nimeserver hoida oma vahelaos lõputult andmeid. Sel juhul ei kehtestuks domeeninimedes tehtud muudatused. Iga tsooniga on seotud eluaeg (ingl. TTL - time to live) ja ilma uuendamata vahelaos andmeid ei säilitata kauem sellest ajast.


Kui on caja cachest mingit domeeni kaotada nt on tal liiga pikk ttl seatud kuid tahetakse kiiremini rakendada muudatusi siis aitab käsk rndc flushname näiteks

rndc flushname zoo.loomaaed.ee

Kui tsooni eluaeg on liiga pikk, siis kulub kaua aega muudatuste klientideni jõudmiseks. Kui see aeg on aga liiga lühike, siis aegub vaheladu liiga ruttu ja vahelaostamisest ei ole kasu.