Chapter 2 Application Layer

Samankaltaiset tiedostot
2.2. Sähköposti. SMTP (Simple Mail Transfer Protocol) Postipalvelimet käyttävät SMTPprotokollaa. TCP-yhteys on pysyvä

Käyttäjäliitäntä (user agent) sanomien kirjoittaminen, lukeminen ja lähettäminen

C:. S: 250 Message accepted for delivery C: QUIT S: 221 princeton.edu closing connection

Lähettävä postipalvelin Vastaanottava postipalvelin

Chapter 2 Application Layer

Sähköpostisanoman muoto. Push- ja pull-protokollat. työntöprotokolla (PUSH) Yleisiä sanoman otsakekenttiä kentät erotettu rivinvaihdolla

Push- ja pull-protokollat

Sovelluskerros. Chapter 2 Application Layer. Sovelluskerros. Joitain verkkosovelluksia. Sovelluskerros. Verkkosovelluksen luonnista

Chapter 1 Introduction

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

OSI ja Protokollapino

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Kierroksen 4 ratkaisut

Sovelluskerros. Chapter 2 Application Layer. Sovelluskerros. Joitain verkkosovelluksia. Verkkosovelluksen luominen. Sovellusarkkitehtuurit

Chapter 3 Transport Layer. Kuljetuskerros

Käännös Mirja Hosionaho 100%

SSH Secure Shell & SSH File Transfer

Käyttäjänedustaja (User Agent) Internetin kuljetusprotokollat. Sovellus ja kuljetuspalvelun laatu

2. Sovelluksia ja sovellusprotokollia

Tietoliikenne II. Syksy 2005 Markku Kojo. Tietoliikenne II (2 ov,, 4 op) Page1. Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

SuomiCom-sähköpostiasetukset Microsoft Outlook 2016

Outlook Office 365. Tässä ohjeessa kuvataan miten sähköpostitili (IMAP) sekä Kotisivut.com Autentikoiva SMTPlisäpalvelu

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Security server v6 installation requirements

Tekninen kuvaus Aineistosiirrot Interaktiiviset yhteydet iftp-yhteydet

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

2.1. WWW. WWW on joukko yhteentoimivia palvelimia ja asiakkaita, jotka puhuvat samaa HTTP-kieltä (-protokollaa) graafinen asiakasohjelma selain

ELEC-C7241 Tietokoneverkot Sovelluskerros

AXXION OY. Hosting-palvelut Asiakasohjeistus Versio 1.0

Security server v6 installation requirements

URL (Uniform Resource Locator) 2.1. WWW. Muita URLeja: HTTP-asiakas. HTTP (Hypertext Transfer Protocol)

Sovelluksia ja sovellusprotokollia Prosessien etäkommunikointi 2.1. WWW (World Wide Web)

SÄHKÖPOSTIPALVELUIDEN KÄYTTÖÖNOTTO LOUNEA OY

Chapter 3 Transport Layer. Kuljetuskerros

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

DNA Toimistoviestintä Microsoft - sähköposti

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Chapter 5 Link Layer and LANs

Autentikoivan lähtevän postin palvelimen asetukset

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

HAMINETTI WLAN LIITTYMÄN KÄYTTÖÖNOTTO-OHJE

Sovellukset 1: sähköposti, web, nimipalvelu

Käyttäjänedustaja (User Agent) Internetin kuljetusprotokollat. Sovellus ja kuljetuspalvelun laatu

Käyttäjänedustaja (User Agent) Internetin kuljetusprotokollat. Sovellus ja kuljetuspalvelun laatu

ProNetti -sähköpostijärjestelmä

2. Sovelluksia ja sovellusprotokollia

TeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri. Pikaohje

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti

GPRS-lisäpalvelu INTERNET-ASETUKSET

Esimerkkinä - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.

Sovelluskerros. Sovelluskerros. Sovellusarkkitehtuuri. WWW ja HTTP. Asiakkaan HTTP-viestintä. Palvelimen HTTP-viestintä <#>

Käyttöohje. Teknocalor MagiCAD plugin

ELEC-C7241 Tietokoneverkot Sovelluskerros

K U U L A L A A K E R I LUOTTAMUKSELLINEN 1(6)

Tietoliikenne I (muuntokoulutettaville) 2 ov Syksy 2002 Luennot Liisa Marttinen 11/6/2002 1

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

Paavo Räisänen. WampServer palvelimen asennus ja käyttö Eclipsen kanssa, sekä ensimmäinen FTP yhteys.

Miten Internet toimii?

... nimipalvelija (primary) ja yksi tai useita nimeä vastaavan IP-osoitteen ja. apunimipalvelijoita (secondary) palauttaa sen kirjastorutiinille

