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

Koko: px
Aloita esitys sivulta:

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

Transkriptio

1 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 Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July Sovelluskerros Tavoite: Tutustua verkkosovellusten protokollien käsitteisiin ja toteutusnäkökulmiin: kuljetuskerroksen palvelumallit asiakas-palvelinmalli vertaisverkkomalli Opiskellaan protokollia tutkimalla yleisimpiä sovelluskerroksen protokollia: HTTP FTP SMTP / POP3 / IMAP DNS All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Sovelluskerros 1 Sovelluskerros 2 Sovelluskerros Joitain verkkosovelluksia Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi sähköposti WWW pikaviestimet etäkäyttö P2P tiedostojen jako verkkopelit suoratoisto (streaming) Internet-puhelut reaaliaikaiset etäneuvottelut massiivinen rinnakkaislaskenta Sovelluskerros 3 Sovelluskerros 4 Verkkosovelluksen luominen Sovellusarkkitehtuurit Kirjoitetaan ohjelma, joka toimii eri päätelaitteissa kommunikoi verkon yli esim. WWW-palvelimen ohjelmisto kommunikoi selainohjelmiston kanssa Verkon rungon laitteisiin ei kirjoiteta sovellusohjelmia rungon laitteet eivät toimi sovelluskerroksella tämä mahdollistaa nopean sovellussuunnittelun application transport network data link physical application transport network data link physical application transport network data link physical Asiakas-palvelin (client-) Vertaisverkko (peer-to-peer, P2P) Asiakas-palvelin- ja vertaisverkkoarkkitehtuurien yhdistelmä (hybrid) Sovelluskerros 5 Sovelluskerros 6 1

2 Asiakas-palvelin-arkkitehtuuri Palvelin: päätelaite aina päällä pysyvä IP-osoite palvelinfarmeja skaalautuvuuteen Asiakkaat: kommunikoivat palvelimen kanssa voivat olla yhteydessä verkkoon epäsäännöllisesti IP-osoite voi olla dynaaminen eivät kommunikoi suoraan toistensa kanssa Puhdas P2P-arkkitehtuuri Ei aina päällä olevaa palvelinta Mitkä tahansa päätelaitteet kommunikoivat suoraan keskenään Vertaiskumppanit (peers) ovat epäsäännöllisesti yhteydessä verkkoon ja niiden IP-osoitteet muuttuvat Esim. Gnutella, Kazaa/FastTrack Helposti skaalautuva Mutta hankala hallinnoida Sovelluskerros 7 Sovelluskerros 8 Asiakas-palvelin- ja P2Parkkitehtuurien yhdistelmä Napster tiedostojen siirtoon P2P tiedostojen etsintä keskitetty: sisältö rekisteröidään keskuspalvelimelle sisällön sijainti selvitetään keskuspalvelimelta Pikaviestimet (instant messaging) kahden käyttäjän väliseen keskusteluun P2P sijainnit ja läsnäolotiedot keskitetty: käyttäjä rekisteröi IP-osoitteensa keskuspalvelimelle kytkeytyessään verkkoon keskuspalvelimelta kysytään muiden käyttäjien IP-osoitteet Sovelluskerros 9 Prosessien kommunikointi Prosessi: päätelaitteessa toiminnassa oleva ohjelma samassa päätelaitteessa kaksi prosessia kommunikoivat käyttäen prosessien välistä kommunikointia (käyttöjärjestelmän määrittelemä) eri päätelaitteissa sijaitsevat prosessit kommunikoivat vaihtamalla viestejä Asiakasprosessi: prosessi, joka aloittaa kommunikoinnin Palvelinprosessi: prosessi, joka odottaa yhteydenottoa Huom: P2Parkkitehtuurin mukaisissa sovelluksissa on sekä asiakas- että palvelinprosessit Sovelluskerros 10 Soketit (sockets) Prosessi lähettää ja vastaanottaa viestejä sokettinsa välityksellä Soketti vastaa ovea: lähettävä prosessi työntää viestin ulos ovesta lähettävä prosessi luottaa kuljetusinfrastruktuurin oven toisella puolella kuljettavan viestin vastaanottavan prosessin soketille Ohjelmointirajapinta (API): valitaan kuljetusprotokolla host or process socket TCP with buffers, variables voidaan määritellä joitain parametreja controlled by app developer controlled by OS Internet host or process socket TCP with buffers, variables Sovelluskerros 11 Prosessien osoitteet Jotta prosessi voi Tunniste sisältää sekä vastaanottaa viestejä, IP-osoitteen että sillä täytyy olla tunniste porttinumeron, joka Päätelaitteella on liittyy prosessiin yksikäsitteinen 32 kyseisessä bittinen IP-osoite päätelaitteessa Q: Riittääkö Esimerkkejä päätelaitteen IP-osoite porttinumeroista: tunnistamaan prosessin? HTTP-palvelin: 80 A: Ei, koska samassa sähköpostipalvelin: 25 päätelaitteessa voi olla toiminnassa monta prosessia samanaikaisesti Sovelluskerros 12 2

3 Sovelluskerroksen protokollat Mitä kuljetuspalveluita sovellus tarvitsee? Minkälaisia viestejä vaihdetaan: esim. request- ja responseviestit Viestien syntaksi: mitä kenttiä viestissä on, miten kentät kuvataan Kenttien semantiikka: kenttien merkitys Säännöt sille milloin ja miten prosessit lähettävät viestejä ja vastaavat viesteihin Julkisia protokollia: määritellään RFC:ssä mahdollistaa yhteentoimivuuden esim. HTTP, SMTP Yksityisiä (proprietary) protokollia: esim. Skype, Kazaa/FastTrack Sovelluskerros 13 Tiedon häviäminen jotkut sovellukset (esim. äänen tai puheen siirtäminen) sietävät jonkin verran häviöitä monet sovellukset (esim. tiedostonsiirto, telnet) vaativat 100% luotettavan yhteyden Ajoitus jotkut sovellukset (esim. Internet-puhelut, interaktiiviset pelit) vaativat pienen viiveen toimiakseen tehokkaasti Kaistanleveys jotkut sovellukset (esim. multimedia) vaativat minimikaistanleveyden toimiakseen tehokkaasti monet sovellukset ( joustavat sovellukset ) käyttävät kaiken saamansa kaistanleveyden Sovelluskerros 14 Kuljetuspalvelun vaatimukset yleisimmille sovelluksille Application file transfer Web documents real-time audio/video stored audio/video interactive games instant messaging Data loss no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss Bandwidth elastic no elastic no elastic no audio: 5kbps-1Mbps yes, 100 s msec video:10kbps-5mbps same as above few kbps up elastic Time Sensitive yes, few secs yes, 100 s msec yes and no Internetin kuljetusprotokollien palvelut TCP-palvelu: yhteydellinen: asiakas- ja palvelinprosessien välillä vaaditaan yhteyden alustus luotettava tiedonsiirto lähettävän ja vastaanottavan prosessin välillä vuonvalvonta: lähettäjä ei tukahduta vastaanottajaa ruuhkanhallinta: lähettäjä hidastaa lähetysnopeutta, kun verkko ruuhkaantuu ei tarjoa: takeita ajoitukselle tai minimikaistanleveydelle UDP-palvelu: yhteydetön, epäluotettava tiedonsiirto lähettävän ja vastaanottavan prosessin välillä ei tarjoa: yhteyden muodostusta, luotettavuutta, vuonvalvontaa, ruuhkanhallintaa, takeita ajoitukselle tai minimikaistanleveydelle Q: Onko mitään hyötyä? Miksi UDP on olemassa? Sovelluskerros 15 Sovelluskerros 16 Internet-sovellukset: sovellus- ja kuljetusprotokollat Sovelluskerros Application remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g., RealNetworks) proprietary (e.g., Skype) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP (maybe TCP for handshaking) Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros 17 Sovelluskerros 18 3

