Protokol DNS: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 5: Riadok 5:
 
Návrat na stránku [[Algoritmy a programovanie]].
 
Návrat na stránku [[Algoritmy a programovanie]].
 
==DNS==
 
==DNS==
  Služba doménových mien (resp. Domain Name Service) tvorí dnes neodmysliteľnú súčasť Internetu. Pre fungovanie Internetu je DNS kľúčovou záležitosťou, ktorú zabezpečujú programy na obsluhu DNS - DNS servery.
+
Služba doménových mien (resp. Domain Name Service) tvorí dnes neodmysliteľnú súčasť Internetu. Pre fungovanie Internetu je DNS kľúčovou záležitosťou, ktorú zabezpečujú programy na obsluhu DNS - DNS servery.
    Každý počítač má na internete svoju vlastnú adresu, tzv. IP, v číselnom formáte. Je obtiažne pamätať si číselné adresy počítačov, na ktorých si chceme prezerať WWW stránky, a preto existuje služba DNS, ktorá "prekladá" číselne IP adresy zo zle zapamätateľného číslicového tvaru na mená, ktoré sa užívateľom pamätajú podstatne lepšie, a naopak.  
+
 
 +
Každý počítač má na internete svoju vlastnú adresu, tzv. IP, v číselnom formáte. Je obtiažne pamätať si číselné adresy počítačov, na ktorých si chceme prezerať WWW stránky, a preto existuje služba DNS, ktorá "prekladá" číselne IP adresy zo zle zapamätateľného číslicového tvaru na mená, ktoré sa užívateľom pamätajú podstatne lepšie, a naopak.  
 
Umožňuje preklad doménového mena na IP adresu (priamy preklad) a opačne (reverzný preklad) -  napr. webová prezentácia www.slovaknet.sk je umiestnená na serveri s IP adresou 62.168.63.222.
 
Umožňuje preklad doménového mena na IP adresu (priamy preklad) a opačne (reverzný preklad) -  napr. webová prezentácia www.slovaknet.sk je umiestnená na serveri s IP adresou 62.168.63.222.
    V širšom poňatí je možné DNS chápať ako distribuovanú databázu doménových mien, v užšom ponímaní je možné DNS chápať ako aplikačný protokol, prostredníctvom ktorého si počítače v sieti vymieňajú formalizované informácie o doménových menách.
+
V širšom poňatí je možné DNS chápať ako distribuovanú databázu doménových mien, v užšom ponímaní je možné DNS chápať ako aplikačný protokol, prostredníctvom ktorého si počítače v sieti vymieňajú formalizované informácie o doménových menách.
 +
 
 +
V DNS sa nenachádza iba adresa servera, kde je prezentácia umiestená, ale záznam obsahuje aj adresy poštového servera, FTP servera, domén 3. úrovne atď.
 +
Doménové meno sa skladá z častí (domén, subdomén) oddelených bodkou. Doména môže obsahovať znaky "A-Z", "a-z", "0-9", "-" a "_". (max 255 znakov)
 +
:DNS si môžete predstaviť ako strom domén:
 +
[[Súbor:strom DNS.jpg]]
 +
 
 +
Výhodou stromového riešenia je, že každú časť stromu môže spravovať iný server.Správa systému domén je teda distribuovaná, čo znižuje možnosť výpadku celého systému v prípade výpadku niektorého uzla.
 +
 
 +
Najvyššiu úroveň stromu domén - domény najvyššej úrovne ('''top-level domains''', '''TLD''') spravujú koreňové DNS servery. Tie obsahujú údaje o DNS serveroch pre domény najvyššej úrovne (".com", ".net", ".sk" atď.). Koreňové DNS servery sú veľmi dôležité, pretože sú nevyhnutné pre správnu činnosť celého Internetu. Preto existuje niekoľko koreňových DNS serverov, ktoré sú rozmiestnené na viacerých kontinentoch. ( v súčastnosti ich je 13) . Adresy týchto serverov sú verejne známe a nachádzajú sa v konfigurácii každého DNS servera. 
 +
 
 +
==DNS servery rozdeľujeme na dva základné druhy: ==
 +
 
 +
