28.10.2014 Views

• DNS je distribuovaná databáze, kterou používají TCP/IP ... - eAMOS

• DNS je distribuovaná databáze, kterou používají TCP/IP ... - eAMOS

• DNS je distribuovaná databáze, kterou používají TCP/IP ... - eAMOS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Počítačové sítě<br />

Aplikační vrstva – Domain Name System (<strong>DNS</strong>)<br />

<strong>•</strong> <strong>DNS</strong> <strong>je</strong> <strong>distribuovaná</strong> <strong>databáze</strong>, <strong>kterou</strong> <strong>používají</strong><br />

<strong>TCP</strong>/<strong>IP</strong> aplikace k mapování doménových jmen do <strong>IP</strong><br />

adres (a naopak)<br />

<strong>•</strong> <strong>DNS</strong> informace jsou rozprostřeny po množině <strong>DNS</strong><br />

serverů<br />

<strong>•</strong> Mapovací informace jsou přenášeny prostřednictvím<br />

aplikačního protokolu <strong>DNS</strong><br />

<strong>•</strong> <strong>DNS</strong> může používat transportní služby UDP<br />

(zpravidla) nebo <strong>TCP</strong> (o<strong>je</strong>diněle)<br />

<strong>•</strong> <strong>DNS</strong> protokol <strong>používají</strong> ke vzá<strong>je</strong>mné komunikace<br />

<strong>DNS</strong> servery (šíření <strong>DNS</strong> databází) nebo <strong>DNS</strong> klienti<br />

s <strong>DNS</strong> servery (požadavek – odpověď)<br />

1


I<br />

Počítačové sítě<br />

Aplikační vrstva – hierarchie <strong>DNS</strong> jmenného prostoru<br />

II<br />

III<br />

arpa<br />

edu<br />

com<br />

org ad cz zw<br />

in-addr<br />

sun<br />

mendelu<br />

195<br />

prod<br />

akela<br />

178<br />

www<br />

Doména nejvyšší<br />

úrovně TLD<br />

78<br />

10<br />

Doména druhé<br />

úrovně SLD<br />

2


Počítačové sítě<br />

Aplikační vrstva - <strong>DNS</strong><br />

Kořenová doména (bezejmenná)<br />

(Root Domain)<br />

TLD oblasti<br />

I arpa (Address and Routing Parameter Area) –<br />

Infrastructure Domain<br />

II<br />

III<br />

Generic Domain<br />

CC (Country Code) Domain<br />

3


Počítačové sítě<br />

Aplikační vrstva - <strong>DNS</strong><br />

<strong>•</strong> SLD – Second Level Domains in-addr.arpa (v TLD arpa)<br />

– inverzní doména <strong>IP</strong>v4<br />

– doménová jména „zón“ (v oblasti geografické CC a v<br />

oblasti obecné) – např. mendelu.cz<br />

<strong>•</strong> Informace (jmenné mapy) pro <strong>je</strong>dnotlivé zóny poskytují<br />

jmenné servery (Name Servers, <strong>DNS</strong> servers)<br />

<strong>•</strong> Databáze kořenových jmenných serverů jsou v Internetu<br />

centrálně distribuovány<br />