4 WWW ja HTTP HTTP: yleiskatsaus Ensin hieman termejä WWW-sivu koostuu objekteista Objekti voi olla HTML-tiedosto, JPEG-kuva, Javasovelma (appletti), äänitiedosto, WWW-sivu sisältää perus HTML-tiedoston, jossa voidaan viitata muihin objekteihin Jokaisella objektilla on URL-osoite Esimerkki URL: laitenimi polkunimi 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 19 Sovelluskerros 20 HTTP: yleiskatsaus HTTP-yhteydet Käyttää TCP:tä kuljetuskerroksella: asiakas aloittaa TCPyhteyden (luo soketin) palvelimeen, porttiin 80 palvelin hyväksyy asiakkaan TCP-yhteyden HTTP-viestejä (sovelluskerroksen protokolla-viestejä) vaihdetaan selaimen (HTTPasiakas) ja WWW-palvelimen (HTTP-palvelin) välillä TCP-yhteys suljetaan HTTP on tilaton palvelin ei säilytä mitään tietoja asiakkaan aikaisemmista pyynnöistä Tilatietoja ylläpitävät protokollat ovat monimutkaisia! aikaisempi historia (tila) täytyy säilyttää jos palvelin tai asiakas kaatuu, niiden näkemys tilasta voi olla erilainen, vaatii yhteensovittamista Nonpersistent HTTP Enintään yksi objekti lähetetään yhden TCPyhteyden yli HTTP/1.0 käyttää nonpersistentyhteyksiä Persistent HTTP Useita objekteja voidaan lähettää saman TCP-yhteyden yli HTTP/1.1 käyttää oletuksena persistentyhteyksiä Sovelluskerros 21 Sovelluskerros 22 Nonpersistent HTTP Oletetaan, että käyttäjä kirjoittaa URL:n aika 1a. HTTP-asiakas aloittaa TCPyhteyden HTTP-palvelimeen (prosessiin) päätelaitteen portissa HTTP-asiakas lähettää HTTP request-viestin (sisältää URL:n) TCP-yhteyden sokettiinsa; viesti ilmaisee, että asiakas haluaa objektin somedepartment/home.index (sisältää tekstiä, viittaukset 10 jpeg-kuvaan) 1b. HTTP-palvelin päätelaitteessa odottaa TCP-yhteyttä portissa 80; hyväksyy yhteyden, ilmoittaa asiakkaalle 3. HTTP-palvelin vastaanottaa request-viestin, muodostaa response-viestin, joka sisältää pyydetyn objektin ja lähettää viestin sokettiinsa Sovelluskerros 23 Nonpersistent HTTP (jatkuu) aika 5. HTTP-asiakas vastaanottaa response-viestin, joka sisältää html-tiedoston ja esittää sen selaimessa; jäsentäessään html-tiedostoa löytää 10 viittausta jpeg-objekteihin 6. Askeleet 1-5 toistetaan jokaiselle 10 jpeg-objektille 4. HTTP-palvelin sulkee TCPyhteyden Sovelluskerros 24 4

5 Vasteajan mallinnus RRT (round-trip time): aika, joka kuluu pienen paketin matkaan asiakkaalta palvelimelle ja takaisin Vasteaika: yksi RTT menee TCP-yhteyden avaamiseen yksi RTT menee HTTP-pyynnön lähettämiseen sekä HTTPvastauksen ja tiedoston ensimmäisten tavujen vastaanottamiseen transmit time: tiedoston lähettämiseen kuluva aika total = 2RTT+transmit time initiate TCP connection RTT request file RTT file received time time time to transmit file Sovelluskerros 25 Persistent HTTP Nonpersistent HTTP vaatii 2 RTT:tä per objekti käyttöjärjestelmän täytyy jakaa resursseja jokaiselle TCP-yhteydelle mutta selain usein avaa rinnakkaisia TCP-yhteyksiä hakeakseen viitattuja objekteja Persistent HTTP palvelin jättää yhteyden auki lähetettyään pyynnön seuraavat HTTP-viestit saman asiakkaan ja palvelimen välillä lähetetään saman yhteyden yli Persistent without pipelining: asiakas lähettää uuden pyynnön vasta sitten kun edellinen vastaus on vastaanotettu yksi RTT per viitattu objekti Persistent with pipelining: oletus HTTP/1.1:ssä asiakas lähettää pyynnön heti kun se huomaa viitatun objektin vain yksi RTT kaikille viitatuille objekteille Sovelluskerros 26 HTTP request-viesti HTTP request-viesti: yleinen muoto 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: 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 27 Sovelluskerros 28 Lomakkeen sisällön lataaminen Metodityypit POST-metodi: WWW-sivuilla on usein lomakkeita, joihin syötetään tietoja syötetyt tiedot ladataan palvelimelle request-viestin entity body -kentässä URL-metodi: käyttää GET-metodia syötetyt tiedot ladataan palvelimelle request-viestin URL-kentässä: HTTP/1.0 GET POST HEAD pyytää palvelinta jättämään pyydetyn objektin pois vastauksesta HTTP/1.1 GET, POST, HEAD PUT lataa entity body kentässä annetun tiedoston URL-kentässä määriteltyyn paikkaan DELETE tuhoaa URL-kentässä määritellyn tiedoston Sovelluskerros 29 Sovelluskerros 30 5

6 HTTP response-viesti HTTP response-viestin tilakoodit status line (protocol, status code, status phrase) data, e.g., requested HTML file header lines HTTP/ OK Connection: close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun Content-Length: 6821 Content-Type: text/html data data data data data... Sovelluskerros 31 Ensimmäisellä rivillä response-viestissä Joitain esimerkkejä: 200 OK pyyntö onnistui, pyydetty objekti on tässä viestissä 301 Moved Permanently pyydetty objekti siirretty, uusi sijainti ilmoitetaan tässä viestissä (otsikko Location:) 400 Bad Request palvelin ei ymmärtänyt pyyntöä 404 Not Found pyydettyä dokumenttia ei löydy tältä palvelimelta 505 HTTP Version Not Supported Sovelluskerros 32 Kokeile itse HTTP-protokollaa Käyttäjä-palvelin-tila: evästeet 1. Ota Telnet-yhteys johonkin WWW-palvelimeen: telnet s.jyu.fi Kirjoita GET HTTP-viesti: GET /~mannikko/tietoverkot/ HTTP/1.1 Host: s.jyu.fi Avaa TCP-yhteyden palvelimen porttiin 80 (HTTP-palvelimen oletusportti); kaikki mitä kirjoitetaan, lähetetään samaan porttiin 3. Tutki HTTP-palvelimen lähettämää vastausta Kirjoittamalla tämän (paina lopuksi Enteriä kahdesti) lähetät lyhyen mutta täydellisen GET-pyynnön HTTP-palvelimelle Esimerkki: Olet yhteydessä Internetiin aina samalta koneelta Vierailet jonkin verkkokaupan sivulla ensimmäistä kertaa Kun HTTP-pyyntö saapuu palvelimelle, luodaan yksikäsitteinen tunnus ja tallennetaan tiedot tietokantaan Seuraavilla vierailuilla palvelin tunnistaa sinut tunnuksen perusteella Sovelluskerros 33 Sovelluskerros 34 Evästeet: tilatietojen säilyttäminen Cookie file ebay: 8734 Cookie file amazon: 1678 ebay: 8734 one week later: Cookie file amazon: 1678 ebay: 8734 client usual http request msg usual http response + Set-cookie: 1678 usual http request msg cookie: 1678 usual http response msg usual http request msg cookie: 1678 usual http response msg creates ID 1678 for Monet WWW-sivustot käyttävät evästeitä Neljä komponenttia: 1) cookie-otsikkorivi HTTP response-viestissä 2) cookie-otsikkorivi HTTP request-viestissä 3) cookie-tiedosto säilytetään käyttäjän koneella ja sitä hallinnoi käyttäjän selain 4) tietokanta WWWpalvelimella cookiespecific action cookiespectific action Evästeet Evästeet mahdollistavat: käyttövaltuutus ostoskorit suosittelut käyttäjän istunnon tila (WWW-pohjainen sähköposti) Evästeet ja yksityisyys: evästeiden avulla sivustot keräävät tietoja käyttäjistä annat nimesi ja sähköpostiosoitteesi sivustolle hakukoneet käyttävät uudelleensuuntausta ja evästeitä lisätiedon keräämiseen mainostajat saavat tietoa sivustoilta Sovelluskerros 35 Sovelluskerros 36 6

7 WWW-välimuistit (proxy-palvelin) Lisää WWW-välimuisteista 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 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 37 Sovelluskerros 38 Esimerkki välimuistista Esimerkki välimuistista (jatkuu) Oletukset keskimääräinen objektin koko = 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 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 39 Sovelluskerros 40 Esimerkki välimuistista (jatkuu) Ehdollinen GET 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 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/ Not Modified cache HTTP request If-modified-since: <date> HTTP response HTTP/ Not Modified HTTP request If-modified-since: <date> HTTP response HTTP/ OK <data> object not modified object modified Sovelluskerros 41 Sovelluskerros 42 7