'''Primárny DNS''' server je server, ktorý obsahuje a obsluhuje údaje o doméne a je pre danú doménu autoritatívny. Odpovede primárneho DNS servera sú považované za vždy aktuálne a platné. Odkazy na DNS servery domény sú uložené v nadradenom DNS serveri. Ukazovatele na DNS servery druhej úrovne ("mojadomena.sk") sú uložené v DNS pre doménu najvyššej úrovne (".sk").
 +
 
 +
'''Sekundárny DNS''' server je server, ktorý pomocou pravidelného kopírovania údajov o doménach z primárneho DNS servera vytvára záložný DNS server pre danú doménu. Úlohou primárneho DNS servera je tiež upozorniť svoje sekundárne DNS servery pri zmene záznamov v DNS. Jeden primárny DNS server môže používať niekoľko sekundárnych DNS serverov, vždy však najmenej jeden.
 +
 
 +
==Ako pracuje DNS==
 +
 
 +
Protokol DNS pracuje jednoduchým spôsobom: dotaz - odpoveď. To znamená, že klient pošle serveru dotaz a server na dotaz odpovie. Služba sa pri svojom fungovaní opiera o služby transportných protokolov. DNS používa ako '''TCP''', tak protokol '''UDP''', pričom dotaz aj odpoveď sú prenášané vždy rovnakým transportným protokolom. Pri dotaze na preklad mena na adresu sa používa protokol UDP
 +
Ak DNS server spravuje doménu, môže vytvárať domény nižšej úrovne (subdomény) a buď obsahuje údaje o týchto doménach, alebo odkaz na podriadené DNS servery, ktoré ich spravujú.
 +
 
 +
====Protokol TCP (Transmission Control Protocol) ====
 +
Poskytuje spoľahlivé  zasielanie dát po sieti. Kontaktuje prijímateľa pred vyslaním dát. Vďaka TCP môžu programy na počítačoch v sieti vytvárať medzi sebou spojenia (connections), ktorými je možné posielať dáta. Protokol pritom zaručuje, že dáta odoslané z jedného konca spojenia budú prijaté na druhej strane spojenia v rovnakom poradí a bez chýbajúcich častí.
 +
 
 +
====Protokol UDP (User Datagram Protocol) ====
 +
Zasiela dáta iným spôsobom ako TCP. Nezisťuje, či boli odoslané dáta prijaté adresátom, preto je nespoľahlivý. connection less protokol (nekontaktuje prijímateľa pred vyslaním dát). UDP protokol prenáša datagramy medzi počítačmi v sieti, ale na rozdiel od TCP nezaručuje, že prenášaný paket sa nestratí, že sa nezmení poradie paketov, ani že sa niektorý paket nedoručí viackrát. Vďaka tomu je UDP pre ľahké a časovo citlivé účely rýchlejší a efektívnejší. Jeho bezstavová povaha je tiež užitočná pre servery, ktoré odpovedajú na malé požiadavky mnohých klientov. UDP sa používa napríklad pre DNS, streamované médiá, prenos hlasu alebo videa (VoIP) a online hry.
 +
 
 +
==Zloženie správy==
 +
DNS paket pozostáva z piatich sekcií:
 +
*1. '''HEADER''' - Záhlavie paketu : Obsahuje identifikátor správy, ktorý generuje klient a server ju skopíruje do odpovede.
 +
 
 +
*2. '''QUESTION''' - Sekcia dotaz : Sekcia dotaz je obsiahnutá ako v pakete dotazu, tak aj v pakete odpovede na dotaz. Obsahuje pole doménové meno, typ dotazu a triedu dotazu
 +
 
 +
*3. '''ANSWER''' - Sekcia odpoveď: Sekcia odpoveď - obsahuje odpoveď na dotaz. Túto sekciu obsahuje len paket s odpoveďou.
 +
 
 +
*4. '''AUTHORITY''' - Autoritatívne name servery: Sekcia autoritatívne name servery obsahuje mená name serverov uvedených v zdrojových vetách typu NS. Túto sekciu obsahuje len paket s odpoveďou.
 +
 
 +
