Aplikační vrstva PB002: Základy informačních technologií Eva Hladká S lidy pripravil: Eva Hladká a Tomáš Rebok Fakulta informatiky Masarykovy univerzity jaro 2019 Eva Hladká (Fl MU) Aplikační vrstva jaro 2019 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 • Přístup k informacím - Pull model vs. Push model • Nároky na počítačovou sít - nízké vs. vysoké Q Vybrané sítové 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ít - nízké vs. vysoké Q Vybrané sítové 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 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ítové aplikace Co nás nyní čeká • představení L7 • základní členění aplikací • vybrané sítové aplikace Aplikační vrstva jaro 2019 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 2019 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ít - nízké vs. vysoké Q Vybrané sítové 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 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ítový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 2019 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 People create the communication. Q Application layer services initiate the data transfer. 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 2019 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ít - nízké vs. vysoké Q Vybrané sítové 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 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ít • aplikace s vysokými nároky na přenosovou sít Eva Hladká (Fl MU) Aplikační vrstva jaro 2019 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 (decentralizace zdrojů) např. sdílení souborů (Gnutella, G2, Fast Track), Skype, VoIP, atp. Eva Hladká (Fl MU) Aplikační vrstva jaro 2019 11/ 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 2019 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) o 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ět, disk) • příklad: Firefox_ _ jaro 2019 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ěd) • 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 2019 14/42 Základní členění aplikací Nároky na počítačovou sít - 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 2019 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ít - nízké vs. vysoké Q Vybrané sítové 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 2019 16/42 Vybrané sítové aplikace • Jmenná služba - DNS • World Wide Web - HTTP • Elektronická pošta - SMTP • Přenos souborů - FTP 9 Multimediální přenosy - RTPf RTCP Eva Hladká (Fl MU) Aplikační vrstva Vybrané sítové 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, .. . Domain Name System (DNS) Eva Hladká (Fl MU) Aplikační vrstva jaro 2019 18 / 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 • např. 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 2019 19/42 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 2019 20/42 Vybrané sítové 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 2019 21/42 Vybrané sítové 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 2019 22/42 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 2019 23 / Vybrané sítové 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ěd • komunikace TCP protokolem na portu 80 Server .—=j Eva Hladká (Fl MU) Aplikační vrstva jaro 2019 24/4: Vybrané sítové aplikace World Wide Web - HTTP World Wide Web - HTTP Hypertext Co je to hypertext? Eva Hladká (Fl MU) Aplikační vrstva jaro 2019 25/42 Vybrané sítové 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. It is random access memory. RAM Control unit Memory It is read-only memory. ROM Site A Site B Site C Eva Hladká (Fl MU) Aplikační vrstva jaro 2019 25/42 Vybrané sítové 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 2019 26 / Vybrané sítové 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 2019 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 2019 28/42 Vybrané sítové 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