Apple Mail. Käynnistäkää Apple Mail-ohjelma. Valitkaa Aloitusvalikosta sähköpostitilin tarjoajaksi Lisää muu sähköpostitili (Other Mail Account..

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Microsoft Outlook Web Access. Pikaohje sähköpostin peruskäyttöön

Luento 4: Sovelluskerros nimipalvelu (DNS), tiedostonsiirto sähköposti, vertaisverkot (P2P)

Tietoliikenne II (2 ov)

@PHPOINT Sähköpostitilin asetukset

Choose Finland-Helsinki Valitse Finland-Helsinki

Mikä on internet, miten se toimii? Mauri Heinonen

Sähköposti ja uutisryhmät

Käyttöohje Planeetta Internet Oy

Automatisoitu sähköpostin vastaanotto Linux ympäristössä. SUGIF SAS Technical Club Tapio Kalmi, SAS Institute

Ohje Inteno EG101 modeemin ohjelmistopäivitykseen

Lab A1.FARM_Hyper-V.v3

Sähköpostitilin käyttöönotto

WWW-sivu. Miten Internet toimii? World Wide Web. HTML-koodi. HTTP-istunto URL <#>

Tietoliikenne II (2 ov)

Aloita oman blogisi luominen (järjestelmä lupaa sen tapahtuvan sekunneissa ;-))

Taustaa. CGI-ohjelmointi

Tietoliikenneohjelmointi. v. 0.01

Tietoliikenne I 2 ov kevät 2004

Tietoliikenne I 2 ov kevät 2004

IRC ja etäyhteydet IRC JA ETÄYHTEYDET

Internet ja tietoverkot. 2. Sovelluskerros. Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi /2015

Tikon Ostolaskujenkäsittely versio SP1

Tietoliikenne I 2 ov kevät 2002

1.1 Internetistä lyhyesti. Mikä Internet on? 1.2 Maailmanlaajuinen verkko

Työsähköpostin sisällön siirto uuteen postijärjestelmään

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

Web Service torilla tavataan!

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

Transkriptio:

Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2004 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Sovelluskerros (2/3) 1 Sovelluskerros Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros (2/3) 2 1

HTTP: yleiskatsaus HTTP: hypertext transfer protocol WWW:n sovelluskerroksen protokolla asiakas-palvelin-malli asiakas: selain, joka pyytää, vastaanottaa ja esittää WWWobjekteja palvelin: WWW-palvelin lähettää objekteja vastauksena pyyntöihin HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 PC running Explorer Mac running Navigator Server running Apache Web Sovelluskerros (2/3) 3 HTTP request-viesti HTTP-viestit: ASCII (ihmisen luettavissa) kaksi HTTP-viestityyppiä: request, response request line (GET, POST, HEAD commands) header lines GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-: Mozilla/4.0 Connection: close Accept-language: fr Carriage return and line feed indicates end of message (extra carriage return and line feed) Sovelluskerros (2/3) 4 2

HTTP response-viesti status line (protocol, status code, status phrase) data, e.g., requested HTML file header lines HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998... Content-Length: 6821 Content-Type: text/html data data data data data... Sovelluskerros (2/3) 5 WWW-välimuistit (proxy-palvelin) Tavoite: täyttää asiakkaan pyynnöt ilman alkuperäisen palvelimen kuormitusta käyttäjän asetus selaimessa: WWWyhteydet välimuistipalvelimen kautta selain lähettää kaikki HTTP-pyynnöt välimuistipalvelimelle objekti välimuistissa: välimuistipalvelin palauttaa objektin muuten välimuistipalvelin pyytää objektin alkuperäiseltä palvelimelta ja palauttaa sen asiakkaalle client client Proxy origin origin Sovelluskerros (2/3) 6 3

Lisää WWW-välimuisteista Välimuisti toimii sekä asiakkaana että palvelimena Tyypillisesti välimuistin asentaa palveluntarjoaja (yliopisto, yritys, paikallinen ISP) Miksi WWW-välimuisti? Pienentää asiakkaan pyyntöjen vasteaikaa Vähentää liikennettä instituution pääsyverkon linkissä Mahdollistavat tehokkaamman tiedon jakamisen, jos palvelimen yhteys tai suoritusteho on heikko Sovelluskerros (2/3) 7 Esimerkki välimuistista Oletukset keskimääräinen objektin koko = 100 000 bittiä pyyntöjä instituution selaimilta alkuperäisille palvelimille keskimäärin = 15/s viive instituution reittimeltä mille tahansa alkuperäiselle palvelimelle ja takaisin = 2 s Seuraukset lähiverkon käyttöaste = 15% pääsylinkin käyttöaste = 100% kokonaisviive = Internetin viive + pääsylinkin viive + lähiverkon viive = 2 s + minuutteja + millisekunteja institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin s Sovelluskerros (2/3) 8 4