<strong>•</strong> Informace o doménách druhé úrovně (poskytují kořenové<br />

jmenné servery (Root Servers) - administrativně určené<br />

<strong>•</strong> Informace o doménách třetí úrovně jsou zajištěny na úrovni<br />

jmenných serverů 2. úrovně<br />

<strong>•</strong> Další úrovně: čtvrtá, pátá …(nižší <strong>je</strong>n o<strong>je</strong>diněle) jsou zajištěny<br />

4<br />

lokálně (jmennými servery 3. úrovně)


Počítačové sítě<br />

Aplikační vrstva - <strong>DNS</strong><br />

<strong>•</strong> Doménové jméno TLD oblastí II a III (např. pro uzel<br />

5.úrovně)<br />

– úplné - návěstí5.návěstí4.návěstí3.návěstí2.<br />

hribek.mech.les.cz.<br />

doména („zóna“)<br />

– relativní – hribek platí v doméně mech.les.cz.<br />

hribek.mech platí v doméně les.cz.<br />

<strong>•</strong> Doménová oblast I - TLD (arpa) – doména 2.úrovně<br />

in-addr – 6 úrovní – návěstí uzlů úrovní 3 – 6 <strong>je</strong><br />

dekadické vyjádření příslušného oktetu <strong>IP</strong> adresy uzlu<br />

5


Počítačové sítě<br />

Aplikační vrstva - <strong>DNS</strong><br />

<strong>•</strong> Funkce zóny in-addr.arpa – reverzní mapování (překlad<br />

<strong>IP</strong> adresy na doménové jméno)<br />

<strong>•</strong> Zóna in-addr.arpa – reverzní doména – <strong>je</strong> <strong>distribuovaná</strong> –<br />

zajišťují ji zpravidla name servery domén, které <strong>používají</strong><br />

příslušné <strong>IP</strong> sítě<br />

<strong>•</strong> Reverzní doménové jméno<br />

– úplné - 10.72.178.195.in-addr.arpa (<strong>je</strong> reverzní<br />

doméno jméno uzlu dahlia.mendelu.cz, kterému <strong>je</strong><br />

přiřazena <strong>IP</strong> adresa 195.178.72.10<br />

– relativní – 10 – platí v doméně<br />

72.178.195. in-addr.arpa<br />

6


Počítačové sítě<br />

Aplikační vrstva – <strong>DNS</strong><br />

<strong>•</strong> Protokol <strong>DNS</strong> – specifiku<strong>je</strong> výměnu <strong>DNS</strong> zpráv<br />

– mezi síťovou aplikací vyžadující <strong>IP</strong> adresu k<br />

doménovému jménu a <strong>DNS</strong> serverem zajišťujícím<br />

danou zónu<br />

– mezi dvěma <strong>DNS</strong> servery<br />

<strong>•</strong> <strong>DNS</strong> protokol <strong>je</strong> založen na principu klient – server (wellknown<br />

port 53)<br />

<strong>•</strong> Používá transportní služby UDP (pro výměnu<br />

<strong>je</strong>dnoduchých <strong>DNS</strong> zpráv) nebo <strong>TCP</strong> (pro transfer<br />

jmenných databází)<br />

<strong>•</strong> <strong>DNS</strong> zprávy jsou typu požadavek (query) a odpověď<br />

(response)<br />

7


Počítačové sítě<br />

Aplikační vrstva – <strong>DNS</strong><br />

<strong>•</strong> Formát <strong>DNS</strong> zprávy požadavek/odpověď<br />

<strong>DNS</strong> záhlaví<br />

12 B<br />

<strong>DNS</strong> zpráva (různý počet<br />

<strong>DNS</strong> zdrojových záznamů)<br />

<strong>•</strong> <strong>DNS</strong> zdrojové záznamy (Resource Records – RR) jsou<br />

uloženy v databázích <strong>DNS</strong> serverů<br />

<strong>•</strong> Pojmy:<br />

– Zóna<br />

– Autorita zóny – autoritativní odpověď<br />

– Primární a sekundární <strong>DNS</strong> server<br />

– Iterativní a rekurzivní požadavek/odpověď<br />

8


Počítačové sítě<br />

Aplikační vrstva – <strong>DNS</strong><br />

Formát <strong>DNS</strong> zprávy<br />

Sekce<br />

HEADER<br />

Sekce<br />

QUESTIONS<br />

request<br />

Sekce<br />

Sekce<br />

ANSWERS<br />

AUTHORITY<br />

response<br />

Sekce<br />

ADDITIONAL<br />

INFORMATION<br />

9


<strong>•</strong> Sekce „HEADER“ – 12 B<br />

Počítačové sítě<br />

Aplikační vrstva – <strong>DNS</strong><br />

Formát záhlaví<br />

0 15 16 31<br />

identifikátor<br />

příznaky (flags)<br />

Počet RR v sekci QUESTIONS<br />

Počet RR v sekci AUTHORITY<br />

QR Kód operace AA TC RD RA<br />

Počet RR v sekci ANSWERS<br />

Počet RR v sekci ADDITIONAL<br />

flags<br />

1 4 1 1 1 1 3 4<br />

nepoužito<br />

Kód odpovědi<br />

O – žádost<br />

1 - odpověď<br />

0 – stand. požadavek<br />

1 – inverzní požadavek<br />

2 – zašli status serveru<br />

Rekurze povolena<br />

Žádost o rekurzivní odpověď<br />

Zkrácená zpráva<br />

Autoritativní odpověď<br />

0 – bez chyby<br />

1,2,3,5 – chyby<br />

10


Počítačové sítě<br />

Aplikační vrstva – <strong>DNS</strong><br />

<strong>•</strong> Sekce „QUESTIONS“ – sekce požadavků<br />

(dotazů) obsahu<strong>je</strong> <strong>je</strong>den dotaz<br />

– „query name“ – vyhledávané doménové jméno<br />

– „query type“ (16 b) – typ záznamu (RR)<br />

– „query class“ (16 b) – obvykle IN=1 (internetové<br />

doménové jméno)<br />

<strong>•</strong> Sekce „ANSWERS“ - odpověď<br />

<strong>•</strong> Sekce „AUTHORITY“ – autoritativní<br />

odpověď<br />

<strong>•</strong> Sekce „ADDITIONAL INFORMATION“ –<br />

dodatečné informace<br />

11


<strong>•</strong> Formát sekce QUESTIONS – <strong>DNS</strong> query<br />

0 15 16 31<br />

query name<br />

query type<br />

query class (0x01)<br />

<strong>•</strong> Reprezentace doménového jména – query name<br />

<strong>•</strong> návěstí 4.úrovně návěstí 3.úrovně návěstí 2.úrovně<br />

6<br />

d<br />

a<br />

h<br />

l<br />

i<br />

a<br />

7<br />

m<br />

e<br />

n<br />

d<br />

e<br />

l<br />

u<br />

2<br />

c<br />

z<br />

čitače znaků<br />

12


<strong>•</strong> Hodnoty type/query type<br />

Name Hodnota Popis type query<br />

type<br />

A<br />

1<br />

<strong>IP</strong> adresa<br />

X<br />

X<br />

NS<br />

2<br />

Name server<br />

X<br />

X<br />

CNAME<br />

5<br />

Kanonické jméno<br />

X<br />

X<br />

PTR<br />

12<br />

Odkaz do inverzní domény<br />

X<br />

X<br />

HINFO<br />

13<br />

Informační záznam<br />

X<br />

X<br />

MX<br />

15<br />

Mail exchanger<br />

X<br />

X<br />

SOA<br />

6<br />

Záznam Start of Authority<br />

X<br />

X<br />

AXFR<br />

252<br />

požadavek na přesun zóny<br />

X<br />

ANY<br />

255<br />

požadavek na všechny záznamy<br />

X<br />

13


Počítačové sítě<br />

Aplikační vrstva – <strong>DNS</strong><br />

<strong>•</strong> Formát <strong>DNS</strong> záznamu RR<br />

0 15 16 31<br />

doménové jméno<br />

typ třída IN (1)<br />

ttl – platnost záznamu (sec)<br />

délka dat zdro<strong>je</strong> – např. 4<br />

pro <strong>IP</strong> adresu<br />

data zdro<strong>je</strong><br />

14


Počítačové sítě<br />

Aplikační vrstva – <strong>DNS</strong><br />

<strong>•</strong> <strong>DNS</strong> záznamy RR jsou uloženy v databázi zóny<br />

<strong>•</strong> Databázi zóny tvoří:<br />

– Základní zónový soubor – obsahu<strong>je</strong> standardní<br />

záznamy pro všechny <strong>IP</strong> uzly zóny<br />

– Reverzní zónové soubory – obsahují reverzní záznamy<br />

pro všechny <strong>IP</strong> uzly zóny<br />

– Zónový soubor specifické domény (pro uzel 127.0.0.1)<br />

– Zónový soubor specifické reverzní domény<br />

0.0.127.in-addr.arpa<br />

– Zónový soubor kořenové domény (inicializační soubor<br />

pro cache)<br />

15


Počítačové sítě<br />

<strong>DNS</strong> - typy záznamů<br />

Záznam začátku autority zony („Start of Authority<br />

Record“)<br />

zóna<br />

[ttl]<br />

v sec<br />

class<br />

IN<br />

SOA<br />

kontakt<br />

E-mail adresa.<br />

Charakteristika<br />

zóny (serial refresh<br />

retry expire minimum)<br />

mendelu.cz<br />

1<br />

6<br />

admin.dahlia.<br />

mendelu.cz.<br />

(2003041501<br />

86400<br />

3600<br />

3600000<br />

2419200)<br />

16


Počítačové sítě<br />

<strong>DNS</strong> - typy záznamů<br />

<strong>•</strong> Adresový záznam („Address Record“)<br />

host [ttl] class A <strong>IP</strong> adresa<br />

akela 1 1 195.178.78.10<br />

<strong>•</strong> Záznam pro zřetězené jméno („Canonical Name Record“)<br />

alias [ttl] class CNAME<br />

orig. doménové jméno<br />

www 1 5 dahlia.mendelu.cz.<br />

17


Počítačové sítě<br />

<strong>DNS</strong> - typy záznamů<br />

<strong>•</strong> Záznam uzlu doručujícího poštovní zprávy („Mail<br />

Exchanger Record“)<br />

doménové<br />

jméno zóny/uzlu<br />

[ttl]<br />

class MX<br />

preference<br />

doménové jméno<br />

mail serveru<br />

mendelu.cz<br />

1 15 0/5/10 ..<br />

dahlia.mendelu.cz.<br />

<strong>•</strong> Záznam pro <strong>DNS</strong> server zóny („Name Server Record“)<br />

doménové<br />

jméno zóny<br />

[ttl]<br />

class<br />

NS<br />

doménové jméno<br />

<strong>DNS</strong> serveru<br />

mendelu.cz<br />

1 2 dahlia.mendelu.cz.<br />

18


Počítačové sítě<br />

<strong>DNS</strong> - typy záznamů<br />

<strong>•</strong> Ukazatel na záznam v reverzní doméně (= inaddrr.arpa.)<br />

pro daný uzel („Domain Name Pointer<br />

Record“)<br />

reverzní DN<br />

[ttl]<br />

class PTR doménové jméno<br />

10.78.178.195.<br />

in-addr.arpa<br />

1 12 akela.mendelu.cz.<br />

19


<strong>•</strong> Iterační komunikace<br />

Počítačové sítě<br />

<strong>DNS</strong><br />

(2) A?<br />

(3) NS-1<br />

root<br />

server<br />

klient<br />

(1) A?<br />

(8) A<br />

server<br />

(4) A?<br />

(5) NS-2<br />

(6) A?<br />

(7) A<br />

server<br />

NS-1<br />

server<br />

NS-2<br />

20


<strong>•</strong> Rekurzivní komunikace<br />

Počítačové sítě<br />

<strong>DNS</strong><br />

(root server rekurze neposkytu<strong>je</strong>)<br />

(2) A?<br />

(3) NS-1<br />

root<br />

server<br />

klient<br />

(1) A?<br />

(8) A<br />

server<br />

(4) A?<br />

(7) A<br />

(5) A?<br />

server<br />

NS-1<br />

(6) A<br />

server<br />

NS-2<br />

21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!