Počítačové sítě Aplikační vrstva – Domain Name System (DNS)
• DNS je distribuovaná databáze, kterou používají TCP/IP aplikace k mapování doménových jmen do IP adres (a naopak) • DNS informace jsou rozprostřeny po množině DNS serverů • Mapovací informace jsou přenášeny prostřednictvím aplikačního protokolu DNS • DNS může používat transportní služby UDP (zpravidla) nebo TCP (ojediněle) • DNS protokol používají ke vzájemné komunikace DNS servery (šíření DNS databází) nebo DNS klienti s DNS servery (požadavek – odpověď)
1
Počítačové sítě Aplikační vrstva – hierarchie DNS jmenného prostoru
I arpa
II edu
III com
org
ad
cz
sun
mendelu
195
prod
akela
178
www
in-addr
78 10
zw
Doména nejvyšší úrovně TLD Doména druhé úrovně SLD
2
Počítačové sítě Aplikační vrstva - DNS
Kořenová doména (bezejmenná) (Root Domain) TLD oblasti
I
arpa (Address and Routing Parameter Area) – Infrastructure Domain
II
Generic Domain
III
CC (Country Code) Domain 3
Počítačové sítě Aplikační vrstva - DNS • SLD – Second Level Domains in-addr.arpa (v TLD arpa)
– inverzní doména IPv4
• • • • •
– doménová jména „zón“ (v oblasti geografické CC a v oblasti obecné) – např. mendelu.cz Informace (jmenné mapy) pro jednotlivé zóny poskytují jmenné servery (Name Servers, DNS servers) Databáze kořenových jmenných serverů jsou v Internetu centrálně distribuovány Informace o doménách druhé úrovně (poskytují kořenové jmenné servery (Root Servers) - administrativně určené Informace o doménách třetí úrovně jsou zajištěny na úrovni jmenných serverů 2. úrovně Další úrovně: čtvrtá, pátá …(nižší jen ojediněle) jsou zajištěny 4 lokálně (jmennými servery 3. úrovně)
Počítačové sítě Aplikační vrstva - DNS
• Doménové jméno TLD oblastí II a III (např. pro uzel 5.úrovně) – úplné -
návěstí5.návěstí4.návěstí3.návěstí2.
hribek.mech.les.cz. doména („zóna“)
hribek platí v doméně mech.les.cz. hribek.mech platí v doméně les.cz. • Doménová oblast I - TLD (arpa) – doména 2.úrovně in-addr – 6 úrovní – návěstí uzlů úrovní 3 – 6 je dekadické vyjádření příslušného oktetu IP adresy uzlu – relativní –
5
Počítačové sítě Aplikační vrstva - DNS
• Funkce zóny in-addr.arpa – reverzní mapování (překlad IP adresy na doménové jméno) • Zóna in-addr.arpa – reverzní doména – je distribuovaná – zajišťují ji zpravidla name servery domén, které používají příslušné IP sítě • Reverzní doménové jméno – úplné - 10.72.178.195.in-addr.arpa (je reverzní doméno jméno uzlu dahlia.mendelu.cz, kterému je přiřazena IP adresa 195.178.72.10 – relativní – 10 – platí v doméně 72.178.195. in-addr.arpa 6
Počítačové sítě Aplikační vrstva – DNS
• Protokol DNS – specifikuje výměnu DNS zpráv – mezi síťovou aplikací vyžadující IP adresu k doménovému jménu a DNS serverem zajišťujícím danou zónu – mezi dvěma DNS servery • DNS protokol je založen na principu klient – server (wellknown port 53) • Používá transportní služby UDP (pro výměnu jednoduchých DNS zpráv) nebo TCP (pro transfer jmenných databází) • DNS zprávy jsou typu požadavek (query) a odpověď (response) 7
Počítačové sítě Aplikační vrstva – DNS
• Formát DNS zprávy požadavek/odpověď DNS záhlaví 12 B
DNS zpráva (různý počet DNS zdrojových záznamů)
• DNS zdrojové záznamy (Resource Records – RR) jsou uloženy v databázích DNS serverů • Pojmy: – – – –
Zóna Autorita zóny – autoritativní odpověď Primární a sekundární DNS server Iterativní a rekurzivní požadavek/odpověď 8
Počítačové sítě Aplikační vrstva – DNS
Formát DNS zprávy Sekce
HEADER
Sekce
QUESTIONS QUESTIONS
Sekce
ANSWERS
request
response
Sekce
AUTHORITY AUTHORITY
Sekce
ADDITIONAL ADDITIONAL INFORMATION INFORMATION 9
Počítačové sítě Aplikační vrstva – DNS
• Sekce „HEADER“ – 12 B 0
Formát záhlaví 15 16 identifikátor příznaky (flags)
Počet RR v sekci QUESTIONS
31
Počet RR v sekci ANSWERS
Počet RR v sekci AUTHORITY Počet RR v sekci ADDITIONAL
1 QR
4 Kód operace
O – žádost 1 - odpověď
1 1 1 1 3 AA TC RD RA nepoužito
0 – stand. požadavek 1 – inverzní požadavek 2 – zašli status serveru
flags 4 Kód odpovědi
Rekurze povolena
0 – bez chyby
Žádost o rekurzivní odpověď
1,2,3,5 – chyby
Zkrácená zpráva Autoritativní odpověď
10
Počítačové sítě Aplikační vrstva – DNS
• Sekce „QUESTIONS“ – sekce požadavků (dotazů) obsahuje jeden dotaz – „query name“ – vyhledávané doménové jméno – „query type“ (16 b) – typ záznamu (RR) – „query class“ (16 b) – obvykle IN=1 (internetové doménové jméno)
• Sekce „ANSWERS“ - odpověď • Sekce „AUTHORITY“ – autoritativní odpověď • Sekce „ADDITIONAL INFORMATION“ – dodatečné informace 11
• Formát sekce QUESTIONS – DNS query 0
15 16
31
query name query type
query class (0x01)
• Reprezentace doménového jména – query name •
návěstí 4.úrovně
6 d a h
l
návěstí 3.úrovně
i
a 7 m e n d e
čitače znaků
návěstí 2.úrovně
l
u 2 c z
12
• Hodnoty type/query type Name
Hodnota
Popis
A NS CNAME PTR HINFO MX SOA AXFR
1 2 5 12 13 15 6 252
IP adresa Name server Kanonické jméno Odkaz do inverzní domény Informační záznam Mail exchanger Záznam Start of Authority požadavek na přesun zóny
ANY
255
požadavek na všechny záznamy
type query type X X X X X X X
X X X X X X X X X 13
Počítačové sítě Aplikační vrstva – DNS
• Formát DNS záznamu RR 0
15 16
31
doménové jméno typ
třída IN (1)
ttl – platnost záznamu (sec) délka dat zdroje – např. 4 pro IP adresu
data zdroje 14
Počítačové sítě Aplikační vrstva – DNS
• DNS záznamy RR jsou uloženy v databázi zóny • Databázi zóny tvoří: – Základní zónový soubor – obsahuje standardní záznamy pro všechny IP uzly zóny – Reverzní zónové soubory – obsahují reverzní záznamy pro všechny IP uzly zóny – Zónový soubor specifické domény (pro uzel 127.0.0.1) – Zónový soubor specifické reverzní domény 0.0.127.in-addr.arpa – Zónový soubor kořenové domény (inicializační soubor pro cache) 15
Počítačové sítě DNS - typy záznamů
Záznam začátku autority zony („Start of Authority Record“) zóna
mendelu.cz
[ttl] class v sec IN 1
SOA
kontakt E-mail adresa.
Charakteristika zóny (serial refresh retry expire minimum)
6
admin.dahlia. mendelu.cz.
(2003041501 86400 3600 3600000 2419200) 16
Počítačové sítě DNS - typy záznamů
• Adresový záznam („Address Record“) host akela
[ttl]
class 1
A 1
IP adresa 195.178.78.10
• Záznam pro zřetězené jméno („Canonical Name Record“) alias www
[ttl]
class CNAME 1 5
orig. doménové jméno
dahlia.mendelu.cz.
17
Počítačové sítě DNS - typy záznamů
• Záznam uzlu doručujícího poštovní zprávy („Mail Exchanger Record“) doménové jméno zóny/uzlu
[ttl] class MX
mendelu.cz
1
15
preference
doménové jméno mail serveru
0/5/10 .. dahlia.mendelu.cz.
• Záznam pro DNS server zóny („Name Server Record“) doménové jméno zóny
mendelu.cz
[ttl]
class 1
NS
doménové jméno DNS serveru
2
dahlia.mendelu.cz. 18
Počítačové sítě DNS - typy záznamů
• Ukazatel na záznam v reverzní doméně (= inaddrr.arpa.) pro daný uzel („Domain Name Pointer Record“) reverzní DN
10.78.178.195. in-addr.arpa
[ttl]
class
PTR
1
12
doménové jméno akela.mendelu.cz.
19
Počítačové sítě DNS root server
• Iterační komunikace (2) A? (3) NS-1 (4) A?
(1) A?
klient (8) A
server
server NS-1
(5) NS-2 (6) A? (7) A
server NS-2
20
Počítačové sítě DNS
• Rekurzivní komunikace (root server rekurze neposkytuje)
root server
(2) A? (3) NS-1 (4) A?
(1) A?
klient (8) A
server
(7) A
server NS-1 (5) A?
(6) A
server NS-2 21