8 Sovelluskerros FTP: protokolla tiedostojen siirtoon Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros 43 at host FTP FTP client interface 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 44 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 45 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 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file Sovelluskerros 46 Sovelluskerros Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros 47 Sähköposti Kolme pääkomponenttia: käyttäjäit ( s) sähköpostipalvelimet SMTP: simple mail 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 mail SMTP mail SMTP SMTP outgoing message queue mail mailbox Sovelluskerros 48 8

9 Sähköposti: postipalvelimet Sähköposti: SMTP [RFC 2821] Postipalvelimet postilaatikko (mailbox) 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 mail SMTP mail SMTP SMTP mail Sovelluskerros 49 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 50 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 1 mail ) 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 mail 5 6 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 mail, 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 51 Sovelluskerros 52 Kokeile itse SMTP-protokollaa SMTP: kommentteja 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 53 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 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 54 9

10 Viestin muoto Viestin muoto: multimedialaajennukset 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 MIME: multimedia mail 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: To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data Sovelluskerros 55 Sovelluskerros 56 Postinnoutoprotokollat SMTP SMTP access protocol sender s mail receiver s mail SMTP: kuljetus ja tallennus vastaanottajan postipalvelimelle Postinnoutoprotokolla (mail 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: Webmail-ohjelmat Gmail, Hotmail, Sovelluskerros 57 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: S: 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 58 POP3 ja IMAP Sovelluskerros 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 Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros 59 Sovelluskerros 60 10

11 DNS: Domain Name System DNS: kommentteja Ihmiset: useita tunnisteita: hetu, nimi, passin numero Internetin päätelaitteet ja reitittimet: IP-osoite (32 bittiä), käytetään datagrammien osoitteissa nimi, esim. ihmisten käyttämä Q: Miten yhdistetään IPosoitteet ja nimet? Domain Name System Hajautettu tietokanta: toteutettu hierarkkisesti useisiin nimipalvelimiin Sovelluskerroksen protokolla: päätelaitteet, reitittimet ja nimipalvelimet kommunikoivat selvittääkseen nimet (osoite-nimi-vastaavuus) huom: Internetin rungon toiminta, toteutettu sovelluskerroksen protokollana monimutkaisuus verkon reunalla DNS-palvelut Laitteen nimen muunnos IPosoitteeksi Usean nimen käyttö (aliasing) Kanoniset ja alias-nimet Postipalvelimien aliasing Kuorman hajautus Monistetut WWWpalvelimet: joukko IPosoitteita yhdelle kanoniselle nimelle Miksi ei keskitetty DNS? single point of failure liikenteen määrä kaukainen keskitetty tietokanta ylläpito Ei skaalaudu! Sovelluskerros 61 Sovelluskerros 62 Hajautettu ja hierarkkinen tietokanta Root DNS Servers com DNS s org DNS s fi DNS s google.com DNS s amazon.com DNS s wikipedia.org DNS s jyu.fi csc.fi DNS s DNS s Asiakas haluaa IP-osoitteen: Asiakas kysyy juurinimipalvelimelta fi-alueesta vastaavan nimipalvelimen IP-osoitteen Asiakas kysyy fi-nimipalvelimelta jyu.fi-alueesta vastaavan nimipalvelimen IP-osoitteen Asiakas kysyy jyu.fi-nimipalvelimelta nimeä vastaavan osoitteen Sovelluskerros 63 DNS: juurinimipalvelimet Paikallinen nimipalvelin kysyy juurinimipalvelimelta, jos ei itse tiedä Juurinimipalvelin ottaa yhteyden alueesta (domainista) vastaavaan viralliseen nimipalvelimeen, jos ei itse tiedä saa nimeä vastaavan IP-osoitteen lähettää osoitteen paikalliselle nimipalvelimelle e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations) b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA a Verisign, Dulles, VA c Cogent, Herndon, VA (also Los Angeles) d U Maryland College Park, MD k RIPE London (Amsterdam, Frankfurt) g US DoD Vienna, VA h ARL Aberdeen, MD i Autonomica, Stockholm (plus 3 j Verisign, ( 11 locations) other locations) m WIDE Tokyo maailmassa 13 juurinimipalvelinta (13 IP-osoitetta, mutta kymmeniä palvelimia) Sovelluskerros 64 TLD ja auktoritatiiviset palvelimet Ylimmän tason (top-level domain, TLD) palvelimet: vastuussa alueista com, org, net, edu, (generic TLD) sekä kaikista ylimmän tason maakohtaisista alueista fi, se, uk, esim. com: Network solutions esim. fi: Viestintävirasto/Ficora Auktoritatiiviset (authoritative) palvelimet: organisaation nimipalvelimet, tarjoavat viralliset nimi-ip-vastaavuudet organisaation sovelluspalvelimille (esim. smtp.jyu.fi) ylläpitäjä voi olla joko organisaatio itse tai palveluntarjoaja Paikalliset nimipalvelimet Jokaisella palveluntarjoajalla (alueellinen ISP, yritys, yliopisto): yksi päänimipalvelin (primary name ) kutsutaan myös oletusnimipalvelimeksi (default name ) lisäksi varanimipalvelimia (secondary name s) Kun päätelaite tekee DNS-kyselyn, se lähetetään paikalliselle nimipalvelimelle toimii kuin välimuistipalvelin (proxy) tarvittaessa lähettää kyselyn hierarkian seuraavalle tasolle Sovelluskerros 65 Sovelluskerros 66 11

12 Esimerkki root DNS Rekursiivinen kysely root DNS Päätelaite cis.poly.edu haluaa IP-osoitteen laitteelle gaia.cs.umass.edu iteratiivinen kysely: palvelin, johon otettiin yhteyttä, vastaa antamalla toisen palvelimen nimen En tiedä tätä nimeä, mutta kysy tuolta palvelimelta local DNS dns.poly.edu requesting host cis.poly.edu TLD DNS authoritative DNS dns.cs.umass.edu gaia.cs.umass.edu rekursiivinen kysely: palvelin, johon otettiin yhteyttä, jatkaa nimen selvittämistä kuormittaa palvelinta? normaalisti: päätelaite jättää kyselyn paikallisen nimipalvelimen tehtäväksi paikallinen nimipalvelin suorittaa iteratiivisen kyselyn local DNS dns.poly.edu 1 requesting host cis.poly.edu authoritative DNS dns.cs.umass.edu 4 TLD DNS gaia.cs.umass.edu Sovelluskerros 67 Sovelluskerros 68 DNS: välimuisti ja tietojen päivitys Kun (mikä tahansa) nimipalvelin oppii nimen ja osoitteen vastaavuuden, se tallennetaan välimuistiin Jos vastaus kyselyyn löytyy välimuistista, kyselyä ei tarvitse jatkaa Välimuistin tiedot tuhotaan tietyn ajan kuluttua (timeout) TLD-palvelimien tiedot ovat tyypillisesti paikallisten nimipalvelimien välimuistissa siksi juurinimipalvelimilta kysytään vain harvoin Sovelluskerros 69 DNS-tietueet DNS: hajautettu tietokanta, tiedot tietueissa (resource records, RR) Type=A Type=NS RR:n muoto: (name, value, type, ttl) name on laitenimi value on IP-osoite name on domain (esim. jyu.fi) value on tämän domainin auktoritatiivisen nimipalvelimen IP-osoite Type=CNAME name on alias-nimi jollekin kanoniselle nimelle (esim. s.jyu.fi on oikeasti karahka.cc.jyu.fi) value on kanoninen nimi Type=MX value on nimeen name liittyvän postipalvelimen nimi Sovelluskerros 70 DNS-protokollan viestit DNS-protokolla : query- ja reply-viestit, molemmilla sama viestin muoto Viestin otsikko identification: 16 bittinen kyselyn numero, vastauksessa käytetään samaa numeroa flags: kysymys vai vastaus rekursio halutaan rekursio mahdollinen vastaus auktoritatiivinen DNS-protokollan viestit kyselyjen nimija tyyppikentät vastaukset kyselyihin tietoja auktoritatiivisille palvelimille mahdollista lisätietoa Sovelluskerros 71 Sovelluskerros 72 12