*5. '''ADDITIONAL''' - Doplnkové informácie: Sekcia doplnkové informácie obsahuje obvykle IP adresy autoritatívnych name serverov. Túto sekciu obsahuje len paket s odpoveďou.
 +
 
 +
==Zónový súbor==
 +
Informácie o doménach a adresách sú uložené v tzv. '''zónových súboroch'''. Jeden zónový súbor by mal obsahovať údaje o jednej doméne, adresách v rámci tejto domény.O funknčnosť služby doménových mien na strane klienta sa stará resolver.
 +
'''Resolver''' je sada funkcií (gethostbyname(3), gethostbyaddr(3), atd.), ktoré využívajú pri resolvovaní samotné užívateľské aplikácie. Fungovanie resolvera je možné nastaviť v súboroch /etc/host.conf, /etc/resolv.conf, /etc/hosts

Verzia zo dňa a času 19:44, 22. marec 2010

Imbox draft.png
Toto je projekt, na ktorom sa ešte stále pracuje!!

Aj keď sú v tomto dokumente použiteľné informácie, ešte nie je dokončený. Svoje návrhy môžete vyjadriť v diskusii o tejto stránke.

Návrat na stránku Algoritmy a programovanie.

DNS

Služba doménových mien (resp. Domain Name Service) tvorí dnes neodmysliteľnú súčasť Internetu. Pre fungovanie Internetu je DNS kľúčovou záležitosťou, ktorú zabezpečujú programy na obsluhu DNS - DNS servery.

Každý počítač má na internete svoju vlastnú adresu, tzv. IP, v číselnom formáte. Je obtiažne pamätať si číselné adresy počítačov, na ktorých si chceme prezerať WWW stránky, a preto existuje služba DNS, ktorá "prekladá" číselne IP adresy zo zle zapamätateľného číslicového tvaru na mená, ktoré sa užívateľom pamätajú podstatne lepšie, a naopak. Umožňuje preklad doménového mena na IP adresu (priamy preklad) a opačne (reverzný preklad) - napr. webová prezentácia www.slovaknet.sk je umiestnená na serveri s IP adresou 62.168.63.222. V širšom poňatí je možné DNS chápať ako distribuovanú databázu doménových mien, v užšom ponímaní je možné DNS chápať ako aplikačný protokol, prostredníctvom ktorého si počítače v sieti vymieňajú formalizované informácie o doménových menách.

V DNS sa nenachádza iba adresa servera, kde je prezentácia umiestená, ale záznam obsahuje aj adresy poštového servera, FTP servera, domén 3. úrovne atď. Doménové meno sa skladá z častí (domén, subdomén) oddelených bodkou. Doména môže obsahovať znaky "A-Z", "a-z", "0-9", "-" a "_". (max 255 znakov)

DNS si môžete predstaviť ako strom domén:

Strom DNS.jpg

Výhodou stromového riešenia je, že každú časť stromu môže spravovať iný server.Správa systému domén je teda distribuovaná, čo znižuje možnosť výpadku celého systému v prípade výpadku niektorého uzla.

Najvyššiu úroveň stromu domén - domény najvyššej úrovne (top-level domains, TLD) spravujú koreňové DNS servery. Tie obsahujú údaje o DNS serveroch pre domény najvyššej úrovne (".com", ".net", ".sk" atď.). Koreňové DNS servery sú veľmi dôležité, pretože sú nevyhnutné pre správnu činnosť celého Internetu. Preto existuje niekoľko koreňových DNS serverov, ktoré sú rozmiestnené na viacerých kontinentoch. ( v súčastnosti ich je 13) . Adresy týchto serverov sú verejne známe a nachádzajú sa v konfigurácii každého DNS servera.

DNS servery rozdeľujeme na dva základné druhy:

Primárny DNS server je server, ktorý obsahuje a obsluhuje údaje o doméne a je pre danú doménu autoritatívny. Odpovede primárneho DNS servera sú považované za vždy aktuálne a platné. Odkazy na DNS servery domény sú uložené v nadradenom DNS serveri. Ukazovatele na DNS servery druhej úrovne ("mojadomena.sk") sú uložené v DNS pre doménu najvyššej úrovne (".sk").