Esimerkki välimuistista (jatkuu) Mahdollinen ratkaisu kasvatetaan pääsylinkin kaistanleveyttä esim. 10 Mbps Seuraukset lähiverkon käyttöaste = 15% pääsylinkin käyttöaste = 15% kokonaisviive = Internetin viive + pääsylinkin viive + lähiverkon viive = 2 s + millisekunteja + millisekunteja usein kallis päivitys institutional network public Internet 10 Mbps access link 10 Mbps LAN origin s Sovelluskerros (2/3) 9 Esimerkki välimuistista (jatkuu) Asennetaan välimuisti oletetaan, että 40% pyynnöistä löytyy välimuistista Seuraukset 40% pyynnöistä palvellaan lähes välittömästi 60% pyynnöistä välitetään alkuperäiselle palvelimelle pääsylinkin käyttöaste pienenee 60 prosenttiin, joten viiveet merkityksettömiä (esim. 10 ms) kokonaisviive = Internetin viive + pääsylinkin viive + lähiverkon viive = 0.6*(2.01) s + millisekunteja < 1.4 s institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin s institutional cache Sovelluskerros (2/3) 10 5

Ehdollinen GET Tavoite: ei lähetetä objektia, jos välimuistissa oleva kopio on sama kuin uusin versio välimuisti: määrittelee kopion päivämäärän HTTP request-viestissä: If-modified-since: <date> palvelin: vastaus ei sisällä objektia, jos välimuistin kopio on ajan tasalla: HTTP/1.0 304 Not Modified cache HTTP request If-modified-since: <date> HTTP response HTTP/1.0 304 Not Modified HTTP request If-modified-since: <date> HTTP response HTTP/1.0 200 OK <data> object not modified object modified Sovelluskerros (2/3) 11 Sovelluskerros Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros (2/3) 12 6

FTP: protokolla tiedostojen siirtoon at host FTP interface FTP client local file system file transfer FTP remote file system FTP: file transfer protocol Siirretään tiedostoja verkon yli koneiden välillä asiakas-palvelin-malli asiakas: se, joka aloittaa siirron (kumpaan suuntaan tahansa) palvelin: päätelaite toisessa päässä (remote host) FTP: RFC 959 FTP-palvelin: portti 21 Sovelluskerros (2/3) 13 FTP: erilliset kontrolli- ja tiedostonsiirtoyhteydet FTP-asiakas avaa yhteyden FTPpalvelimen porttiin 21, määrittää TCP:n kuljetusprotokollaksi Asiakas saa käyttövaltuudet kontrolliyhteydellä Asiakas selaa etälaitteen hakemistoja lähettämällä komentoja kontrolliyhteyden kautta Kun palvelin vastaanottaa komennon tiedoston siirrosta, palvelin avaa TCP-yhteyden portista 20 asiakkaaseen Kun yksi tiedosto on siirretty, palvelin sulkee yhteyden Palvelin avaa uuden TCPyhteyden seuraavan tiedoston siirtämiseen FTP client TCP control connection port 21 TCP data connection port 20 FTP Toinen moodi tiedoston siirtoon: Asiakas avaa TCP-yhteyden palvelimen ilmoittamaan dynaamiseen porttiin Kontrolliyhteys: out of band FTP-palvelin säilyttää tilan : nykyinen hakemisto, aikaisempi käyttövaltuutus Sovelluskerros (2/3) 14 7

FTP: komentoja ja vasteita Joitain komentoja: lähetetään ASCII-tekstinä kontrolliyhteyden kautta USER name PASS password LIST tiedostojen listaus nykyisessä hakemistossa RETR filename nouda (get) tiedosto etälaitteelta STOR filename lähetä (put) tiedosto etälaitteelle Joitain vastauskoodeja: tilakoodi ja teksti (kuten HTTP:ssä) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file Sovelluskerros (2/3) 15 Sovelluskerros Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros (2/3) 16 8

Sähköposti outgoing message queue Kolme pääkomponenttia: käyttäjäit ( s) sähköpostipalvelimet SMTP: simple transfer protocol Käyttäjäti postin lukija viestien kirjoittaminen, editointi ja lukeminen esim. Pine, Mutt, Eudora, Outlook, Netscape Messenger lähtevät ja tulevat viestit säilytetään palvelimella SMTP SMTP SMTP box Sovelluskerros (2/3) 17 Sähköposti: postipalvelimet Postipalvelimet postilaatikko (box) sisältää käyttäjälle tulleet viestit viestijono sisältää lähetettävät viestit SMTP-protokolla postipalvelimien välillä sähköpostien välitykseen asiakas: lähettävä postipalvelin palvelin : vastaanottava postipalvelin SMTP SMTP SMTP Sovelluskerros (2/3) 18 9

