6. Aplikační vrstva PB156: Počítačové sítě Eva Hladká Fakulta informatiky Masarykovy univerzity jaro 2010 Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 1 / 64 Struktura přednášky 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 2 / 64 Přehled L7. Aplikační vrstva – Přehled 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í pohled programátora vybrané síťové aplikace Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 3 / 64 Přehled L7 z pohledu sítě – kde se pohybujeme? aplikační programy – interface pro uživatele Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 4 / 64 Úvod Úvod I. aplikační vrstva: poskytuje služby pro uživatele: 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íťové 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é protokoly definují formu komunikace mezi komunikujícími aplikacemi aplikační protokoly definují: typy zpráv, které si aplikace předávájí (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á (FI MU) 6. Aplikační vrstva jaro 2010 5 / 64 Úvod Úvod II. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 6 / 64 Základní členění aplikací 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 7 / 64 Základní členění aplikací 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íť: aplikace s nízkými nároky na přenosovou síť aplikace s vysokými nároky na přenosovou síť Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 8 / 64 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, FastTrack), Skype, VoIP, atp. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 9 / 64 Základní členění aplikací Komunikační modely – Client-Server vs. Peer-to-peer Komunikační modely – Client-Server vs. Peer-to-peer II. Client-Server Peer-to-peer Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 10 / 64 Základní členění aplikací Komunikační modely – Client-Server vs. Peer-to-peer Komunikační modely – Client-Server Tenký (Thin) vs. Tlustý (Fat) 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 Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 11 / 64 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á (FI MU) 6. Aplikační vrstva jaro 2010 12 / 64 Základní členění aplikací Nároky na počítačovou síť – nízké vs. vysoké Nároky na počítačovou síť – 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 po síti) a kolísání zpoždění (jitter) Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 13 / 64 Pohled programátora 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 14 / 64 Pohled programátora Aplikační vrstva – pohled programátora aplikace spolu komunikují skrze tzv. sockety struktura, která jednoznačně popisuje komunikující aplikaci jsou nezbytné na obou komunikujících stranách socket definuje: Family – třída využitého protokolu (IPv4, IPv6, . . . ) Type – proudový (stream, TCP), datagramový (UDP) či základní (raw, ICMP) Protocol – obvykle nastaveno na 0 pro TCP a UDP Lokální adresa socketu – kombinace lokální IP a čísla portu lokální aplikace Vzdálená adresa socketu – kombinace IP a čísla portu vzdálené aplikace (komunikující strany) Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 15 / 64 Pohled programátora Aplikační vrstva – pohled programátora Typy socketů Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 16 / 64 Pohled programátora Aplikační vrstva – pohled programátora Obsluha socketu pro nespojovanou službu (UDP aplikace) I. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 17 / 64 Pohled programátora Aplikační vrstva – pohled programátora Obsluha socketu pro nespojovanou službu (UDP aplikace) II. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 18 / 64 Pohled programátora Aplikační vrstva – pohled programátora Obsluha socketu pro spojovanou službu (TCP aplikace) I. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 19 / 64 Pohled programátora Aplikační vrstva – pohled programátora Obsluha socketu pro spojovanou službu (TCP aplikace) II. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 20 / 64 Vybrané síťové aplikace 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 21 / 64 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á (FI MU) 6. Aplikační vrstva jaro 2010 22 / 64 Jmenná služba – DNS 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 23 / 64 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á (FI MU) 6. Aplikační vrstva jaro 2010 24 / 64 Jmenná služba – DNS Jmenný prostor 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á (FI MU) 6. Aplikační vrstva jaro 2010 25 / 64 Jmenná služba – DNS Jmenný prostor 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á (FI MU) 6. Aplikační vrstva jaro 2010 26 / 64 Jmenná služba – DNS Jmenný prostor 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 „. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 27 / 64 Jmenná služba – DNS Jmenný prostor Jmenný prostor Internetu III. Fully Qualified Domain Name (FQDN) – plné doménové jméno obsahující všechny značky až ke kořenovému uzlu, končí znakem „. např. aisa.fi.muni.cz. koncový znak „. se běžně neuvádí, interně (v rámci DNS) se však používá (pro rozlišení FQDN od PQDN) Partially Qualified Domain Name (PQDN) – doménové jméno, které začíná na daném uzlu, ale neobsahuje všechny značky až ke kořenovému uzlu k PQDN se pak přidává suffix, který slouží pro získání FQDN např. PQDN aisa.fi v kontextu FQDN muni.cz. (= suffix) označuje uzel s FQDN aisa.fi.muni.cz. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 28 / 64 Jmenná služba – DNS Jmenný prostor Jmenný prostor Internetu IV. Doména – podstrom doménového jmenného prostoru jménem domény je doménové jméno jejího kořenového uzlu Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 29 / 64 Jmenná služba – DNS Domény v Internetu Domény v Internetu Jmenný prostor Internetu rozdělen na 3 základní typy domén: základní (generic) domény národní (country) domény reverzní (inverse) domény Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 30 / 64 Jmenná služba – DNS Domény v Internetu Domény v Internetu Základní domény Základní domény (Generic Domains) definují uzly podle jejich povahy (chování) Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 31 / 64 Jmenná služba – DNS Domény v Internetu Domény v Internetu Základní domény – Tabulka I. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 32 / 64 Jmenná služba – DNS Domény v Internetu Domény v Internetu Základní domény – Tabulka II. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 33 / 64 Jmenná služba – DNS Domény v Internetu 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, . . . ) Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 34 / 64 Jmenná služba – DNS Domény v Internetu Domény v Internetu Reverzní/Inverzní domény Reverzní/inverzní domény (Inverse Domains) slouží pro mapování IP adres na doménová jména definovaná struktura: převrácená IP adresa + identifikátor in-addr (inverse address) (IPv4) nebo ip6 (IPv6) + identifikátor arpa (z historických důvodů) Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 35 / 64 Jmenná služba – DNS Hierarchie jmenných serverů Hierarchie jmenných serverů I. „Jak spravovat obrovské množství doménových jmen? distribucí přes více DNS serverů každý server pak je zodpovědný za určenou doménu/subdoménu Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 36 / 64 Jmenná služba – DNS Hierarchie jmenných serverů Hierarchie jmenných serverů II. Rozeznáváme: kořenové DNS servery – obsahují informace o tzv. top-level doménách (základní, národní a reverzní domény) aktuálně 13 serverů rozmístěných po světě primární DNS servery – servery spravující informace o určité doméně či její části spravované domény/části domén se nazývají zóny sekundární DNS servery – redundantní servery získávající informace o zónách od primárních serverů úkolem zvýšení škálovatelnosti a redundance při výpadku cacheovací DNS servery – servery sloužící pro zkrácení doby odpovědi na opakující se dotazy ukládají si informace o posledních provedených dotazech/odpovědích Pozn.: mechanismus cache serverů využit i pro jiné aplikace (např. WWW) Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 37 / 64 Jmenná služba – DNS Překlad adres/doménových jmen Překlad adres/doménových jmen Proces překladu doménových jmen na IP adresy (či zpět) se nazývá name-address resolution klient zasílá požadavek na překlad nejbližšímu DNS serveru UDP nebo TCP protokolem, v obou případech na port 53 ten mu buď rovnou odpoví nebo: 1 se zeptá dále – tzv. rekurzivní chování 2 klienta přesměruje – tzv. iterativní chování Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 38 / 64 World Wide Web – HTTP 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 39 / 64 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 Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 40 / 64 World Wide Web – HTTP World Wide Web – HTTP Hypertext Co je to „hypertext ? Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 41 / 64 World Wide Web – HTTP World Wide Web – HTTP Hypertext Co je to „hypertext ? Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 41 / 64 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 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 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)) Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 42 / 64 World Wide Web – HTTP World Wide Web – HTTP Příklad Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 43 / 64 World Wide Web – HTTP World Wide Web – HTTP Persistentní vs. Nepersistentní spojení Nepersistentní spojení (Nonpersistent Connection) samostatné TCP spojení uzavřeno pro každý požadavek/odpověď 1 klient otevírá TCP spojení a zasílá požadavek 2 server zasílá odpověď a uzavírá spojení 3 klient zpracovává přijatá data a potvrzuje uzavření spojení pro získání N souborů (stránek) je zapotřebí ustavit/uzavřít N spojení standardní mechanismus protokolu HTTP verze 1.0 Persistentní spojení (Persistent Connection) TCP spojení přetrvává delší dobu typicky do vypršení definovaného timeoutu či uzavření spojení jedno spojení je tak možno využít pro získání více souborů (stránek) standardní mechanismus protokolu HTTP verze 1.1 Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 44 / 64 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á (FI MU) 6. Aplikační vrstva jaro 2010 45 / 64 World Wide Web – HTTP World Wide Web – Dokumenty Statické dokumenty – ilustrace Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 46 / 64 World Wide Web – HTTP World Wide Web – Dokumenty Dynamické dokumenty – ilustrace Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 47 / 64 World Wide Web – HTTP World Wide Web – Dokumenty Aktivní dokumenty – ilustrace Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 48 / 64 Elektronická pošta – SMTP 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 49 / 64 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 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) doménové jméno dané organizace doručení emailu probíhá na základě emailových adres uvedených v obálce zprávy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 50 / 64 Elektronická pošta – SMTP Elektronická pošta – SMTP Příklad emailové zprávy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 51 / 64 Elektronická pošta – SMTP Elektronická pošta – SMTP Multipurpose Internet Mail Extensions (MIME) I. SMTP je velmi jednoduchým protokolem standardně dokáže přenášet jen textové zprávy v 7-bitovém ASCII kódování ⇒ nedokáže přenášet zprávy se specifickými znaky/diakritikou ani binární soubory (obrázky, videa, atp.) pro přenos non-ASCII dat SMTP protokolem navržen doplňkový protokol Multipurpose Internet Mail Extensions (MIME) Multipurpose Internet Mail Extensions (MIME) MIME převádí non-ASCII data na odesílací straně do ASCII dat, které jsou skrze SMTP přeneseny příjemci; tam jsou ASCII data MIME protokolem opět převedeny do non-ASCII dat nejedná se o emailový protokol (nenahrazuje SMTP, jen jej rozšiřuje) Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 52 / 64 Elektronická pošta – SMTP Elektronická pošta – SMTP Multipurpose Internet Mail Extensions (MIME) II. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 53 / 64 Elektronická pošta – SMTP Elektronická pošta – SMTP Multipurpose Internet Mail Extensions (MIME) – příklad hlaviček Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 54 / 64 Elektronická pošta – SMTP Doručení elektronických zpráv Elektronická pošta – Doručení elektronických zpráv Doručení elektronické zprávy se skládá ze 3 fází: 1 doručení emailu lokálnímu poštovnímu serveru (mailserveru) poštovní klient (Mail Transfer Agent, MTA) ustaví TCP spojení (port 25) s poštovním serverem po předání zprávy (s využitím SMTP protokolu) spojení uzavře 2 předání emailu cílovému poštovnímu serveru lokální mailserver předá emailovou zprávu cílovému mailserveru (SMTP protokolem) 3 předání/čtení emailu cílovým poštovním klientem iniciováno cílovým uživatelem (poštovním klientem) s využitím protokolu POP3 či IMAP4 Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 55 / 64 Elektronická pošta – SMTP Doručení elektronických zpráv Elektronická pošta – Doručení elektronických zpráv Ilustrace doručení emailové zprávy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 56 / 64 Elektronická pošta – SMTP Doručení elektronických zpráv Elektronická pošta – Doručení elektronických zpráv Post Office Protocol version 3 (POP3) I. Post Office Protocol version 3 (POP3) jednoduchý protokol pro přístup k emailovým zprávám na poštovním serveru poštovní klient (POP3 klient) uzavírá spojení s poštovním serverem (POP3 server) s využitím protokolu TCP, port 110 po autentizaci klienta server předává přijaté emailové zprávy zprávy následně smazány či ponechány v mailboxu Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 57 / 64 Elektronická pošta – SMTP Doručení elektronických zpráv Elektronická pošta – Doručení elektronických zpráv Post Office Protocol version 3 (POP3) II. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 58 / 64 Elektronická pošta – SMTP Doručení elektronických zpráv Elektronická pošta – Doručení elektronických zpráv Internet Mail Access Protocol version 4 (IMAP4) Nevýhody POP3: předpokládá, že při každém připojení klienta k mailserveru dojde k vyprázdnění celého mailboxu nepohodlná práce při přístupu k emailu z více poštovních klientů neumožňuje organizaci emailu na serveru neumožňuje nahlédnutí do emailu před jeho vlastním stažením Internet Mail Access Protocol version 4 (IMAP4) protokol podobný POP3 s mnoha vylepšeními: nahlédnutí do emailu před jeho stažením podpora částečných stažení emailů podpora práce s mailboxy na poštovním serveru atd. Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 59 / 64 Přenos souborů – FTP 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 60 / 64 Přenos souborů – FTP Přenos souborů – FTP File Transfer Protocol (FTP) – standardní mechanismus Internetu určený pro přenos souborů mezi uzly oproti jiným klient-server aplikacím FTP klient s FTP serverem ustavuje dvě samostatná TCP spojení řídící zprávy zasílány tzv. out-of-band 1 řídící spojení (TCP, port 21) udržováno po celou dobu ustavené relace 2 datové spojení (TCP, port 20) otevíráno/zavíráno pro každý přenášený soubor Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 61 / 64 Přenos souborů – FTP Přenos souborů – FTP Řídící vs. datová komunikace řídící komunikace – přenos požadavků klienta a odpovědí serveru domluva na parametrech spojení typ souboru (textový vs. binární), vnitřní struktura souboru (obvykle bez struktury) a přenosový mód (proudový, blokový, komprimovaný) nezbytné pro překonání heterogenity komunikujících stran datová komunikace Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 62 / 64 Přenos souborů – FTP Přenos souborů – FTP Příklad – uložení souboru na server Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 63 / 64 Multimediální přenosy 1 Přehled 2 Úvod 3 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é 4 Pohled programátora 5 Vybrané síťové aplikace 6 Jmenná služba – DNS Jmenný prostor Domény v Internetu Hierarchie jmenných serverů Překlad adres/doménových jmen 7 World Wide Web – HTTP 8 Elektronická pošta – SMTP Doručení elektronických zpráv 9 Přenos souborů – FTP 10 Multimediální přenosy Eva Hladká (FI MU) 6. Aplikační vrstva jaro 2010 64 / 64