13 Tietojen syöttäminen DNS:ään Sovelluskerros Esimerkki: perustetaan verkkoutopia Rekisteröidään nimi verkkoutopia.com rekisterinpitäjältä (esim. Network Solutions) Rekisterinpitäjälle täytyy toimittaa kahden nimipalvelimen (auktoritatiivinen primary, secondary) nimet ja IP-osoitteet Rekisterinpitäjä lisää RR-tietueet com-domainin TLDpalvelimelle (molemmille nimipalvelimille omansa): (verkkoutopia.com, dns1.verkkoutopia.com, NS) (dns1.verkkoutopia.com, , A) Auktoritatiiviseen palvelimeen laitetaan tyypin A tietue nimelle ja tyypin MX tietue nimelle verkkoutopia.com Miten muut saavat WWW-sivujesi IP-osoitteen? Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sovelluskerros 73 Sovelluskerros 74 P2P ja tiedostojen jakaminen P2P: keskitetty hakemisto Esimerkki Alicella on P2Pasiakassovellus käynnissä tietokoneellaan On epäsäännöllisesti yhteydessä Internetiin; saa joka kerta uuden IPosoitteen Pyytää tiettyä tiedostoa Sovellus näyttää toiset vertaiskäyttäjät, joilla on kopio tiedostosta Alice valitsee yhden vertaiskäyttäjän, Bobin Tiedosto kopioidaan Bobin koneelta Alicen koneelle: käytetään Kun Alice lataa tiedostoa, muut käyttäjät voivat ladata sen Alicelta Alicen sovellus on sekä WWW-asiakas että väliaikainen WWW-palvelin Kaikki vertaiskäyttäjät ovat palvelimia = helposti skaalautuva! Alkuperäinen Napster - malli 1) kun käyttäjä ottaa yhteyden, informoidaan keskuspalvelinta: käyttäjän IP-osoite tarjolla oleva sisältö 2) Alice kysyy tiedoston sijaintia palvelimelta 3) Alice pyytää tiedoston Bobilta centralized directory Alice 3 Bob peers Sovelluskerros 75 Sovelluskerros 76 P2P: keskitetyn hakemiston ongelmia Hajautettu hakemisto: Gnutella Single point of failure Pullonkaula suorituskyvyssä Tekijänoikeuksien rikkominen tiedostojen siirto hajautettu, mutta sisällön paikannus vahvasti keskitetty Täysin hajautettu ei keskuspalvelinta Julkinen protokolla Monia Gnutella-protokollaa käyttäviä asiakassovelluksia Gnutella käytti aikaisemmin query flooding menetelmää sisällön etsimiseen, nykyisin tehokkaampia algoritmeja Overlay-verkko (graafi): verkko koostuu TCPyhteyksistä käyttäjien välillä aktiiviset käyttäjät ovat verkon solmuja verkon kaaret ovat yhteyksiä (eivät fyysisiä linkkejä) käyttäjä on tyypillisesti yhteydessä alle 10 naapuriin verkossa Sovelluskerros 77 Sovelluskerros 78 13

14 Gnutella: alkuperäinen protokolla Query-viesti lähetetään olemassa olevien TCPyhteyksien yli Käyttäjät lähettävät Queryviestin eteenpäin QueryHit-viesti lähetetään käänteistä polkua pitkin Query QueryHit File transfer: HTTP Query QueryHit Skaalautuvuus: rajoitettu Sovelluskerros 79 Gnutella: käyttäjän liittyminen 1. Liittyvän käyttäjän X täytyy löytää jokin toinen käyttäjä Gnutella-verkossa: lista käyttäjäehdokkaista 2. X yrittää vuoronperään muodostaa TCP-yhteyden listalla oleviin käyttäjiin kunnes saadaan luotua yhteys käyttäjään Y 3. X lähettää Ping-viestin Y:lle; Y lähettää Pingviestin eteenpäin 4. Kaikki Ping-viestin vastaanottavat käyttäjät vastaavat Pong-viestillä 5. X vastaanottaa monta Pong-viestiä ja voi sitten muodostaa lisää TCP-yhteyksiä Käyttäjä lähtee verkosta? Sovelluskerros 80 Hajautuksen hyödyntäminen: Kazaa Kazaa: kyselyt Jokainen käyttäjä on joko ryhmänjohtaja tai ryhmänjohtajan alainen TCP-yhteys käyttäjän ja ryhmänjohtajan välillä TCP-yhteys joidenkin ryhmänjohtajien välillä Ryhmänjohtaja ylläpitää tietoa alaistensa sisällöstä ordinary peer group-leader peer neighboring relationships in overlay network Sovelluskerros 81 Jokaisella tiedostolla tiiviste (hash) Asiakas lähettää avainsana-kyselyjä ryhmänjohtajalleen Ryhmänjohtaja vastaa, jos osuma: Jokaiselle osumalle: metadata, hash, IP-osoite Jos ryhmänjohtaja lähettää kyselyn edelleen muille ryhmänjohtajille, myös ne vastaavat Asiakas valitsee ladattavat tiedostot HTTP request -viestejä käyttäjille, joilla tiedostot ovat; tunnisteena käytetään tiivisteitä Sovelluskerros 82 Sovelluskerros Verkkosovellusten periaatteet WWW ja HTTP FTP Sähköposti SMTP, POP3, IMAP DNS P2P ja tiedostojen jakaminen Sokettiohjelmointi Sokettiohjelmointi Tavoite: oppia miten asiakas-palvelin-sovellus kommunikoi sokettien avulla Socket API esitelty 1981: BSD4.1 UNIX sovellus luo, käyttää ja vapauttaa soketit asiakas-palvelin-malli kaksi kuljetustyyppiä: luotettava tavuvirta epäluotettava datagrammi soketti paikallinen, sovelluksen luoma, käyttöjärjestelmän kontrolloima rajapinta ( ovi ), jonka kautta sovellusprosessi voi sekä lähettää että vastaanottaa viestejä Sovelluskerros 83 Sovelluskerros 84 14

