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 HTTP DHCP DNS RIP TELNET FTP SMTP SNMP RTP port UDP TCP IP
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)
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)
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
DHCP – Dynamic Host Configuration Protocol DHCP zprávy Well-known porty Server 67 Klient 68 Klient: „Discovery“ a „Request“ Server: „Offer“ „ Acknowledge“ UDP záhlaví DHCP zpráva IP záhlaví
DHCP – Dynamic Host Configuration Protocol Klient Server Discovery 68 67 broadcast 67 Offer 68 unicast Request 68 broadcast 67 67 Acknowledge unicast 68
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
/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; }}
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ěď)
Hierarchie jmenného prostoru DNS III I II arpa generic CC arpa edu com org ad cz zw in-addr mendelu sun 195 akela prod 178 Doména nejvyšší úrovně TLD www 78 Doména druhé úrovně SLD 10
II Generic Domain http://www.iana.com/gtld/gtld.htm 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
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ě)
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“) relativní – 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ů v úrovních 3 – 6 je dekadické vyjádření příslušného oktetu IP adresy uzlu
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
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 (well-known 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)
DNS zpráva (různý počet DNS zdrojových záznamů) Formát DNS zprávy požadavek/odpověď 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ěď DNS záhlaví 12 B DNS zpráva (různý počet DNS zdrojových záznamů)
DNS Odpověď Zóna Name serveru Dotaz Cache Dotaz Odpověď Plnění cache DB Cache Dotaz Odpověď Plnění cache
ADDITIONAL INFORMATION DNS Formát DNS zprávy HEADER Sekce QUESTIONS request QUESTIONS ANSWERS response AUTHORITY AUTHORITY ADDITIONAL INFORMATION ADDITIONAL INFORMATION
DNS zpráva Sekce „HEADER“ – 12 B Formát záhlaví 0 15 16 31 0 15 16 31 identifikátor příznaky (flags) Počet RR v sekci QUESTIONS Počet RR v sekci ANSWERS Počet RR v sekci AUTHORITY Počet RR v sekci ADDITIONAL flags 1 4 1 1 1 1 3 4 QR Kód operace AA TC RD RA nepoužito Kód odpovědi O – žádost 1 - odpověď Rekurze povolena Žádost o rekurzivní odpověď Zkrácená zpráva Autoritativní odpověď 0 – bez chyby 1,2,3,5 – chyby 0 – stand. požadavek 1 – inverzní požadavek 2 – zašli status serveru
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
Reprezentace doménového jména v RR DNS Reprezentace doménového jména v RR návěstí 4.úrovně návěstí 3.úrovně návěstí 2.úrovně 6 d a h l i 7 m e n u 2 c z čitače znaků
Formát sekce QUESTIONS – DNS query Reprezentace doménového jména – query name návěstí 4.úrovně návěstí 3.úrovně návěstí 2.úrovně query name query type query class (0x01) 0 15 16 31 6 d a h l i 7 m e n u 2 c z čitače znaků
Hodnoty type/query type Name Hodnota Popis type query type A 1 IP adresa X NS 2 Name server CNAME 5 Kanonické jméno PTR 12 Odkaz do inverzní domény HINFO 13 Informační záznam MX 15 Mail exchanger SOA 6 Záznam Start of Authority AXFR 252 požadavek na přesun zóny ANY 255 požadavek na všechny záznamy
délka dat zdroje – např. 4 pro IP adresu 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
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)
admin.dahlia.mendelu.cz. DNS – typy záznamů Záznam začátku autority zony („Start of Authority Record“) zóna [ttl] v sec class 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)
DNS – typy záznamů Adresový záznam („Address Record“) Záznam pro zřetězené jméno („Canonical Name Record“) [ttl] host class A IP adresa akela 1 195.178.78.10 alias [ttl] class CNAME orig. doménové jméno www 1 5 dahlia.mendelu.cz.
doménové jméno mail serveru doménové jméno DNS serveru DNS – typy záznamů Záznam uzlu doručujícího poštovní zprávy („Mail Exchanger Record“) Záznam pro DNS server zóny („Name Server Record“) doménové jméno zóny/uzlu doménové jméno mail serveru class MX preference [ttl] 15 0/5/10 .. mendelu.cz. 1 dahlia.mendelu.cz. doménové jméno zóny doménové jméno DNS serveru NS [ttl] class 1 2 mendelu.cz. dahlia.mendelu.cz.
DNS – typy záznamů Ukazatel na záznam v reverzní doméně (= in-addrr.arpa.) pro daný uzel („Domain Name Pointer Record“) reverzní DN [ttl] class PTR doménové jméno 10.78.178.195.in-addr.arpa. 1 12 akela.mendelu.cz.
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
Sdílená databáze (cache) Funkční schéma DNS Lokální systém Vzdálené systémy uživ. dotaz uživatelský program Resolver DNS query Name server uživ. odpověď DNS response připojení RR odkaz Sdílená databáze (cache) odkaz obnova Master files Resolver DNS query Name server DNS response žádost o update Name server (primární) update
DNS klient - server Iterační komunikace root NS-1 server klient NS-2
DNS klient - server Rekurzivní komunikace (root server rekurze neposkytuje) root server (2) A? (3) NS-1 server NS-1 (4) A? server (1) A? klient (7) A (6) A (5) A? (8) A server NS-2