Sähköposti: SMTP [RFC 2821] Käyttää TCP:tä luotettavaan sähköpostien lähetykseen asiakkaalta palvelimelle porttiin 25 Suora tiedonsiirto: lähettävältä palvelimelta vastaanottavalle palvelimelle Tiedonsiirron kolme vaihetta kättely (tervehdys) viestien siirto yhteyden sulkeminen Komennot ja vasteet komennot: ASCII-tekstiä vasteet: tilakoodi ja teksti Viestien täytyy olla 7 bitin ASCII -muodossa Sovelluskerros (2/3) 19 Esimerkki: Alice lähettää viestin Bobille 1) Alice käyttää omaa sähköpostiohjelmaansa viestin kirjoittamiseen Bobille 2) Alicen ohjelma lähettää viestin Alicen postipalvelimelle; viesti menee viestijonoon 3) SMTP:n asiakaspuoli avaa TCP-yhteyden Bobin postipalvelimelle 4) SMTP-asiakas lähettää viestin TCP-yhteyden yli 5) Bobin postipalvelin laittaa viestin Bobin postilaatikkoon 6) Bob käyttää omaa sähköpostiohjelmaansa viestin lukemiseen 1 2 3 4 5 6 Sovelluskerros (2/3) 20 10

Esimerkki SMTP-viestinvaihdosta S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu... Recipient ok C: DATA S: 354 Enter, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection Sovelluskerros (2/3) 21 Kokeile itse SMTP-protokollaa telnet name 25 varmista, että saat 220-vastauksen palvelimelta käytä HELO, MAIL FROM, RCPT TO, DATA, QUIT komentoja Näin voit lähettää sähköpostia ilman sähköpostiohjelmaa Sovelluskerros (2/3) 22 11

SMTP: kommentteja SMTP käyttää persistentyhteyksiä SMTP vaatii, että viesti (otsikot ja runko) on 7 bitin ASCII-tekstiä SMTP-palvelin käyttää merkkijonoa <CR><LF>.<CR><LF> viestin lopun määrittämiseen Vertailua HTTP:n kanssa: HTTP: pull SMTP: push molemmissa ASCIImuotoiset komennot ja vasteet, molemmissa tilakoodit HTTP: jokainen objekti kapseloidaan omaan vastausviestiinsä SMTP: useita objekteja lähetetään moniosaisissa viesteissä Sovelluskerros (2/3) 23 Viestin muoto SMTP: protokolla sähköpostiviestien vaihtamiseen RFC 822: standardi viestien tekstimuodolle: otsikot, esim. To: From: Subject: Eivät ole SMTP:n komentoja! viestin runko itse viesti, vain ASCIImerkkejä header body blank line Sovelluskerros (2/3) 24 12

Viestin muoto: multimedialaajennukset MIME: multimedia extension, RFC 2045, 2046, 2047 lisärivit viestin otsikossa määrittävät MIME-sisällön tyypin MIME version method used to encode data multimedia data type, subtype, parameter declaration encoded data From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data.........base64 encoded data Sovelluskerros (2/3) 25 Postinnoutoprotokollat SMTP SMTP access protocol sender s receiver s SMTP: kuljetus ja tallennus vastaanottajan postipalvelimelle Postinnoutoprotokolla ( access protocol): haku palvelimelta POP: Post Office Protocol [RFC 1939] käyttövaltuutus (ti <--> palvelin) ja lataus IMAP: Internet Mail Access Protocol [RFC 1730] enemmän ominaisuuksia (monimutkaisempi) palvelimelle tallennettujen viestien manipulointi HTTP: Web-ohjelmat http://web.jyu.fi, G, Hot, Sovelluskerros (2/3) 26 13

POP3-protokolla authorization phase asiakkaan komennot: : käyttäjätunnus pass: salasana palvelimen vastaukset: +OK -ERR transaction phase, asiakas: list: listaa viestinumerot retr: nouda viesti numeron perusteella dele: poista viesti quit S: +OK POP3 ready C: bob S: +OK C: pass hungry S: +OK successfully logged on C: list S: 1 498 S: 2 912 S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 1 contents> S:. C: dele 2 C: quit S: +OK POP3 signing off Sovelluskerros (2/3) 27 POP3 ja IMAP Lisää POP3:sta Edellisessä esimerkissä käytettiin lataa ja tuhoa - moodia Bob ei voi lukea viestejä uudelleen, jos hän vaihtaa asiakasohjelmaa Lataa ja säilytä : viestien kopioita useassa eri asiakasohjelmassa POP3 on tilaton istuntojen välillä IMAP Säilyttää kaikki viestit yhdessä paikassa: palvelimella Käyttäjä voi järjestellä viestejä kansioihin IMAP säilyttää käyttäjän tilan istuntojen välillä: kansioiden nimet sekä viestien tunnusten ja kansioiden nimien linkitykset Sovelluskerros (2/3) 28 14