15 outtoserver infromserver infromuser Sokettiohjelmointi TCP:llä Sokettiohjelmointi TCP:llä Soketti: ovi sovellusprosessin ja kuljetusprotokollan (UDP tai TCP) välillä TCP-palvelu: luotettava tavujen siirto prosessilta toiselle controlled by application developer controlled by operating system process socket TCP with buffers, variables host or internet process socket TCP with buffers, variables host or controlled by application developer controlled by operating system Sovelluskerros 85 Asiakkaan täytyy ottaa yhteys palvelimeen: palvelinprosessin täytyy olla ensin käynnissä palvelimen on täytynyt luoda soketti, joka hyväksyy asiakkaan kontaktit Asiakas ottaa yhteyttä palvelimeen: luo paikallisen TCP-soketin määrittelee palvelinprosessin IP-osoitteen ja porttinumeron kun asiakas luo soketin: asiakas avaa TCP-yhteyden palvelimeen kun asiakas avaa TCP-yhteyden, palvelin luo uuden soketin kommunikointia varten mahdollistaa sen, että palvelin voi kommunikoida useiden asiakkaiden kanssa asiakkaat erotetaan toisistaan lähdeporttinumerojen avulla sovelluksen näkökulma TCP tarjoaa luotettavan, järjestyksen säilyttävän bittivirran ( putken ) asiakkaan ja palvelimen välillä Sovelluskerros 86 Sokettiohjelmointi: virrat Sokettiohjelmointi TCP:llä Virta (stream) on jono merkkejä, joka virtaa sisään prosessiin tai ulos prosessista Syötevirta (input stream) on liitetty johonkin lähteeseen (input source), esim. näppäimistö tai soketti Tulostevirta (output stream) on liitetty johonkin kohteeseen (output source), esim. näyttö tai soketti Esimerkki sovelluksesta: 1) asiakas lukee tekstirivin näppäimistöltä (infromuser stream) ja lähettää sen palvelimelle soketin kautta (outtoserver stream) 2) palvelin lukee rivin soketistaan 3) palvelin muuntaa rivin isoiksi kirjaimiksi ja lähettää sen takaisin asiakkaalle 4) asiakas lukee muunnetun rivin soketistaan (infromserver stream) ja tulostaa sen näytölle Process Client process keyboard monitor input stream output input stream stream client TCP clientsocket socket TCP socket to network from network Sovelluskerros 87 Sovelluskerros 88 Asiakas-palvelin-sokettien toiminta: TCP Server (running on hostid) create socket, port=x, for incoming request: welcomesocket = ServerSocket() TCP wait for incoming connection request connection setup connectionsocket = welcomesocket.accept() read request from connectionsocket write reply to connectionsocket close connectionsocket Client create socket, connect to hostid, port=x clientsocket = Socket() send request using clientsocket read reply from clientsocket close clientsocket Sovelluskerros 89 Esimerkki: Java-asiakas (TCP) Create input stream Create client socket, connect to Create output stream attached to socket import java.io.*; import java.net.*; class TCPClient { public static void main(string argv[]) throws Exception { String sentence; String modifiedsentence; BufferedReader infromuser = new BufferedReader(new InputStreamReader(System.in)); Socket clientsocket = new Socket("hostname", 6789); DataOutputStream outtoserver = new DataOutputStream(clientSocket.getOutputStream()); Sovelluskerros 90 15

16 sendpacket receivepacket infromuser Esimerkki: Java-asiakas (TCP) jatkuu Create input stream attached to socket Send line to Read line from BufferedReader infromserver = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = infromuser.readline(); outtoserver.writebytes(sentence + '\n'); modifiedsentence = infromserver.readline(); System.out.println("FROM SERVER: " + modifiedsentence); clientsocket.close(); Sovelluskerros 91 Esimerkki: Java-palvelin (TCP) Create welcoming socket at port 6789 Wait on welcoming socket for contact by client Create input stream attached to socket import java.io.*; import java.net.*; class TCPServer { public static void main(string argv[]) throws Exception { String clientsentence; String capitalizedsentence; ServerSocket welcomesocket = new ServerSocket(6789); while(true) { Socket connectionsocket = welcomesocket.accept(); BufferedReader infromclient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); Sovelluskerros 92 Esimerkki: Java-palvelin (TCP) jatkuu Sokettiohjelmointi UDP:llä Create output stream attached to socket Read in line from socket Write out line to socket DataOutputStream outtoclient = new DataOutputStream(connectionSocket.getOutputStream()); clientsentence = infromclient.readline(); capitalizedsentence = clientsentence.touppercase() + '\n'; outtoclient.writebytes(capitalizedsentence); End of while loop, loop back and wait for another client connection UDP: ei yhteyttä asiakkaan ja palvelimen välillä ei kättelyä lähettäjä laittaa vastaanottajan IPosoitteen ja porttinumeron jokaiseen pakettiin palvelimen täytyy lukea lähettäjän IP-osoite ja porttinumero jokaisesta vastaanotetusta paketista UDP: siirretty data voi tulla väärässä järjestyksessä, tai voi kadota matkalla sovelluksen näkökulma UDP tarjoaa epäluotettavan tavupakettien ( datagrammien ) siirron asiakkaan ja palvelimen välillä Sovelluskerros 93 Sovelluskerros 94 Asiakas-palvelin-sokettien toiminta: UDP Esimerkki: Java-asiakas (UDP) Server (running on hostid) Client keyboard monitor create socket, port=x, for incoming request: Socket = DatagramSocket() read request from Socket write reply to Socket specifying client host address, port number create socket, clientsocket = DatagramSocket() create address (hostid,port=x), send datagram request using clientsocket read reply from clientsocket close clientsocket Client Process process Output: lähettää paketin (TCP lähetti bittivirran ) input stream UDP packet client UDP clientsocket socket to network UDP packet from network UDP socket Input: vastaanottaa paketin (TCP vastaanotti bittivirran ) Sovelluskerros 95 Sovelluskerros 96 16

17 Esimerkki: Java-asiakas (UDP) Esimerkki: Java-asiakas (UDP) jatkuu Create input stream Create client socket Translate hostname to IP address using DNS import java.io.*; import java.net.*; class UDPClient { public static void main(string args[]) throws Exception { BufferedReader infromuser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket clientsocket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName("hostname"); byte[] senddata = new byte[1024]; byte[] receivedata = new byte[1024]; String sentence = infromuser.readline(); senddata = sentence.getbytes(); Sovelluskerros 97 Create datagram with data-to-send, length, IP addr, port Send datagram to Read datagram from DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress, 9876); clientsocket.send(sendpacket); DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); clientsocket.receive(receivepacket); String modifiedsentence = new String(receivePacket.getData()); System.out.println("FROM SERVER:" + modifiedsentence); clientsocket.close(); Sovelluskerros 98 Esimerkki: Java-palvelin (UDP) Esimerkki: Java-palvelin (UDP) jatkuu Create datagram socket at port 9876 Create space for received datagram Receive datagram import java.io.*; import java.net.*; class UDPServer { public static void main(string args[]) throws Exception { DatagramSocket Socket = new DatagramSocket(9876); byte[] receivedata = new byte[1024]; byte[] senddata = new byte[1024]; while(true) { DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); Socket.receive(receivePacket); Sovelluskerros 99 Get IP addr, port of sender Create datagram to send to client Write out datagram to socket String sentence = new String(receivePacket.getData()); InetAddress IPAddress = receivepacket.getaddress(); int port = receivepacket.getport(); String capitalizedsentence = sentence.touppercase(); senddata = capitalizedsentence.getbytes(); DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress, port); Socket.send(sendPacket); End of while loop, loop back and wait for another datagram Sovelluskerros 100 Sovelluskerros: Yhteenveto Mitä opimme verkkosovelluksista Sovelluskerros: Yhteenveto Mitä opimme protokollista Sovellusarkkitehtuurit: asiakas-palvelin vertaisverkko, P2P hybridi Sovellusten vaatimuksia palveluille: luotettavuus kaistanleveys viive Internetin kuljetuspalvelut: yhteydellinen, luotettava: TCP yhteydetön, epäluotettava: UDP Protokollia: HTTP FTP SMTP, POP, IMAP DNS Tyypillinen request- ja reply-viestien vaihto: asiakas pyytää tietoa tai palvelua palvelin vastaa lähettämällä tilakoodin tai dataa Viestien muoto: otsikot: kenttiä, jotka antavat tietoa lähetettävästä datasta data: informaatio, joka välitetään kontrolliviestit vs. dataviestit in-band, out-of-band keskitetty vs. hajautettu tilaton vs. tilallinen luotettava vs. epäluotettava tiedonsiirto monimutkaisuus verkon reunalla Sovelluskerros 101 Sovelluskerros

Chapter 2 Application Layer

Chapter 2 Application Layer 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

Lisätiedot

Chapter 2 Application Layer

Chapter 2 Application Layer 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

Lisätiedot

Chapter 2 Application Layer

Chapter 2 Application Layer 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

Lisätiedot

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

Sovelluskerros. Chapter 2 Application Layer. Sovelluskerros. Joitain verkkosovelluksia. Sovelluskerros. Verkkosovelluksen luonnista 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

Lisätiedot

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

2.2. Sähköposti. SMTP (Simple Mail Transfer Protocol) Postipalvelimet käyttävät SMTPprotokollaa. TCP-yhteys on pysyvä 2.2. Sähköposti Käyttäjäliitäntä (user ) sanomien kirjoittaminen, lukeminen ja lähettäminen Postipalvelin (mail server) postilaatikot Postiprotokolla sanomien toimittaminen lähettäjän postijärjestelmästä

Lisätiedot

Push- ja pull-protokollat

Push- ja pull-protokollat S: 220 helsinki.fi C: MAIL FROM: S: 250 OK C: RCPT TO: S: 250 OK C: DATA S: 354 Enter mail, end with.

Lisätiedot

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

C:. S: 250 Message accepted for delivery C: QUIT S: 221 princeton.edu closing connection Lähettävä postipalvelin muodostaa TCP-yhteyden esittelee itsensä kertoo lähettäjän ja vastaanottajan lähettää sanoman, jos vastaanottava palvelin antaa luvan Vastaanottava postipalvelin kuuntelee TCP-porttia

Lisätiedot

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

Sähköpostisanoman muoto. Push- ja pull-protokollat. työntöprotokolla (PUSH) Yleisiä sanoman otsakekenttiä kentät erotettu rivinvaihdolla Lähettävä postipalvelin muodostaa TCP-yhteyden esittelee itsensä kertoo lähettäjän ja vastaanottajan lähettää sanoman, jos vastaanottava palvelin antaa luvan Vastaanottava postipalvelin kuuntelee TCP-porttia

Lisätiedot

Lähettävä postipalvelin Vastaanottava postipalvelin

Lähettävä postipalvelin Vastaanottava postipalvelin Lähettävä postipalvelin muodostaa TCP-yhteyden esittelee itsensä kertoo lähettäjän ja vastaanottajan lähettää sanoman, jos vastaanottava palvelin antaa luvan Vastaanottava postipalvelin kuuntelee TCP-porttia

Lisätiedot

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction 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

Lisätiedot

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

Käyttäjäliitäntä (user agent) sanomien kirjoittaminen, lukeminen ja lähettäminen 2.2. Sähköposti Käyttäjäliitäntä (user agent) sanomien kirjoittaminen, lukeminen ja lähettäminen Postipalvelin (mail server) postilaatikot Postiprotokolla SMTP sanomien toimittaminen lähettäjän postijärjestelmästä

Lisätiedot

OSI ja Protokollapino

OSI ja Protokollapino TCP/IP OSI ja Protokollapino OSI: Open Systems Interconnection OSI Malli TCP/IP hierarkia Protokollat 7 Sovelluskerros 6 Esitystapakerros Sovellus 5 Istuntokerros 4 Kuljetuskerros 3 Verkkokerros Linkkikerros

Lisätiedot

Luento 3: Sovelluskerros verkkosovelluksen periaatteet, WWW, pistoke

Luento 3: Sovelluskerros verkkosovelluksen periaatteet, WWW, pistoke : Sovelluskerros verkkosovelluksen periaatteet, WWW, pistoke 4.11.2013 Tiina Niklander Kurose&Ross Ch2 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved 1 segmentti paketti kehys message,

Lisätiedot

Tietoliikenteen perusteet

Tietoliikenteen perusteet Tietoliikenteen perusteet Luento 3: Sovelluskerros verkkosovelluksen periaatteet, WWW, pistoke Syksy 2014, Tiina Niklander Tietoliikenteen perusteet, syksy 2014 Tiina Niklander 16.2.2005 sanoma segmentti

Lisätiedot

Chapter 3 Transport Layer. Kuljetuskerros

Chapter 3 Transport Layer. Kuljetuskerros Chapter 3 Transport ayer 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

Lisätiedot

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua sovellusta

Lisätiedot

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua sovellusta

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) 27.9.2001 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) 23.1.2002 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) 23.1.2002 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua

Lisätiedot

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end 3. Kuljetuskerros 3.1. Kuljetuspalvelu prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän

Lisätiedot

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

S 38.1105 Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory S 38.1105 Tietoliikennetekniikan perusteet Pakettikytkentäiset verkot Kertausta: Verkkojen OSI kerrosmalli Sovelluskerros Esitystapakerros Istuntokerros Kuljetuskerros Verkkokerros Linkkikerros Fyysinen

Lisätiedot

Chapter 3 Transport Layer. Kuljetuskerros

Chapter 3 Transport Layer. Kuljetuskerros Chapter 3 Transport 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

Lisätiedot

ELEC-C7241 Tietokoneverkot Sovelluskerros

ELEC-C7241 Tietokoneverkot Sovelluskerros ELEC-C7241 Tietokoneverkot Sovelluskerros Pasi Sarolahti (useat kalvot: Sanna Suoranta) 17.1.2017 Agenda Viiveet Kuinka suhtautuvat toisiinsa? DNS dig Web Netcat / curl Sähköposti Wireshark (Verkkosovellukset)

Lisätiedot

Tietoliikenteen perusteet. VERKKOSOVELLUKSIA SOVELLUSPROTOKOLLIA Kurose, Ross: Ch 2

Tietoliikenteen perusteet. VERKKOSOVELLUKSIA SOVELLUSPROTOKOLLIA Kurose, Ross: Ch 2 Tietoliikenteen perusteet VERKKOSOVELLUKSIA SOVELLUSPROTOKOLLIA Kurose, Ross: Ch 2 Tietoliikenteen perusteet /2007/ Liisa Marttinen 1 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto

Lisätiedot

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

Käyttäjänedustaja (User Agent) Internetin kuljetusprotokollat. Sovellus ja kuljetuspalvelun laatu 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua sovellusta

Lisätiedot

Tietoliikenteen perusteet SOVELLUSKERROS

Tietoliikenteen perusteet SOVELLUSKERROS Tietoliikenteen perusteet SOVELLUSKERROS (Application layer) Kurose, Ross: Ch 2 Tietoliikenteen perusteet /2010 1 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto ja FTP Sähköposti

Lisätiedot

Verkkosovellusten periaatteet

Verkkosovellusten periaatteet Tietoliikenteen perusteet SOVELLUSKERROS (Application layer) Kurose, Ross: Ch 2 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto ja FTP Sähköposti ja SMTP, IMAP, POP3 Nimipalvelu

Lisätiedot

Tietoliikenteen perusteet SOVELLUSKERROS

Tietoliikenteen perusteet SOVELLUSKERROS Tietoliikenteen perusteet SOVELLUSKERROS (Application layer) Kurose, Ross: Ch 2 Tietoliikenteen perusteet /2009/ Liisa Marttinen 1 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto

Lisätiedot

Tietoliikenteen perusteet SOVELLUSKERROS

Tietoliikenteen perusteet SOVELLUSKERROS Tietoliikenteen perusteet SOVELLUSKERROS (Application layer) Kurose, Ross: Ch 2 Tietoliikenteen perusteet /2009/ Liisa Marttinen 1 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto

Lisätiedot

Verkkosovellusten periaatteet

Verkkosovellusten periaatteet Tietoliikenteen perusteet VERKKOSOVELLUKSIA SOVELLUSPROTOKOLLIA Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto ja FTP Sähköposti ja SMTP, IMAP, POP3 Nimipalvelu ja DNS Vertaistoimijat

Lisätiedot

ELEC-C7241 Tietokoneverkot Sovelluskerros

ELEC-C7241 Tietokoneverkot Sovelluskerros ELEC-C7241 Tietokoneverkot Sovelluskerros Pasi Sarolahti (useat kalvot: Sanna Suoranta) 16.1.2018 Agenda Viiveet Kuinka suhtautuvat toisiinsa? DNS dig Web Netcat / curl Sähköposti Wireshark Alustusta kuljetuskerrokselle

Lisätiedot

SSH Secure Shell & SSH File Transfer

SSH Secure Shell & SSH File Transfer SSH Secure Shell & SSH File Transfer TIETOHALLINTO Janne Suvanto 1.9 2002 Sisällysluettelo Sisällysluettelo... 1 Yleistä... 2 SSH Secure Shell ohjelman asetukset... 3 POP3 tunnelin asetukset... 6 Yhteyden

Lisätiedot

Tietoliikenteen perusteet SOVELLUSKERROS

Tietoliikenteen perusteet SOVELLUSKERROS Tietoliikenteen perusteet SOVELLUSKERROS (Application layer) Kurose, Ross: Ch 2 Tietoliikenteen perusteet /2008/ Liisa Marttinen 1 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto

Lisätiedot

Verkkosovellusten periaatteet

Verkkosovellusten periaatteet Tietoliikenteen perusteet SOVELLUSKERROS (Application layer) Kurose, Ross: Ch 2 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto ja FTP Sähköposti ja SMTP, IMAP, POP3 Nimipalvelu

Lisätiedot

Tietoliikenteen perusteet SOVELLUSKERROS

Tietoliikenteen perusteet SOVELLUSKERROS Tietoliikenteen perusteet SOVELLUSKERROS (Application layer) Kurose, Ross: Ch 2 Tietoliikenteen perusteet /2008/ Liisa Marttinen 1 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto

Lisätiedot

Verkkosovellusten periaatteet

Verkkosovellusten periaatteet Tietoliikenteen perusteet SOVELLUSKERROS (Application layer) Kurose, Ross: Ch 2 Sisältöä Verkkosovellusten periaatteet World Wide Web ja HTTP Tiedostonsiirto ja FTP Sähköposti ja SMTP, IMAP, POP3 Nimipalvelu

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos) Tietoliikenne II Kertausta ja täydennystä Tietoliikenne I - kurssin asioihin perusteellisemmin laajemmin

Lisätiedot

Käännös Mirja Hosionaho 100%

Käännös Mirja Hosionaho 100% Kappale 2 Käännös Mirja Hosionaho 100% Application Layer 2-1 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).

