Aplikační vrstva PB002: Základy informačních technologií Eva Hladká Slidy pripravil: Eva Hladká a Tomáš Rebok Fakulta informatiky Masarykovy univerzity jaro 2016 Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 1/42 Struktura přednášky Q Přehled O Úvod Q Základní členění aplikací • Komunikační modely - Client-Server vs. Peer-to-peer o Přístup k informacím - Pull model vs. Push model • Nároky na počítačovou síť - nízké vs. vysoké Q Vybrané síťové aplikace • Jmenná služba - DNS • World Wide Web - HTTP • Elektronická pošta - SMTP • Přenos souborů - FTP • Multimediální přenosy v datových sítích Eva Hladká (Fl MU) Aplikační vrstva Struktura přednášky Q Přehled O Úvod Q Základní členění aplikací • Komunikační modely - Client-Server vs. Peer-to-peer • Přístup k informacím - Pull model vs. Push model • Nároky na počítačovou síť - nízké vs. vysoké Q Vybrané síťové aplikace • Jmenná služba - DNS • World Wide Web - HTTP • Elektronická pošta - SMTP • Přenos souborů - FTP • Multimediální přenosy v datových sítích Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 3 / 42 L7. Aplikační vrstva - Přehled ISO/OSI Prezentační vrstva Reprezentace dat Relační vrstva Relace, meziuzlová komunikace ] ] Transportní vrstva End-to-end spoje, zajištění spolehlivosti Síťová vrstva Výběr cesty a IP (logické adresování) Vrstva datového spoje MAC a LLC (fyzické adresování) Fyzická vrstva Přenosová média, signály, přenos binárních dat ) ) ) Eva Hladká (Fl MU) Proč nestačí L4 • z pohledu sítě stačí, z pohledu uživatele potřebujeme síťové aplikace Co nás nyní čeká.. • představení L7 • základní členění aplikací • vybrané síťové aplikace Aplikační vrstva jaro 2016 4 / 42 L7 z pohledu sítě - kde se pohybujeme? OSI Model Application □ Presentation Session Transport Network Data Link OSI Model Application Presentation Session Transport Network Physical ( Network j Data Link Physical The application layer provides the interface to the network. aplikační programy - interface pro uživatele Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 5 / 42 Struktura přednášky O Přehled O Úvod Q Základní členění aplikací • Komunikační modely - Client-Server vs. Peer-to-peer • Přístup k informacím - Pull model vs. Push model • Nároky na počítačovou síť - nízké vs. vysoké Q Vybrané síťové aplikace • Jmenná služba - DNS • World Wide Web - HTTP • Elektronická pošta - SMTP 9 Přenos souborů - FTP 9 Multimediální přenosy v datových sítích Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 6 / 42 U vod I. aplikační vrstva: 9 poskytuje služby pro uživatele: 9 aplikační programy (aplikace) specifické pro požadovaný účel • např. elektronická pošta, WWW, DNS, atd. atd. • aplikace = hlavní smysl existence počítačových sítí • zahrnuje sítové aplikace/programy a aplikační protokoly • aplikační protokoly (HTTP, SMTP, atd.) jsou součástí síťových aplikací (web, email) • nejedná se o aplikace samotné 9 protokoly definují formu komunikace mezi komunikujícími aplikacem • aplikační protokoly definují: • typy zpráv, které si aplikace předávají (request/response) • syntaxi přenášených zpráv • sémantiku přenášených zpráv (jednotlivých polí) • pravidla, kdy a jak aplikace zprávy vysílají Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 U vod II. Q Software and hardware convert communication to a digital format. Q The application layer prepares human communication for transmission over the data network. Q Application layer services initiate the data transfer. Q People create the communication. Application Presentation Session Transport Network Data Link Physical OSI Model Q The application layer receives data from the network and prepares it for human use. O Each layer plays its role. Application Presentation Session Transport Network Data Link Physical OSI Model Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 Základní členění aplikací Struktura přednášky O Přehled O Úvod Q Základní členění aplikací • Komunikační modely - Client-Server vs. Peer-to-peer o Přístup k informacím - Pull model vs. Push model • Nároky na počítačovou síť - nízké vs. vysoké Q Vybrané síťové aplikace • Jmenná služba - DNS • World Wide Web - HTTP • Elektronická pošta - SMTP 9 Přenos souborů - FTP 9 Multimediální přenosy v datových sítích Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 9 / 42 Základní členění aplikací Dle využitého komunikačního modelu: • Client-Server model • Peer-to-peer model Dle přístupu k informacím: • pull model • push model Dle nároků na počítačovou sít: o aplikace s nízkými nároky na přenosovou síť • aplikace s vysokými nároky na přenosovou síť Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 10 / 42 Základní členění aplikací Komunikační modely - Client-Server vs. Peer-to-peer Komunikační modely - Client-Server vs. Peer-to-peer I Client-Server Peer-to-peer • komunikace iniciována klientem (klient = aplikační program ovládaný uživatelem) • po ustavení komunikačního kanálu klient zasílá požadavky na server, ten mu odpovídá (mechanismus request-response) « po ukončení komunikace je komunikační kanál uzavřen • (centralizace zdrojů) valná většina aplikací v Internetu (WWW, FTP, DNS, SSH, ...) • jednotliví klienti spolu komunikují přímo (uzly jsou si rovnocenné) • každý uzel poskytuje své zdroje (výpočetní síla, úložná kapacita, atp.) ostatním uzlům • každý uzel využívá zdrojů poskytovaných ostatními uzly 9 (decentralizace zdrojů) např. sdílení souborů (Gnutella, G2, FastTrack), Skype, VoIP, atp. Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 11 / 42 Komunikační modely - Client-Server vs. Peer-to-peer Komunikační modely - Client-Server vs. Peer-to-peer U. Client Client-Server Peer-to-peer Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 Základní členění aplikací Komunikační modely - Client-Server vs. Peer-to-peer Komunikační modely - Client-Server Tenký (Thin) vs. Tlustý (Far) klient Tenký (Thin) klient • aplikace, u nichž se na straně klienta vykonává minimum aplikační logiky (většina se vykonává na straně serveru) • větší hardwarové nároky na stranu serveru a na komunikaci • + jednodušší, menší nároky na HW (může tak být levnější) • — menší škálovatelnost (příliš mnoho práce dělá server), většinou vyšší objemy přenášených dat, existence Single point of failure (server) • příklad: vzdálené terminály Tlustý (Fat) klient • přesný opak tenkého klienta - většina aplikační logiky se vykonává na straně klienta • větší hardwarové i softwarové nároky na klienta • + menší nároky na server (=> dobrá škálovatelnost), většinou nižší objem přenesených dat, možnost práce offline • — komplexní provedení i instalace, značná spotřeba lokálních zdrojů (CPU, paměť, disk) • příklad: Firefox_ _ jaro 2016 13 / 42 Eva Hladká (Fl MU) Aplikační vrstva Základní členění aplikací Přístup k informacím - Pull model vs. Push model Přístup k informacím - Pull model vs. Push model Pull model Push model • přenos dat iniciován klientem (forma požadavek-odpověď) • např. webové prohlížeče • vlastnosti: • asymetrický datový tok • rozmanité požadavky na propustnost přenos dat iniciován serverem automaticky na základě znalosti uživatelova profilu (požadavků) např. streaming multimedií (IPTV) vlastnosti: • jednosměrný datový tok • definované (a stálé) požadavky na propustnost (a zpoždění, jitter, atp.) Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 14 / 42 Základní členění aplikací Nároky na počítačovou síť - nízké vs. vysoké Nároky na počítačovou sít - nízké vs. vysoké Základní parametry sítě pohledem aplikací: • ztrátovost (loss) - pravděpodobnost ztráty (poškození) přenášených dat • propustnost (bandwidth) - objem přenesených dat za časovou jednotku • časová omezení (timing) - zpoždění (delay) (doba nutná pro přenos dat síti) a kolísání zpoždění (jitter) Application JData Loss Bandwidth Time sensitive? file transfer no loss elastic no electronic mail no loss elastic no Web documents no loss elastic no real-time audio/video loss-tolerant audio: few Kbps to 1Mbps video: 10's Kbps to 5 Mbps yes: 100's of msec stored audio/video loss-tolerant same as interactive audio/video yes: few seconds interactive games loss-tolerant few Kbps to 10's Kbps yes: 100's msecs financial applications required elastic yes and no Aplikační vrstva jaro 2016 Eva Hladká (Fl MU) Struktura přednášky O Přehled O Úvod Q Základní členění aplikací • Komunikační modely - Client-Server vs. Peer-to-peer • Přístup k informacím - Pull model vs. Push model • Nároky na počítačovou síť - nízké vs. vysoké Q Vybrané síťové aplikace • Jmenná služba - DNS • World Wide Web - HTTP • Elektronická pošta - SMTP • Přenos souborů - FTP • Multimediální přenosy v datových sítích Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 16 / 42 Vybrané síťové aplikace Vybrané síťové aplikace Jmenná služba - DNS World Wide Web - HTTP Elektronická pošta - SMTP Přenos souborů - FTP Multimediální přenosy - RTP, RTCP Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 17/42 Vybrané síťové aplikace Jmenná služba - DNS Jmenná služba - DNS Domain Name System (DNS) - služba pro překlad doménových jmen na IP adresy a zpět • např. aisa.fi.muni.cz 147.251.48.1 V začátcích Internetu řešeno za pomocí tzv. host souborů • soubory s dvojicemi doménové jméno, IP adresa • neškálovatelné řešení • s růstem Internetu nemožné mít tyto soubory (obsahující doménová jména celého Internetu) na každém uzlu • navíc v nich vyhledávat, aktualizovat, .. . =4> Domain Name System (DNS) Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 18 / Vybrané síťové aplikace Jmenná služba - DNS Jmenný prostor • Jmenný prostor « způsob pojmenování předmětných entit • 2 základní varianty: • plochý jmenný prostor - jména bez jakékoliv vnitřní struktury • např. mujRouterDomaVBrne • hlavní nevýhoda: nemožnost využití ve velkém systému (nutnost centrální kontroly pro zamezení duplicit) • hierarchický jmenný prostor - jména s hierarchickou vnitřní strukturou • jména sestávají z několika částí, každá s definovaným významem • napr.mujRouter.DomaVBrne.cz • hlavní výhoda: možnost decentralizace správy (přidělování a kontroly) jmen (zodpovědnost vždy za určitou (pod)část doménového jména) Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 19 / 42 Vybrané síťové aplikace Jmenná služba - DNS Jmenný prostor Internetu I. • Jmenný prostor Internetu - doménový jmenný prostor (Domain Name Space) • varianta hierarchického uspořádání • struktura „invertovaného stromu" • maximální počet úrovní = 128 Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 20 / Vybrané síťové aplikace Jmenná služba - DNS Jmenný prostor Internetu II. každému uzlu přidělena tzv. jmenovka (label) a doménové jméno (domain name) • label - řetězec (max. 63 znaků) popisující daný uzel « jmenovka kořenového uzlu je prázdný řetězec • domain name - sekvence jmenovek (oddělená znakem „.") od daného uzlu ke kořenovému • plné doménové jméno vždy končí znakem „." Root fhda.edu. I Domain name I atc.fhda.edu. j Domain name challenger O ^hajlě^ěř^č^ďa!edt^ Domain name Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 21 / 42 Vybrané síťové aplikace Jmenná služba - DNS Domény v Internetu Základní domény - Tabulka I. Label Description com ial orsanizati t- edu Educational institutions gov int J nternational organizations mil Military groups net org Nonprofit organizations Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 22 / 42 Vybrané síťové aplikace Jmenná služba - DNS Domény v Internetu Národní domény Národní domény (Country Domains) definují uzly podle jejich příslušnosti ke státu. Na první úrovni jsou využity dvoupísmenné zkratky státu (cz, sk, ca, us, ...) Root level Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 23 / Vybrané síťové aplikace World Wide Web - HTTP World Wide Web - HTTP HyperText Transfer Protocol (HTTP) - protokol pro přístup k datům na World Wide Webu (WWW) • přenášená data mohou být ve formě textu, hypertextu, audia, videa, atp. • základní idea: klient vysílá požadavek, WWW server zasílá odpověď • komunikace TCP protokolem na portu 80 Server .—=j Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 24 / 4: Vybrané síťové aplikace World Wide Web - HTTP World Wide Web - HTTP Hypertext Co je to „hypertext"? Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 25 / 42 Vybrané síťové aplikace World Wide Web - HTTP World Wide Web - HTTP Hypertext Co je to „ hypertext"? Computers f It is used to do mathematical and logical calculation. CPU A computer is a digital electronic machine made of a CPU, a control unit, and memory. T. I It is part of a computer that controls the flow of data. It can be RAM or M ROM It is used in a computer to store information. Control unit Site A Site B Memory Site C It is random access memory. RAM It is read-only memory. ROM Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 25 / 42 Vybrané síťové aplikace World Wide Web - HTTP World Wide Web - HTTP Uniform Resource Locator (URL) Součástí požadavku je tzv. Uniform Resource Locator (URL) • standardní mechanismus pro specifikaci „čehokoliv" na Internetu o definuje zdroj, který chce klient získat • součástí URL je: • method - metoda (protokol), který má být využit pro přístup k odkazovanému zdroji o host - uzel, kde se odkazovaná informace nachází (kde má být vyhledána) • port - volitelná součást, pokud je využit jiný než standardní port • path - cesta, kde se odkazovaná informace nachází (+ případně další informace (parametry)) URL Uniform resource locator Method / Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 26 / Vybrané síťové aplikace World Wide Web - HTTP World Wide Web - Dokumenty Základní kategorie WWW dokumentů: • statické - na serveru uložené dokumenty s pevným obsahem • např. HTML dokumenty • dynamické - neexistují v předem definovaném formátu; jsou tvořeny webovým serverem dle požadavků klienta • např. CGI skripty « aktivní- serverem poskytnuté programy spouštěné na straně klienta • např. JAVA aplikace Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 27 / Elektronická pošta - SMTP Elektronická pošta - SMTP • Simple Mail Transfer Protocol (SMTP) - standardní mechanismus pro posílání elektronické pošty (electronic mail, email) v Internetu o struktura SMTP emailové zprávy: • obálka (envelope) - obsahuje adresu odesílatele, adresu příjemce a další případné informace • vlastní zpráva (message) - dělí se na hlavičky a tělo zprávy • hlavičky - definují odesílatele, příjemce, předmět zprávy, ... • tělo zprávy - vlastní přenášená zpráva • emailové adresy: • skládají se z tzv. lokální části a doménového jména • lokální část definuje jméno souboru, kam je doručována pošta předmětného uživatele (tzv. mailbox) 9 doménové jméno dané organizace • doručení emailu probíhá na základě emailových adres uvedených v obálce zprávy Local part @ Domain name Address of the mailbox on the local site The domain name of the destination Eva Hladká (Fl MU) Aplikační vrstva jaro 2016 28 / 42 Vybrané síťové aplikace Elektronická pošta - SMTP Elektronická pošta - SMTP Příklad emailové zprávy Behrouz Forouzan De Anza College Cupertino, CA 96014 Sophia Fegan Corn-Net Cupertino, CA 95014 Sophia Fegan Corn-Net Cupertino, CA 95014 Jan. 5, 2003 Subject: Network Dear Mrs. Fegan: We want to inform you that our network is working properly after the last repair. Yours truly, Behrouz Forouzan Mail From: forouzan@deanza.edu RCPT To: fegan@comnet.com From: Behrouz Forouzan To: Sophia Fegan Date: 1/5/03 Subject: Network Dear Mrs. Fegan: We want to inform you that our network is working properly after the last repair. Yours truly, Behrouz Forouzan > a s— — Cti Oj O DC čti