Aplikační vrstva • Přístup k transportní vrstvě z vrstvy aplikační – rozhraní služeb – služby pro systémové aplikace, služby pro uživatelské aplikace RIP SNMP
port
DNS
DHCP RTP
TELNET SMTP
UDP
HTTP FTP
TCP
IP
1
Aplikační vrstva • Charakteristika aplikační vrstvy – poskytuje aplikacím přístup k síťovým službám • Obsahuje protokoly, které implementují síťové aplikace • Protokoly jsou specifikovány ve standardech RFC • Protokoly základní (musí být implementovány, ale nemusí být administrativně povoleny) – SMTP, FTP, TELNET, DNS • Protokoly doporučené – SNMP, HTTP • Protokoly volitelné (rozšiřující) – RTP, RSVP • Aplikace typu „klient“ – spouští uživatel ve své relaci • Aplikace typu „server“ – programy typu daemon – spouští root nebo jiný systémový uživatel (zpravidla skriptem) 2
DHCP – Dynamic Host Configuration Protocol • Aplikační protokol pro automatizované přidělování IP adres a dalších síťových parametrů: – Default gateway – Subnet mask – IP adresa DNS serverů –…
• Komunikační model klient – server • Předchůdce – Bootstrap Protocol (BootP) 3
DHCP – Dynamic Host Configuration Protocol • „Pronájem“ IP adres 3 způsoby: – Dynamicky – pronájem IP adresy z rozsahu, který má server k disposici, na určený časový úsek (hodiny až měsíce). – Automaticky (tzv. DHCP rezervace) – IP adresy jsou permanentně přidělovány z rozsahu, který má server k disposici. – Manuálně – přiřazení IP podle manuálně nakonfigurovaného přiřazení.
• Implementace – Server – dhcpd, /etc/dhcp.conf – Klient – nastaveni konfigurace rozhraní na dynamický režim (dhcp) v /etc/sysconfig/network-scripts/eth0 4
DHCP – Dynamic Host Configuration Protocol • DHCP zprávy IP záhlaví UDP záhlaví
DHCP zpráva
• Well-known porty – Server 67 – Klient 68
• Klient: „Discovery“ a „Request“ • Server: „Offer“ „ Acknowledge“ 5
DHCP – Dynamic Host Configuration Protocol Klient 68
Server 67 67
68 68 67 67 68 6
DHCP – Dynamic Host Configuration Protocol • DHCP discovery – klient vyhledává na subsíti server (DHCP relay předává zprávu do jiné podsítě) • DHCP offer – server posílá klientoviIP adresu a další parametry • DHCP request – klient posílá broadcast všem serverům o své volbě • DHCP ack – závěrečná fáze DHCP relace – server posílá klientovi dobu propůjčení adresy 7
/etc/dhcp.conf lease-file-name "/var/lib/dhcpd/dhcpd.leases"; option domain-name "site.net"; default-lease-time 21600; max-lease-time 43200; subnet 10.0.1.0 netmask 255.255.255.0 { option routers 10.0.1.1; option subnet-mask 255.255.255.0; host pokuston02 { hardware ethernet 00:0F:FE:52:7F:03; fixed-address 10.0.1.3; }} 8
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ěď) 9
Hierarchie jmenného prostoru DNS
I
II
III
arpa
generic
CC
arpa
in-addr
edu
com
sun
195
prod
178
www
78 10
org
ad
cz
zw
mendelu
akela
Doména nejvyšší úrovně TLD Doména druhé úrovně SLD 10
DNS Kořenová doména (bezejmenná) (Root Domain) – Root Servers (http://www.root-servers.org/)
TLD oblasti I
arpa (Address and Routing Parameter Area) – Infrastructure Domain http://www.iana.com/arpa-dom/
II
Generic Domain http://www.iana.com/gtld/gtld.htm
III
CC (Country Code) Domain http://www.iana.com/cctld/cctld-whois.htm 11
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 „generic“ (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 lokálně (jmennými servery 3. úrovně) – –
• • • • •
12
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ě inaddr – 6 úrovní – návěstí uzlů v úrovních 3 – 6 je dekadické vyjádření příslušného oktetu IP adresy uzlu – relativní –
13
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 14
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) 15
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ěď 16
DNS Odpověď Zóna Name serveru
Dotaz
DB Name server
Cache
Dotaz
Odpověď Plnění cache 17
DNS Formát DNS zprávy Sekce
HEADER
Sekce
QUESTIONS QUESTIONS
Sekce
ANSWERS
Sekce
Sekce
request
response
AUTHORITY AUTHORITY ADDITIONAL ADDITIONAL INFORMATION INFORMATION 18
DNS zpráva • 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
1 1 1 1 3 AA TC RD RA nepoužito
O – žádost 0 – stand. požadavek 1 - odpověď
flags 4 Kód odpovědi
Rekurze povolena Žádost o rekurzivní odpověď
1 – inverzní požadavek 2 – zašli status serveru
0 – bez chyby 1,2,3,5 – chyby
Zkrácená zpráva Autoritativní odpověď
19
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 20
DNS • Reprezentace doménového jména v RR návěstí 4.úrovně
6 d a h
l
i
návěstí 3.úrovně
a 7 m e n d e
návěstí 2.úrovně
l
u 2 c z
čitače znaků
21
• 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
návěstí 2.úrovně
l
u 2 c z
čitače znaků 22
• 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 23
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
24
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) 25
DNS – typy záznamů Záznam začátku autority zony („Start of Authority Record“)
zóna
[ttl] class v sec IN
SOA
kontakt E-mail adresa.
Charakteristika zóny (serial refresh retry expire minimum)
mendelu.cz
1
6
admin.dahlia. mendelu.cz.
(2003041501 86400 3600 3600000 2419200) 26
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 orig. doménové jméno dahlia.mendelu.cz. 1 5
27
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 2
doménové jméno DNS serveru
dahlia.mendelu.cz. 28
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.
29
DNS - typy záznamů
• Implementace DNS (de facto standard) – BIND (Berkeley Internet Name Domain) – DNS server (daemon named) – DNS klient (knihovní funkce „resolver“) – nástroje pro ověření funkcí DNS server (utilita nslookup) – konfigurační soubory (named.conf…) – datové „zónové“ soubory (tzv. „Master files“) • přímá databáze • inverzní databáze • root databáze 30
Funkční schéma DNS Lokální systém
uživ. dotaz
uživatelský uživ. odpověď Resolver program
Vzdálené systémy
DNS query DNS response
Name server
připojení RR
odkaz Sdílená databáze (cache) odkaz
obnova
Master files
Resolver
Name server žádost o update update
Name server (primární)
31
DNS klient - server • Iterační komunikace
root server
(2) A? (3) NS-1 (4) A? (1) A?
klient
server (8) A
server NS-1
(5) NS-2 (6) A? (7) A
server NS-2
32
DNS klient - server • Rekurzivní komunikace (root server rekurze neposkytuje)
root server
(2) A? (3) NS-1 (4) A? (1) A?
klient
server (8) A
server NS-1
(7) A (5) A?
(6) A
server NS-2 33