Lisätiedot

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

Tietoliikenne II. Syksy 2005 Markku Kojo. Tietoliikenne II (2 ov,, 4 op) Page1. Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos Tietoliikenne II Syksy 2005 Markku Kojo 1 Syksy 2005 Tietoliikenne II (2 ov,, 4 op) Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos 2 Page1 1 Kirjallisuus ja muuta materiaalia Kurssikirja:

Lisätiedot

SuomiCom-sähköpostiasetukset Microsoft Outlook 2016

SuomiCom-sähköpostiasetukset Microsoft Outlook 2016 SuomiCom-sähköpostiasetukset Microsoft Outlook 2016 Nämä ohjeet on suunnattu Microsoft Outlook 2016 -ohjelmalle, mutta ohje todennäköisesti toimii suuntaa-antavana myös vanhemmille versioille. Kuvat ovat

Lisätiedot

Verkko-ohjemointia. TCP vs. UDP Socket, ServerSocket Datagrammit RMI

Verkko-ohjemointia. TCP vs. UDP Socket, ServerSocket Datagrammit RMI 15.3.2005 Verkko-ohjemointia TCP vs. UDP Socket, ServerSocket Datagrammit RMI 1 Javaa verkossa Sovelmat - appletit ajetaan www-selaimessa peritään jawa.awt.applet tai javax.swing.japlet (vrt. JFrame) http://java.sun.com/docs/books/tutorial/applet/