Sekundárny DNS server je server, ktorý pomocou pravidelného kopírovania údajov o doménach z primárneho DNS servera vytvára záložný DNS server pre danú doménu. Úlohou primárneho DNS servera je tiež upozorniť svoje sekundárne DNS servery pri zmene záznamov v DNS. Jeden primárny DNS server môže používať niekoľko sekundárnych DNS serverov, vždy však najmenej jeden.

Ako pracuje DNS

Protokol DNS pracuje jednoduchým spôsobom: dotaz - odpoveď. To znamená, že klient pošle serveru dotaz a server na dotaz odpovie. Služba sa pri svojom fungovaní opiera o služby transportných protokolov. DNS používa ako TCP, tak protokol UDP, pričom dotaz aj odpoveď sú prenášané vždy rovnakým transportným protokolom. Pri dotaze na preklad mena na adresu sa používa protokol UDP Ak DNS server spravuje doménu, môže vytvárať domény nižšej úrovne (subdomény) a buď obsahuje údaje o týchto doménach, alebo odkaz na podriadené DNS servery, ktoré ich spravujú.

Protokol TCP (Transmission Control Protocol)

Poskytuje spoľahlivé zasielanie dát po sieti. Kontaktuje prijímateľa pred vyslaním dát. Vďaka TCP môžu programy na počítačoch v sieti vytvárať medzi sebou spojenia (connections), ktorými je možné posielať dáta. Protokol pritom zaručuje, že dáta odoslané z jedného konca spojenia budú prijaté na druhej strane spojenia v rovnakom poradí a bez chýbajúcich častí.

Protokol UDP (User Datagram Protocol)

Zasiela dáta iným spôsobom ako TCP. Nezisťuje, či boli odoslané dáta prijaté adresátom, preto je nespoľahlivý. connection less protokol (nekontaktuje prijímateľa pred vyslaním dát). UDP protokol prenáša datagramy medzi počítačmi v sieti, ale na rozdiel od TCP nezaručuje, že prenášaný paket sa nestratí, že sa nezmení poradie paketov, ani že sa niektorý paket nedoručí viackrát. Vďaka tomu je UDP pre ľahké a časovo citlivé účely rýchlejší a efektívnejší. Jeho bezstavová povaha je tiež užitočná pre servery, ktoré odpovedajú na malé požiadavky mnohých klientov. UDP sa používa napríklad pre DNS, streamované médiá, prenos hlasu alebo videa (VoIP) a online hry.

Zloženie správy

DNS paket pozostáva z piatich sekcií:

  • 1. HEADER - Záhlavie paketu : Obsahuje identifikátor správy, ktorý generuje klient a server ju skopíruje do odpovede.
  • 2. QUESTION - Sekcia dotaz : Sekcia dotaz je obsiahnutá ako v pakete dotazu, tak aj v pakete odpovede na dotaz. Obsahuje pole doménové meno, typ dotazu a triedu dotazu
  • 3. ANSWER - Sekcia odpoveď: Sekcia odpoveď - obsahuje odpoveď na dotaz. Túto sekciu obsahuje len paket s odpoveďou.
  • 4. AUTHORITY - Autoritatívne name servery: Sekcia autoritatívne name servery obsahuje mená name serverov uvedených v zdrojových vetách typu NS. Túto sekciu obsahuje len paket s odpoveďou.
  • 5. ADDITIONAL - Doplnkové informácie: Sekcia doplnkové informácie obsahuje obvykle IP adresy autoritatívnych name serverov. Túto sekciu obsahuje len paket s odpoveďou.

Zónový súbor

Informácie o doménach a adresách sú uložené v tzv. zónových súboroch. Jeden zónový súbor by mal obsahovať údaje o jednej doméne, adresách v rámci tejto domény.O funknčnosť služby doménových mien na strane klienta sa stará resolver. Resolver je sada funkcií (gethostbyname(3), gethostbyaddr(3), atd.), ktoré využívajú pri resolvovaní samotné užívateľské aplikácie. Fungovanie resolvera je možné nastaviť v súboroch /etc/host.conf, /etc/resolv.conf, /etc/hosts