Lisätiedot

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos) Tietoliikenne II Kertausta ja täydennystä Tietoliikenne I - kurssin asioihin perusteellisemmin laajemmin

Lisätiedot

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

Esimerkkinä http://wordpress.com/ - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress. BLOGIN LUOMINEN Esimerkkinä http://wordpress.com/ - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.org) Myös http://blogspot.com on ilmainen ja helppokäyttöinen

Lisätiedot

AXXION OY. Hosting-palvelut Asiakasohjeistus Versio 1.0

AXXION OY. Hosting-palvelut Asiakasohjeistus Versio 1.0 AXXION OY Hosting-palvelut Asiakasohjeistus Versio 1.0 27.09.2007 1 Yleistä Tämä dokumentti on asiakkaille tarkoitettu ohjeistus Axxion Oy:n toimittamien hosting-palveluiden myymiseksi. Dokumentin aihepiiriin

Lisätiedot

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti Kuljetuskerros Tietokoneverkot Matti Siekkinen Pasi Sarolahti Osa sisällöstä adaptoitu seuraavista lähteistä: J.F. Kurose and K.W. Ross: Computer Networking: A Top-Down Approach 6th ed. -kirjan lisämateriaali

Lisätiedot

Tietoliikenteen perusteet

Tietoliikenteen perusteet Tietoliikenteen perusteet Luento 3: Sovelluskerros verkkosovelluksen periaatteet, WWW, pistoke Syksy 2015, Timo Karvi Tietoliikenteen perusteet, syksy 2014 Tiina Niklander 16.2.2005 sanoma segmentti datagrammi

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents

Lisätiedot

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

Outlook Office 365. Tässä ohjeessa kuvataan miten sähköpostitili (IMAP) sekä Kotisivut.com Autentikoiva SMTPlisäpalvelu 1 Tämä ohje on tarkoitettu seuraaville Outlook-sähköpostiohjelman versioille: Outlook 2016 tai uudempi tai sekä Windows-käyttöjärjestelmille. Tässä ohjeessa kuvataan miten sähköpostitili (IMAP) sekä Kotisivut.com

Lisätiedot

Miten Internet toimii?

Miten Internet toimii? Miten Internet toimii? WWW-sivu 2 HTML-koodi Nixu International Nixu

Lisätiedot

kynnysarvo (threshold)

kynnysarvo (threshold) kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K kynnysarvoon saakka voidaan kasvattaa ruuhkaikkunaa eksponentiaalisesti kynnysarvon saavuttamisen jälkeen kasvatetaan

Lisätiedot

Tekninen kuvaus Aineistosiirrot Interaktiiviset yhteydet iftp-yhteydet

Tekninen kuvaus Aineistosiirrot Interaktiiviset yhteydet iftp-yhteydet Tekninen kuvaus Aineistosiirrot Interaktiiviset yhteydet iftp-yhteydet 15.11.2012 Sisällysluettelo 1 Johdanto... 3 1.2 Interaktiivinen FTP-yhteystapa... 3 1.3 Linkki aineistosiirtopalveluun liittyvät dokumentit...

Lisätiedot

Mikä on internet, miten se toimii? Mauri Heinonen

Mikä on internet, miten se toimii? Mauri Heinonen Mikä on internet, miten se toimii? Mauri Heinonen Mikä on Internet? Verkkojen verkko Muodostettu liittämällä lukuisia aliverkkoja suuremmaksi verkoksi Sivustojen tekemiseen käytetään kuvauskielta HTML

Lisätiedot

kynnysarvo (threshold)

kynnysarvo (threshold) kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K kynnysarvoon saakka voidaan kasvattaa ruuhkaikkunaa eksponentiaalisesti kynnysarvon saavuttamisen jälkeen kasvatetaan

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) 23.3.2001 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa sovellusta

Lisätiedot

Autentikoivan lähtevän postin palvelimen asetukset

Autentikoivan lähtevän postin palvelimen asetukset Autentikoivan lähtevän postin palvelimen asetukset - Avaa Työkalut valikko ja valitse Tilien asetukset - Valitse vasemman reunan lokerosta Lähtevän postin palvelin (SM - Valitse listasta palvelin, jonka

Lisätiedot

Salasanan vaihto uuteen / How to change password

Salasanan vaihto uuteen / How to change password Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change

Lisätiedot

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite TW-EAV510: PORTTIOHJAUS (VIRTUAL SERVER) ESIMERKISSÄ VALVONTAKAMERAN KYTKEMINEN VERKKOON Laitteessa tulee olla ohjelmisto 5.00.49 tai uudempi, tarvittaessa päivitä laite OPERAATTORIN IP---OSOITE - Jotta

Lisätiedot

Sähköpostitilin käyttöönotto

Sähköpostitilin käyttöönotto Sähköpostitilin käyttöönotto Versio 1.0 Jarno Parkkinen jarno@atflow.fi Sivu 1 / 16 1 Johdanto... 2 2 Thunderbird ohjelman lataus ja asennus... 3 3 Sähköpostitilin lisääminen ja käyttöönotto... 4 3.2 Tietojen

Lisätiedot

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu 3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end lta lle looginen yhteys portti verkkokerros koneelta koneelle I-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän hyvä, sitä

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

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

Aloita oman blogisi luominen (järjestelmä lupaa sen tapahtuvan sekunneissa ;-)) BLOGIN LUOMINEN Esimerkkinä http://wordpress.com/ - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.org) Avaa http://wordpress.com/ -sivu. Aloita oman

Lisätiedot

ProNetti -sähköpostijärjestelmä

ProNetti -sähköpostijärjestelmä Sivu 1(6) käyttöohje ProNetti -sähköpostijärjestelmä Protacon Solutions Oy:n tarjoamassa sähköpostijärjestelmässä sähköposteja voidaan lukea ja lähettää käyttämällä esimerkiksi Thunderbird tai Microsoft

Lisätiedot

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

HAMINETTI WLAN LIITTYMÄN KÄYTTÖÖNOTTO-OHJE HAMINETTI WLAN LIITTYMÄN KÄYTTÖÖNOTTO-OHJE Vaihe 1, Client manager ohjelmiston ja sovittimen ajureiden asennus Asennuksen vaiheissa saattaa olla sovitin ja käyttöjärjestelmä kohtaisia eroja. Alla olevassa

Lisätiedot

kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K RTT

kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K RTT kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K kynnysarvoon saakka voidaan kasvattaa ruuhkaikkunaa eksponentiaalisesti kynnysarvon saavuttamisen jälkeen kasvatetaan

Lisätiedot

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

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

Lisätiedot

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua sovellusta

Lisätiedot

DNA Toimistoviestintä Microsoft - sähköposti

DNA Toimistoviestintä Microsoft - sähköposti DNA Toimistoviestintä Microsoft - sähköposti 30.10.2013 Luottamuksellinen MS Outlook, Standard postitilin asennus 1/6 Käynnistä Outlook 2010. Seuraava näyttö avautuu Valitse Next (Seuraava). 2 MS Outlook,

Lisätiedot

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua sovellusta

Lisätiedot

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

2.1. WWW. WWW on joukko yhteentoimivia palvelimia ja asiakkaita, jotka puhuvat samaa HTTP-kieltä (-protokollaa) graafinen asiakasohjelma selain 2.1. WWW WWW on joukko yhteentoimivia palvelimia ja asiakkaita, jotka puhuvat samaa HTTP-kieltä (-protokollaa) graafinen asiakasohjelma selain Netscape, Explorer kykenee avaamaan URL-linkin = muodostamaan

Lisätiedot

GPRS-lisäpalvelu INTERNET-ASETUKSET

GPRS-lisäpalvelu INTERNET-ASETUKSET GPRS-lisäpalvelu INTERNET-ASETUKSET GPRS-lisäpalvelu Internet-asetukset 2(22) Sisällysluettelo 1 INTERNET-ASETUKSET MICROSOFT WINDOWS 95/98... 3 1.1 MODEEMIN ASENNUS... 3 1.2 APN:N ASETTAMINEN... 3 1.3

Lisätiedot

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

Sovellukset 1: sähköposti, web, nimipalvelu Sovellukset 1: sähköposti, web, nimipalvelu CSE-C2400 Tietokoneverkot Tietokoneverkot 2014 sanna.suoranta@aalto.fi Sisältö Yleistä sovelluksista ja pari esimerkkisovellusta Sähköposti: SMTP, MIME ja IMAP

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain Name System) 1/23/2004 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain Name System) 1/23/2004 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua

Lisätiedot

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

TeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri. Pikaohje TeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri Pikaohje Pikaohje Myyntipaketin sisältö 1. TeleWell TW-EA711 ADSL modeemi & palomuuri 2. AC-DC sähköverkkomuuntaja 3. RJ-11 puhelinjohto ja suomalainen

Lisätiedot

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

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti Kuljetus- ja sovelluskerroksen tietoturvaratkaisut Transport Layer Security (TLS) ja Secure Shell (SSH) TLS Internet 1 2 Transport Layer Security (TLS) Sopii monenlaisille sovellusprotokollille, esim HTTP

Lisätiedot

HOW-TO: Kuinka saan yhdistettyä kaksi tulospalvelukonetta keskenään verkkoon? [Windows XP]

HOW-TO: Kuinka saan yhdistettyä kaksi tulospalvelukonetta keskenään verkkoon? [Windows XP] HOWTO: Tulospalveluohjelman asetusten määrittely verkkokäytössä 1/5 HOW-TO: Kuinka saan yhdistettyä kaksi tulospalvelukonetta keskenään verkkoon? [Windows XP] Kaksi tietokonetta saa kytkettyä keskenään

Lisätiedot

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

URL (Uniform Resource Locator) 2.1. WWW. Muita URLeja: HTTP-asiakas. HTTP (Hypertext Transfer Protocol) 2.1. WWW URL (Uniform Resource Locator) WWW on joukko yhteentoimivia palvelimia ja asiakkaita, jotka puhuvat samaa HTTP-kieltä (-protokollaa) graafinen ohjelma selain Netscape, Explorer kykenee avaamaan

Lisätiedot

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

Sovelluksia ja sovellusprotokollia Prosessien etäkommunikointi 2.1. WWW (World Wide Web) 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain Name System) Prosessien etäkommunikointi Eri koneissa olevien prosessien kommunikointia lähettämällä sanomia

Lisätiedot

S-38.118 Teletekniikan perusteet

S-38.118 Teletekniikan perusteet S-38.118 Teletekniikan perusteet Laskuharjoitus 3 Paketoinnin hyötysuhde 1 Harjoitus 3 koostuu: Demoluento (45 min) Datan siirtäminen Internetissä yleensä Laskuesimerkki datan siirtämisestä Äänen siirtäminen

Lisätiedot

ZYXEL 645R MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL- LIITTYMÄÄN

ZYXEL 645R MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL- LIITTYMÄÄN ZYXEL 645R MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL- LIITTYMÄÄN VERSIO 1.0 JIPPII GROUP OYJ 1 DOKUMENTIN TARKOITUS Tervetuloa Saunalahden ADSL-liittymän käyttöönottoon opastavaan ohjeeseen! Tämän

Lisätiedot

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin

Lisätiedot

Kierroksen 4 ratkaisut

Kierroksen 4 ratkaisut Kierroksen 4 ratkaisut 1. Tutustu UNIX-työkaluohjelmiin nimeltä nc ja telnet, sekä FTP-protokollan toiminnan kuvaavaan RFC:hen (RFC959). Lataa ftp.funet.fi -koneen /pub -hakemiston listaus näiden ohjelmien

Lisätiedot

TCP/IP-protokollat ja DNS

TCP/IP-protokollat ja DNS TCP/IP-protokollat ja DNS Oma nimi Raportti pvm Sisällys 1 TCP/IP...1 1.1 TCP-protokolla...1 1.2 IP-protokolla...1 2 DNS-järjestelmä...1 2.1 Verkkotunnukset...2 2.2 Nimipalvelimet...2 2.2.1 Nimenselvitys...2

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

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

Internet ja tietoverkot. 2. Sovelluskerros. Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 3 2014/2015 811338A 2. Oulun yliopisto Tietojenkäsittelytieteiden laitos Sovelluskerroksen toiminta ja protokollat Luento pohjautuu kirjan James F. Kurose, Keith W. Ross, Computer Networking, A Top-Down Approach,

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) 11/13/2002 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain Name System) 8/14/2003 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua

Lisätiedot

DNS- ja DHCPpalvelut. Linuxissa. Onni Kytönummi & Mikko Raussi

DNS- ja DHCPpalvelut. Linuxissa. Onni Kytönummi & Mikko Raussi DNS- ja DHCPpalvelut Linuxissa Onni Kytönummi & Mikko Raussi Sisällysluettelo 1. Yleisesti DNS ja DHCP palveluista... 2 1.1. DNS yleisesti... 2 1.2. DNS hierarkia ja TLD... 2 1.3. DHCP yleisesti... 3 2.

Lisätiedot

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY 1 WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY 10.4.2015 Lounea Oy Tehdaskatu 6, 24100 Salo Puh. 029 707 00 Y-tunnus 0139471-8 www.lounea.fi Asiakaspalvelu 0800 303 00 Yrityspalvelu 0800 303 01 Myymälät 0800 303

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Internet Protocol version 6. IPv6

Internet Protocol version 6. IPv6 Internet Protocol version 6 IPv6 IPv6 Osoiteavaruus 32-bittisestä 128-bittiseksi Otsikkokentässä vähemmän kenttiä Lisäominaisuuksien määritteleminen mahdollista Pakettien salaus ja autentikointi mahdollista

Lisätiedot

Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen

Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen Liikenteen turvallisuusvirasto 27.9.2012 Sisällysluettelo Luottamuksellista tietoa sisältävien sähköpostiviestien

Lisätiedot

CLOUDBACKUP TSM varmistusohjelmiston asennus

CLOUDBACKUP TSM varmistusohjelmiston asennus Luottamuksellinen JAVERDEL OY CLOUDBACKUP TSM varmistusohjelmiston asennus Copyright 2 (9) SISÄLLYSLUETTELO 1 ASENNUSOHJE WINDOWS KÄYTTÖJÄRJESTELMÄLLÄ VARUSTETTUIHIN LAITTEISIIN... 3 1.1 Yleistä... 3 1.2

Lisätiedot

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia 2. Sovelluksia ja sovellusprotokollia 2.1. WWW (World Wide Web) 2.2. Sähköposti 2.3. DNS (Domain NameSystem) 1/23/2003 1 Verkkosovellus sovellusprotokolla Sovellusprotokolla on vain osa hajautettua

Lisätiedot

ATK yrittäjän työvälineenä

ATK yrittäjän työvälineenä ATK yrittäjän työvälineenä Internet viestintä- ja kauppakanavana Timo Laapotti / F4U - Foto For You f4u@f4u.fi http://f4u.fi/mlykl/ 27.5.2008 Tietoverkko Tietoverkossa on yhteen kytkettyjä tietokoneita.

Lisätiedot

Tietoliikenneohjelmointi. v. 0.01

Tietoliikenneohjelmointi. v. 0.01 Tietoliikenneohjelmointi v. 0.01 Kurssin suoritus ja tavoitteet Kurssin suoritus kerrotaan erikseen. Tavoitteet: Oppilas osaa suunnitella ja toteuttaa verkossa toimivia asiakas/palvelin sovelluksia. Protokollat

Lisätiedot

Macintosh (Mac OS X 10.2) Verkkoasetukset Elisa Laajakaista yhteyksille:

Macintosh (Mac OS X 10.2) Verkkoasetukset Elisa Laajakaista yhteyksille: 1 (13) Macintosh () Verkkoasetukset Elisa Laajakaista yhteyksille: Valitse Omenavalikosta Järjestelmäasetukset. Järjestelmäasetuksista Verkko 2 (13) Verkkoasetuksista (1.) Kytkentä Ethernet ja (2.) Määrittelytapa

Lisätiedot