Miten Internet toimii. Jyry Suvilehto T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014



Samankaltaiset tiedostot
Miten Internet toimii. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2013

Miten Internet toimii. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010

Miten Internet toimii. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2013

Sovellukset Interne.ssä

Sovellukset Internetissä

Sovellukset Internetissä

Miten Internet toimii. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2011

Miten Internet toimii. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2011

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2013

Sovellukset Interne.ssä

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

Tietoliikenne II (2 ov)

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2012

Sovelluskerros: Socket API, WWW, sähköposti, DNS

Siirto- ja verkkokerrokset. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

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

Tietoliikenne II (2 ov)

Taustaa. CGI-ohjelmointi

Yhteenveto / kertaus. Tuomas Aura T Johdatus Tietoliikenteeseen kevät 2013

Linkkikerros, tiedonsiirron perusteet. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2013

TCP/IP-protokollat ja DNS

Kuljetus- ja verkkokerrokset. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2011

Kertaus. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

Miten Internet toimii?

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

OSI ja Protokollapino

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

Internet ja tietoverkot 2015 Harjoitus 7: Kertaus

Sovelluskerros: Socket API, WWW, sähköposti, DNS

Yhteenveto / kertaus. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2011

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

Yhteenveto / kertaus. Tuomas Aura T Johdatus Tietoliikenteeseen kevät 2012

ELEC-C7241 Tietokoneverkot Sovelluskerros

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

ELEC-C7241 Tietokoneverkot Kuljetuskerros

Mikä on internet, miten se toimii? Mauri Heinonen

D-Link DSL-504T ADSL Reitittimen Asennusohje ver. 1.0

Tietoliikenneohjelmointi. v. 0.01

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

ELEC-C7241 Tietokoneverkot Sovelluskerros

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Kuva maailmasta Pakettiverkot (Luento 1)

Salausmenetelmät (ei käsitellä tällä kurssilla)

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

Miten Internet toimii?

Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2012

Tietoverkkojen turvallisuus. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2012

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

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Internet ja tietoverkot 2015 Harjoitus 5: (ISO/OSI-malli: Verkkokerros, TCP/IP-malli: internet-kerros)

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Järjestelmäarkkitehtuuri (TK081702)

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

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

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

Tietoturvan perusteet. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Tietoverkkojen turvallisuus. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2011

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

IHTE 1900 Seittiviestintä (syksy 2007) VERKKOTEKNIIKKAA. Mikä on protokolla, IP osoite, nimipalvelu jne ja mihin näitä tarvitaan?

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

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

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

Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2013

Push- ja pull-protokollat

T Johdatus tietoliikenteeseen 5 op

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

Luento 1. Jouni Ikonen - Jouni.Ikonen lut.fi

2. PEHMEÄ XHTML XRAJAHTML

Tekninen kuvaus Aineistosiirrot Interaktiiviset yhteydet iftp-yhteydet

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

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

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

S Teletekniikan perusteet

Sovelluskerros: Socket API, WWW, sähköposti, DNS

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

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Directory Information Tree

Tietoliikenne I 2 ov kevät 2004

Tietoliikenne I 2 ov kevät 2004

T Johdatus tietoliikenteeseen 5 op. Kevät 2013

TIEDEJUTTUKURSSI FM VILLE SALMINEN

S Tietoliikennetekniikan perusteet. Piirikytkentäinen evoluutio. Annukka Kiiski

Tietoliikenteen perusteet

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

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

Lähettävä postipalvelin Vastaanottava postipalvelin

Tietoliikenteen perusteet

Tikon Ostolaskujenkäsittely versio SP1

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

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

Tietoliikenteen perusteet

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat. Protokollien kerrosrakenne. Mitä monimutkaisuutta?

Office ohjelmiston asennusohje

Transkriptio:

Miten Internet toimii Jyry Suvilehto T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

Sisältö 1. Internet ylhäältä alas 2. Esimerkki median tallentamisesta tietokoneelle 3. Sovelluskerros Luennon alku pohjautuu Tuomas Auran aloitusluentoon kurssilla T-110.2100. Sovelluskerrososuus pohjautuu Tancred Lindholmin ja Timo Kiravuon vastaaviin kalvoihin. 2

INTERNET YLHÄÄLTÄ ALAS 3

Asiakas (käyttäjä, työasema ja selainohjelma) Nettiselailu Palvelin (palvelinkone ja -ohjelma) Internet Asiakas/palvelin-malli Nimiarvaruus: URL http://www.cse.tkk.fi/~jsuvileh/jotime/ esimerkki.html on resurssi 4

Tiedon muoto Tietokoneiden käsittelemä tieto on määrämuotoista Esim. HTML = hypertekstin merkintäkieli <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fi'> <head> <title>esimerkki</title> </head> <body> <!-- Tämä on kommentti, se ei näy tekstissä --> <h1>otsikko</h1> <p>tämä on erittäin yksinkertainen webbisivu.</p> Sivun esimerkki.html lähdekoodi <div><img src="http://www.aalto.fi/style_aaltofi/img/aalto-logo- 3-fi.gif" alt="aalto-yliopiston logo"/></div> </body> </html> 5

Protokolla Tiedon siirtoon palvelimen ja asiakkaan välillä pitää sopia yhteyskäytäntö eli protokolla: lähetettävät viestit ja niiden otsakkeet tilakone: kuka lähettää mitä ja milloin tiedon muoto siirtotie Esim. HTTP = hypertekstin siirtoprotokolla Protokollista sovitaan standardointiorganisaatioissa: IETF, W3C, Oasis, ISO, IEEE, 3GPP, ITU, 6

Protokolladroidi Toinen merkitys sanalle protokolla sosiaalisen kanssakäymisen säännöstö Tavattaessa kätellään Kysymykseen vastataan Tuntemattomat esitellään toisilleen Tarkoitus sama, konteksti eri Ennalta sovittu toimintatapa, jota noudatetaan määritellyssä tilanteessa 7

Protokolla kannattaa noudattaa I d call on Anna if she d only broken the law, but she broke the rules. 8

Selaimelta palvelimelle: HTTP GET /jsuvileh/jotime/esimerkki.html HTTP/1.1 Host: www.cse.tkk.fi User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Palvelimelta selaimelle: HTTP-pyyntö HTTP-pyynnön otsakkeet HTTP-vastaus HTTP/1.x 200 OK Date: Thu, 21 Jan 2010 12:57:12 GMT Server: Apache/1.3.41 (Unix) PHP/4.4.7 DAV/1.0.3 mod_ssl/2.8.31 OpenSSL/0.9.8j Etag: "2f80a6-1d9-4b585a30"Accept-Ranges: bytes Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html HTTP-vastauksen otsakkeet Tyypillinen asiakas/palvelin- <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fi'> <head> <title>esimerkki</title> protokollan </head> <body> rakenne: pyyntö <!-- Tämä on kommentti, se ei näy tekstissä --> <h1>otsikko</h1> <p>tämä on erittäin ja yksinkertainen vastauswebbisivu.</p> <div><img src="http://www.aalto.fi/style_aaltofi/img/aalto-logo-1-fi.gif" Data(HTML) alt="aalto-yliopiston logo"/></div> </body> </html> 9

Selaimelta palvelimelle: HTTP GET /jsuvileh/jotime/esimerkki.html HTTP/1.1 Host: www.cse.tkk.fi User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: Host: www.cse.tkk.fi en-us,en;q=0.5 Accept-Encoding: gzip,deflate HTTP-pyynnön Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 otsakkeet Connection: keep-alive Palvelimelta selaimelle: HTTP-pyyntö GET /jsuvileh/jotime/esimerkki.html HTTP/1.1 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 HTTP-vastaus Accept:text/html,application/xhtml+xml,applicat HTTP/1.x 200 OK Date: Thu, 21 Jan 2010 12:57:12 GMT Server: Apache/1.3.41 (Unix) PHP/4.4.7 DAV/1.0.3 mod_ssl/2.8.31 OpenSSL/0.9.8j Etag: "2f80a6-1d9-4b585a30"Accept-Ranges: bytes Keep-Alive: ion/xml;q=0.9,*/*;q=0.8 timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html HTTP-vastauksen Accept-Language: Tyypillinen en-us,en;q=0.5 otsakkeet Accept-Encoding: asiakas/palvelin- gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fi'> <head> <title>esimerkki</title> protokollan </head> <body> Keep-Alive: rakenne: 300 pyyntö <!-- Tämä on kommentti, se ei näy tekstissä --> <h1>otsikko</h1> Connection: <p>tämä erittäin ja yksinkertainen vastaus keep-alive webbisivu.</p> <div><img src="http://www.aalto.fi/style_aaltofi/img/aalto-logo-1-fi.gif" Data(HTML) alt="aalto-yliopiston logo"/></div> </body> </html> 10

Selaimelta palvelimelle: HTTP/1.x 200 OK HTTP HTTP-pyyntö GET /jsuvileh/jotime/esimerkki.html HTTP/1.1 Host: www.cse.tkk.fi User-Agent: Date: Mozilla/5.0 Thu, (Windows; 21 Jan U; Windows 2010 NT 6.1; 12:57:12 en-us; rv:1.9.1.7) Gecko/20091221 GMT Firefox/3.5.7 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: Server: gzip,deflate Apache/1.3.41 (Unix) HTTP-pyynnön PHP/4.4.7 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: DAV/1.0.3 300 mod_ssl/2.8.31 OpenSSL/0.9.8j otsakkeet Connection: keep-alive Etag: "2f80a6-1d9-4b585a30 Palvelimelta selaimelle: Accept-Ranges: bytes HTTP-vastaus HTTP/1.x 200 OK Date: Thu, 21 Jan 2010 12:57:12 GMT Server: Keep-Alive: Apache/1.3.41 (Unix) timeout=15, PHP/4.4.7 DAV/1.0.3 mod_ssl/2.8.31 max=100 OpenSSL/0.9.8j Etag: "2f80a6-1d9-4b585a30"Accept-Ranges: bytes Keep-Alive: timeout=15, max=100 Connection: Connection: Keep-Alive Keep-Alive Content-Type: text/html HTTP-vastauksen otsakkeet Content-Type: Tyypillinen text/html asiakas/palvelin- <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd'> <html <!DOCTYPE xmlns='http://www.w3.org/1999/xhtml' html PUBLIC '-//W3C//DTD XHTML 1.1//EN' xml:lang='fi'> 'http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd'> <html <head> xmlns='http://www.w3.org/1999/xhtml' xml:lang='fi'> <head> <title>esimerkki</title> protokollan </head> <title>esimerkki</title> <body> </head> rakenne: pyyntö <body> <!-- Tämä on kommentti, se ei näy tekstissä --> <h1>otsikko</h1> <!-- Tämä on kommentti, se ei näy tekstissä --> <p>tämä on erittäin ja yksinkertainen vastaus <h1>otsikko</h1> webbisivu.</p> <div><img <p>tämä on src="http://www.aalto.fi/style_aaltofi/img/aalto-logo-1-fi.gif" erittäin yksinkertainen webbisivu.</p> Data(HTML) alt="aalto-yliopiston <div><img src="http://www.aalto.fi/style_aaltofi/img/aalto-logo-1-fi.gif" logo"/></div> </body> alt="aalto-yliopiston logo"/></div> </html> </body> </html> 11

HTTP HTTP eli Hypertext transfer protocol Hyperteksti on nimitys tekstille, jossa on hyperlinkkejä, käytännösä HTML/XML tässä yhteydessä HTTP yli voidaan sinänsä siirtää mitä tahansa,protokolla vain kehystää tiedon Kuvia Videoa Suoritettava ohjelma HTTP ei tarjoa virheenkorjausta, se olettaa että virheet korjataan ylä- tai alapuolella Protokolla on muotoa pyyntö-vastaus Pyyntö sisältää kaikki vastauksen muodostamiseen tarvittavat tiedot ja toiveet Asiakas toivoo, että palvelin vastaa pyyntöön 12

Siirtoprotokolla Kuinka HTTP-protokollan viestit siirretään asiakkaan ja palvelimen välillä? Vastaus: HTTP käyttää viestien siirtoon TCP-protokollaa 13

TCP:n tarjoama palvelu TCP toteuttaa kaksisuuntaisen tavuvirran asiakkaan ja palvelimen välillä Palvelin odottaa yhteyksiä; asiakas avaa yhteyden Kumpikin kirjoittaa ja lukee tavuja virrasta Asiakas 80 GET /~jsuvileh/jotime/esimerkki.html HTTP/1.x 200 OK Internet Palvelin Palvelut on numeroitu: HTTP-palvelinohjelma odottaa yhteyksiä porttinumerossa 80 Telnet-ohjelmalla TCP:tä voi käyttää käsin 14

Protokollapino ja rajapinnat Miten TCP siirtää tavuvirran asiakkaan ja palvelimen välillä? Vastaus: TCP jakaa tavuvirran lohkoihin ja lähettää lohkot IP-paketeissa Protokollat muodostavat pinon, jossa kukin käyttää alemman kerroksen palveluja HTTP kayttää TCP:tä, TCP käyttää IP:tä Kerrosten välillä on rajapinta Jokainen kerros huolehtii omasta leiviskästään Kerros voidaan vaihtaa ilman että TCP Socket API ohjelmointirajapinta sovelluksia varten 15

Pinon pohja Protokollapinon alimmaisena on asioita, joita opitaan fysiikantunneilla Niihin ei kauheasti mennä tällä kurssilla 16

TCP:n toteutus Asiakas IP-paketteja Palvelin kolmen paketin kättely SYN ACK data SYN- ACK kaksisuuntainen tavuvirta paloiteltuna pakettehin data data Internet 17

IP:n tarjoama palvelu IP siirtää tietopaketteja kahden Internettiin yhdistetyn koneen (host) välillä Paketin koko yleensä alle 1500 tavua Kullakin koneella on IP-osoite Esim. 130.233.194.61 (IPv4) tai 2001:0db8:85a3:0000:0000:8a2e:0370:7334 (IPv6) Periaate: Jokaisella koneella on oma IPosoite ja mikä tahansa kone voi lähettää paketteja mille tahansa koneelle Erillinen DNS-hakemistopalvelu muuttaa nimiä (www.tkk.fi) osoitteiksi 18

Paketit verkossa Esimerkin paketit (Wireshark): 19

Asiakaskone löytää lähimmän reitittimen ja saa oman IPosoitteen automaattisesti DHCP-protokollalla IP-reititys Reitittimet kuljettavat IP-paketteja vastaanottajan IP-osoitteeseen Internet 130.233.194.61 130.233.224.249 Kunkin koneen tarvitsee tietää vain oma lähin reititin Luottamus muihin reitittimiin saa järjestelmän toimimaan. Reitittimien pitää tietää millä puolella mikin verkon osa on 20

Linkkikerroksen palvelu Miten asiakas- ja palvelinkone siirtävät IPpaketin lähimmälle reitittimelle? Miten reititin siirtää tiedon seuraavalle reitittimelle? Miten tavut koneen muistista lähetetään fyysisenä signaalina? Vastaus: Linkkikerros toteuttaa IP-pakettien siirron fyysisen linkin yli Langaton lähiverkko IEEE 802.11 ADSL Kytketty Ethernet IEEE 802.3 21

Linkkikerroksen toteutus Linkkikerros siirtää IP-paketteja fyysisen siirtotien kuten radioyhteyden, kuparikaapelin tai kuidun yli Kone tai reititin liittyy linkkiin verkkokortilla, jolla on MAC-osoite IP-paketit kapsuloidaan kehyksiin Kehysten bitit koodataan fyysiseksi signaaliksi Linkkikerroksen toteutuksia: Ethernet, WLAN,GPRS DSL, kaapelimodeemi MPLS, ATM 22

Verkko Linkkikerros muodostaa yhteyksiä kahden pisteen välille Kun pisteet ovat yhteydessä yli kahteen muuhun pisteeseen, syntyy verkko, kuten esimerkiksi Internet Internetissä IP-protokolla huolehtii siitä, että yhteydet yhdistyvät verkoksi 23

INTERNET-PROTOKOLLAPINO 24

TCP/IP-protokollapino Sovelluskerros Middleware: HTTP, SSL, XML... Siirtokerros: TCP, UDP,... Verkkokerros: IPv4, IPv6 Linkkikerros: Ethernet, MPSL, WLAN, GPRS... Asiakas/palvelinsovellukset ja monenväliset palveluarkkitehtuurit Tiedonsiirto päästä päähän, Internetin yli (end to end) Tiedonsiirto yhden linkin yli 25

Nimiavaruudet Sovelluskerros Middleware: HTTP, SSL, XML... Siirtokerros: TCP, UDP,... Verkkokerros: IPv4, IPv6 Linkkikerros: Ethernet, MPSL, WLAN, GPRS... Sähköpostiosoite, URL, DNS-nimi, jne. IP-osoite ja porttinumero IP-osoite MAC-osoite 26

Viestien muoto Sovelluskerros Middleware: HTTP, SSL, XML... Siirtokerros: TCP, UDP,... Pyynnöt ja vastaukset Yhteys Verkkokerros: IPv4, IPv6 Linkkikerros: Ethernet, MPSL, WLAN, GPRS... Paketit Kehykset 27

Toteutus ja rajapinnat Sovelluskerros Middleware: HTTP, SSL, XML... Socket API Siirotokerros: TCP, UDP,... Verkkokerros: IPv4, IPv6 Laiteajurirajapinta Linkkikerros: Ethernet, MPSL, WLAN, GPRS... Tyypillinen toteutus: Prosesseina käyttäjätilassa Käyttöjärjestelmän ytimessä Verkkokortin firmware ja rauta 28

Tiimalasimalli Sovelluskerros Middleware: HTTP, SSL, XML... Socket API Siirtokerros: TCP, UDP,... IPv4, IPv6 Laiteajurirajapinta Linkkikerros: Ethernet, MPSL, WLAN, GPRS... Rajapinnat tekevät uusien sovellusten ja linkkityyppien lisäämisen helpoksi Alun perin vain yksi verkkokerroksen protokolla ja kaksi siirtokerroksen protokollaa 29

KUVA 30

Selaimelta palvelimelle: HTTP GET /jsuvileh/jotime/esimerkki.html HTTP/1.1 Host: www.cse.tkk.fi User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Palvelimelta selaimelle: HTTP/1.x 200 OK Date: Thu, 21 Jan 2010 12:57:12 GMT Server: Apache/1.3.41 (Unix) PHP/4.4.7 DAV/1.0.3 mod_ssl/2.8.31 OpenSSL/0.9.8j Etag: "2f80a6-1d9-4b585a30"Accept-Ranges: bytes Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fi'> <head> <title>esimerkki</title> </head> <body> <!-- Tämä on kommentti, se ei näy tekstissä --> <h1>otsikko</h1> <p>tämä on erittäin yksinkertainen webbisivu.</p> <div><img src="http://www.aalto.fi/style_aaltofi/img/aalto-logo-1-fi.gif" alt="aalto-yliopiston logo"/></div> </body> </html> 31

Asiakas (käyttäjä, työasema ja selainohjelma) Nettiselailu Internet www.cse.tkk.fi www.aalto.fi sivu http://www.cse.tkk.fi/~jsuvileh/joti me/esimerkki.html kuva http://www.aalto.fi/style_aaltofi/im g/aalto-logo-3-fi.gif 32

Selaimelta palvelimelle: HTTP GET /style_aaltofi/img/aalto-logo-1-fi.gif HTTP/1.1 Host: www.aalto.fi User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 Accept:image/png,image/*;q=0.8,*/*;q=0.5 Accept-Language:en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive:300 Connection:keep-alive Referer http://www.cse.tkk.fi/~jsuvileh/jotime/esimerkki.html HTTP-pyyntö HTTP-pyynnön otsakkeet HTTP/1.0 200 OK Date:Thu, 21 Jan 2010 13:40:19 GMT Server:Apache/2.2.3 (Red Hat) Last-Modified:Mon, 21 Dec 2009 15:04:52 GMT Etag:"3bb63-832-47b3e6951cd00 Accept-Ranges:bytes Content-Length:2098 Cache-Control:max-age=3600 Expires:Thu, 21 Jan 2010 14:40:19 GMT Content-Type:image/gif HTTP-vastaus HTTP-vastauksen otsakkeet GIF89a..K...@@@...@...000... ```...pppppp...`...o.p...0.. x...p...e...!...,...k...'.di.h..l..p,.tm.x.....ph,...r..d.p.`.ed"..v..z.`.e3...4f....%x...>..u6.i..g.ld.y.2.x#...h...".x.=...t..8 {.{.6...X@.z.."...w...w.<.../...x.4...n>.z..w#...,...$...}2...>.{.1...e...0..)t.`.4.2$..(h...jP.@.hw.4.6P...x...X..@...4..1x3'...\z0P.'M...p.'P.JI.h.+...D...[.8.&..D.h.]...Ir...(@...H...g0t Q...."...AU.d^)E.p...%..J{..^...0p...\.;^...xQ...y)..w.%-.,...!..:...dMvf.&...p...m...y 9.{...P+...@...;.F.1I.p.b..6.f...P.4...p...s.}.Rq.Q..m...>..^*^.p.y.i`..dt.d$..@.B.G.}...}4.SN.TV@{?...d.e.LQ..!..y...:R..\0~ $.\...{...(.'...5.R.:...F%...8/...2...zS.D.9..F..xp.L..LX@my,v.u#d..:]VZCu`.1..e...r.x...7...*..*+...H..y.}...K2:.8!K...Z...X...f.GL(\...V\...6T. Data(GIF) D".P...Y...^...JW...W.N..#J.8B...#..G..u...0...E...Y.c?b.@26.G.}...U..}u.P.&.(..l.&...1T...8V../.Y&,4 }1..(.Q1..P..5..*.B= b%...\[.y...g,1...1./...d.)u.0...j.tq7...jq&8...h;q...%]..._.i..0.z..{.=.c.(xs...w.....b.~...d*.p.>...sv...c 4..5..D...c...X..w.;K(...[)...T"....x...>...By...0.....o..y..y*...~6...>.a...A...@#..,.J..F0.X...E...`..a.". 33

Binääridataa Formaatti on tiedon tallennuksen vastine protokollalle: sääntö siitä, miten tieto tallennetaan ja luetaan. Aalto-yliopiston logo on piirretty kuva (ei valokuva) joten se kannattaa tallentaa GIF tai PNG-formaatissa. Graphics Interchange Format eli GIF on binääriformaatti 34

Tunniste Kuvan koko ja taustaväri Käytetyt värit Kuvan alun sijainti Varsinainen kuvadata (pakattuna) Logossa on paljon valkoista ja isoja samanvärisiä alueita, joten se pakkautuu hyvin. 451x75 = 33 825 pikseliä Tiedostossa on 2098 tavua 35

Äärellinen tarkkuus Multimedia voidaan tallettaa tietokoneeseen vain äärellisellä tarkkuudella. Tietoa talletettaessa käytetään usein hyväksi tietoa ihmisen aisteista 36

Scalable Vector Graphics <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/graphics/svg/1.1/dtd/svg11.dtd" > <svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg"> <rect width="300" height="100" style="fill:rgb(0,0,255);stroke-width:1; stroke:rgb(0,0,0)"/> </svg> Tallennetaan vain tieto muodosta, ei yksittäisiä pikseleitä Tuki vajavaista (esim. PowerPoint, vanhat IEselaimet) SVG on XML-pohjainen formaatti, kuten XHTML 37

SOVELLUSKERROS 38

Rakenne 1. Kertausta ja introa 2. Vapaamuotoinen johdatus 3. Mitä tapahtuu kun lähetetään Noppa-uutinen Web 2.0 ja Ajax RSS HTTP IMAP DNS 4. Peer-to-Peer protokollat Esimerkkinä BitTorrent 5. Muita protokollia

Alapuolella Sovelluskerroksen alla on siirtokerros TCP: luotettavaa kaksisuuntaista tiedonsiirtoa UDP: epäluotettavaa datagrammien välitystä

VAPAAMUOTOINEN JOHDATUS SOVELLUSPROTOKOLLIIN

Apteekin tiski

Apteekin tiski Hei, saisinko x Toki, tässä on / Ei, ei ole / Ei, et ole oikeutettu saamaan Hei, olen x [antaa reseptin], saisinko x Toki, tässä on Hei, mulla on tämmöinen [antaa reseptin], saisinko x Toki, tässä on Hei, olen x [antaa Kela-kortin] ja mulla on tämmöinen resepti, voitteko ottaa talteen Toki Hei, olen x [antaa Kela-kortin] ja mulla on täällä tiskin takana resepti. Saisinko lisää x? Toki, tässä on / Ei, et

Apteekin tiski Asiakas ja farmaseutti Lääke voi olla hyllyssä tai se voidaan joutua sekoittamaan Apteekin tiski ei muista kuka olitkaan ja mitä teit viimeksi, mutta muistaa mitä teit juuri äsken Istunto (sessio) Jotkut asiat kuka tahansa saa saada Uniikki-ID (henkilötunnus) identifioi saman asiakkaan käyntien ja farmaseuttien välillä autentikaatio Anna-pyynnön lisäksi apteekki voi tallettaa asioita Asiakas-palvelin malli Sivu voidaan generoida dynaamisesti tai se voi olla staattinen HTTP on tilaton protokolla Useimpiin GET-kutsuihin ei vaadita mitään tunnistautumista Istunnot toteutetaan evästeillä (cookies), jotka identifioivat saman käyttäjän kutsujen välillä Standardin GET-kutsun lisäksi on olemassa POST ja vähemmän käytettyjä

Postitoimisto

Postitoimisto - SMTP Asiakas: Hei, olen katuosoitteesta X ja haluaisin lähettää postia Postitäti: Hei henkilö X:stä Asiakas: Minun nimeni on Y, haluaisin paluupostin osoitteeseen Y@X Postitäti: Ok Asiakas: Lähettäisin postia osoitteeseen Z@W Postitäti: OK, laita kirje tuohon Asiakas: Tässä kirje Postitäti: Okei, vastaanotettu Asiakas: Kiitos ja näkemiin Postitäti: Kiitos Lähettäjän henkilöllisyyttä ei varmisteta. Se ei myöskään (tämän puitteissa) näy vastaanottajalle. Jätetään kotitehtäväksi. Numerokoodit ja ISOLLA KIRJOITETTU tietokoneen ymmärtämiä osia S: 220 smtp.example.com ESMTP Postfix C: HELO relay.example.org S: 250 Hello relay.example.org, I am glad to meet you C: MAIL FROM:<bob@example.org> S: 250 Ok C: RCPT TO:<alice@example.com> S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: Actual email S: 250 Ok: queued as 12345 C: QUIT S: 221 Bye Molemmat osapuolet ilmoittavat lopetusaikeistaan, kohteliaisuus ennen kaikkea.

Tikkiläisten juorupiiri Hei, kuulitko että... Miten juoru lähtee leviämään että se pääsee kaikille?

Tapa 1 Tehokas, viesti lähetetään vain tarvittaessa Juoru Epävarma: Jos tämä ei tee kuten pitää, osa jää ilman tietoa

Tapa 2 Ratkaisu ei skaalaudu. Keskipisteen poistuminen romahduttaa koko järjestelmän. Kaikki juorut käyvät keskitetyssä paikassa, josta ne jaetaan edelleen.

Tapa 3 Mitä juoruja olet kuullut? Kerro ne, mitä minä en tiedä. Haasteita juorujen yksilöllisessä nimeämisessä, keskinäisessä järjestyksessä jne. Sama juoru liikkuu monta kertaa

Kuka on asiakas, kuka palvelin?

NOPPA 52

www = World Wide Web WWW kehitettiin CERNissä tutkimustulosten välityskeinoksi Internet oli jo olemassa, mm. Usenet, sähköposti Alunperin Internetin killer-app oli sähköposti: selkeä etu ei-sähköiseen verrokkiinsa Internetin ääressä tiedemiehiä, akateemikkoja Ikuinen syyskuu 1993 Staattiset, tiedemiesten käsin pakertamat sivut

Web 2.0 www:n suosion kasvoi 1990-luvun loppua kohden Paljon ei-akateemisia käyttäjiä Päätteiden (tietokoneiden) suorituskyky räjähti Modernit www-sivut ovat monimutkaisia suoritettavia ohjelmia Kaikki haluavat tuottaa tietoa, erityisiä taitoja ei vaadita

Noppa https://noppa.tkk.fi 55

Noppa-palvelu Jyrsa HTTP(AJAX-kutsu) Noppa Opiskelija HTTP(RSS) IMAP Internet SMTP Kaikki yhteydet toteuttavat Asiakas-palvelin -mallia imap.niksula.hut.fi mail.niksula.hut.fi Kaikki tiedonsiirto toteutettu TCP:llä (yhteydellistä) 56

Dynaaminen HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <!-- Application: Noppa --> <!-- Page: CourseNews --> <!-- Generated: Thu Jan 21 16:44:38 EET 2010 --> <html> <head> <meta name="generator" content="tapestry Application Framework, version 4.1.3" /> <meta http-equiv="content" content="no-cache" /> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <script type="text/javascript" src="/noppa/assets/static/dojo-0.4.3/dojo.js"></script> <script type="text/javascript" src="/noppa/assets/static/dojo-0.4.3/dojo2.js"></script><script type="text/javascript" src="/noppa/assets/static/dojo-0.4.3/dojo3.js"></script> <script type="text/javascript"> dojo.registermodulepath("tapestry", "/noppa/assets/static/tapestry"); </script> <script type="text/javascript"><! function togglehelp(id, class_1, class_2) { if(document.getelementbyid(id).classname == class_1) { document.getelementbyid(id).classname = class_2; } else { } } dojo.require("tapestry.widget.widget"); dojo.require("dojo.event.common"); // --></script>... document.getelementbyid(id).classname = class_1; Otteita edellisen kuvan sivun -lähdekoodista <div class="dotted"> <!-- IE needs this comment --></div> <table> <tr> <th colspan="2" class="editboxownlinksheading">lisää linkki</th> <th></th> </tr> <tr class="ognl:beans.evenodd.next"> <td> </td> <td> </td> <td> <div class="editboxownlinkstitle">otsikko</div> <div class="editboxownlinkstitle">url</div> <input type="text" name="addownlinktitle" value="" id="addownlinktitle" class="editboxownlinksfield" tabindex="6" style="" /><br/> <input type="text" name="addownlinklink" value="" id="addownlinklink" class="editboxownlinksfield" tabindex="7" style="" /> <input type="submit" name="submit" id="submit" tabindex="8" value="lisää linkki" /> 57

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <!-- Application: Noppa --> <!-- Page: CourseNews --> <!-- Generated: Thu Jan 21 16:44:38 EET 2010 --> <html> <head> <meta name="generator" content="tapestry Application Framework, version 4.1.3" /> <meta http-equiv="content" content="no-cache" /> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <script type="text/javascript" src="/noppa/assets/static/dojo-0.4.3/dojo.js"></script> <script type="text/javascript" src="/noppa/assets/static/dojo-0.4.3/dojo2.js"></script><script type="text/javascript" src="/noppa/assets/static/dojo-0.4.3/dojo3.js"></script> <script type="text/javascript"> dojo.registermodulepath("tapestry", "/noppa/assets/static/tapestry"); </script> <script type="text/javascript"><! function togglehelp(id, class_1, class_2) { if(document.getelementbyid(id).classname == class_1) { } else { Dynaaminen HTML <script type="text/javascript" src="/noppa/assets/static/dojo-0.4.3/dojo.js } } dojo.require("tapestry.widget.widget"); dojo.require("dojo.event.common"); // --></script>... document.getelementbyid(id).classname = class_2; document.getelementbyid(id).classname = class_1; <div class="dotted"> <!-- IE needs this comment --></div> <table> <tr> <th colspan="2" class="editboxownlinksheading">lisää linkki</th> <th></th> </tr> <tr class="ognl:beans.evenodd.next"> <td> </td> <td> </td> <td> <div class="editboxownlinkstitle">otsikko</div> <div class="editboxownlinkstitle">url</div> Otteita edellisen kuvasivun -lähdekoodista Nykyaikaiset webbisivut ovat interaktiivisia Javascript-ohjelmia, jotka kommunikoivat käyttäjän ja palvelimen kanssa if(document.getelementbyid(id).classname == class_1) <input type="text" name="addownlinktitle" value="" id="addownlinktitle" class="editboxownlinksfield" tabindex="6" style="" /><br/> <input type="text" name="addownlinklink" value="" id="addownlinklink" class="editboxownlinksfield" tabindex="7" style="" /> <input type="submit" name="submit" id="submit" tabindex="8" value="lisää linkki" /> 58

JavaScript Haluttiin dynaamisia elementtejä nettisivuihin Netscape kehitti 1995 JavaScript-nimisen kielen, ja lisäsi Netscapeselaimeen sille tulkki HTML-kieleen lisättiin <script> tägi, jonka sisällä olevaa Javascriptkoodia selain suorittaa JavaScriptillä ei ole mitään tekemistä Javan kanssa, nimi valittiin markkinointisyistä Microsoft esitti tämän jälkeen Jscript-kielen jossa (lähes?) identtinen kielioppi C-tyylinen kielioppi Ajonaikainen tyypitys ( duck typing if it quacks like a duck...) 01/25/10

JavaScript Esimerkki <!DOCTYPE HTML PUBLIC "- //W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>javascript Esimerkki</title> </head> <body> <script> var lasku = 2*137 137+200 200/3; alert('tulos on ' + lasku); </script> </body> </html> 01/25/10

JavaScript nykytila JS-tuki on lähtenyt räjähdysmäiseen kasvuun Helppo päästä vauhtiin Kehittäjälle yksinkertainen syntaksi tyypitys, mitä se on? Alustan tekijälle tulkin tekeminen helppoa, valmiita ja hyviä saatavilla kaikki ns. vaikea kuten tiedostojen avaus, käyttöjärjestelmärajapinta yms. puuttuu käyttäjäkunta olemassa Asioiden tekeminen helpottuu, esim jquery

JavaScript - tulevaisuus Hyvän JavaScriptin koodaminen on vaikeaa Ylläpidettävyys on huono Trendi: tehdään kieli, josta käännetään JavaScriptiä, koska sille tulkkeja kaikkialla CoffeeScript, ClojureJS, esimerkkejä paljon liikkeellä

Noppa-palvelu Jyrsa 130.233.194.51 HTTP(AJAX-kutsu) Noppa 130.233.229.100 Opiskelija 62.237.152.1 HTTP(RSS) Internet SMTP IMAP mail.niksula.hut.fi 130.233.40.6 imap.niksula.hut.fi 130.233.40.6 64

RSS-syöte GET noppa/kurssi/t-110.1100/uutiset/rss HTTP/1.1 Host: noppa.tkk.fi User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive HTTP/1.1 200 OK Date Thu, 21 Jan 2010 15:37:35 GMT Server Apache/2.2.3 (Red Hat) X-Powered-By Servlet 2.4; JBoss-4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)/tomcat-5.5 Keep-Alive timeout=15, max=99 Connection Keep-Alive Transfer-Encoding chunked Content-Type application/rss+xml;charset=utf-8 <?xml version="1.0" encoding="utf-8"?> <rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" version="2.0"> <channel> <title>t-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan</title> <link>https://noppa.tkk.fi/noppa/kurssi/t-110.1100/uutiset</link> <description /> <item> HTTP ei ota kantaa Kuten XHTML, RSS on XML-pohjainen formaatti. <title>tervetuloa kevään 2010 kurssille</title> <link>https://noppa.tkk.fi/noppa/kurssi/t-110.1100/uutiset?sni=21486</link> mitä <description>huomaathan sen päällä että kuljetetaan. kurssin tehtävät ovat pakollisia ja kurssin läpäisemiseksi kurssiin täytyy panostaa aikaa jo tammikuussa. Lisäksi tarvitsemme kaikkien opiskelijanumerot palautusjärjestelmää varten, joten kurssille tulee ilmoittautua Oodissa. Kevällä 2010 kurssia uudistetaan edellisenä vuonna saadun palautteen perusteella. Erityisesti multimediaosuudesta pyritään rakentamaan yhtenäisempi kokonaisuus. Lisäksi yhteyksiä eri multimedia- ja tietoliikenneosuuksien välillä pyritään osoittamaan selkeämmin. Analyysiä edellisen vuoden kurssipalautteesta voi lukea Nopasta. Pyrimme kehittämään kurssia vuosittain palautteen perusteella ja toivomme, että mahdollisimman moni opiskelija antaa kurssista palautetta. Virallinen kommunikointi kurssin kanssa tulee suorittaa kurssin sähköpostiosoitteeseen t-110.1100@tml.hut.fi. Erityisesti Noppa tykkää arpoa kurssihenkilökunnan henkilökohtaisia osoitteita uutisiin. Näihin osoitteisiin lähetettyihin kyselyihin vastataan vähintään viikon viiveellä, jos silloinkaan. <br></description> <pubdate>tue, 29 Dec 2009 15:34:23 GMT</pubDate> <guid>https://noppa.tkk.fi/noppa/kurssi/t-110.1100/uutiset?sni=21486</guid> 65 <dc:date>2009-12-29t15:34:23z</dc:date>

HTTP HTTP = Hypertext transfer protocol (RFC 2616) Viestissä komento ja resurssi Myös selaimeen liittyvää tietoa otsakkeissa (headers) Mahdolliset evästeet (cookies) Paluuviestissä tilannekoodi (status code) ja resurssin sisältö Myös otsakkeita joissa resurssin metadataa Tärkein viesti on GET + resurssi 01/27/10

HTTP Yleisimmät komennot GET x: hae resurssi x sisältö PUT x,y: tallenna data y resurssiin x (lue GETilla) POST x,y: kirjoita resurssiin x liittyen data y (lomakkeen lähetys) GET voidaan toistaa useamman kerran ilman sivuvaikutuksia, muita ei 01/27/10

HTTP Yleisiä statuskoodeja 200 OK: kaikki meni hyvin 404 Not found: resurssia ei löydy 403 Forbidden 302 Moved temporarily: resurssi löytyy uudesta osoitteesta 301 Moved permanently: resurssi löytyy uudesta osoitteesta Yleisiä otsakkeita Content-Length: resurssin koko tavuina (vastausviestin alussa) Location: kertoo mistä resurssi löytyy kun statuskoodi on 301 tai 302 Muita määritetty RFC 2616 01/25/10

Jyrsa HTTP(AJAX-kutsu) Noppapalvelu Noppa Opiskelija HTTP(RSS) IMAP Internet SMTP smtp.hut.fi Hakemistopalvelu DNS kertoo palvelimen nimeä vastaavan IP-osoitteen ja vastaanottajan sähköpostiosoitetta vastaavan SMTP-palvelimen nimen imap.tkk.fi DNS-protokolla ei käytä sanomiensa siirtoon TCP:tä vaan UDP:tä 69

DNSnimiavaruus. com net fi se [.مصر [ Arpa in-addr aalto tkk hut 130 233 Yksi nimi voi osoittaa useampaan IP-osoitteeseen. Yhden IP-osoitteen takana voi olla monta nimeä. noppa www smtp 130.23 3.228. 91 41 6 dusk.niksula.cs.hut.fi 130.23 3.228. 133 Kts. host-komento Unixissa

DNS Domain Name System on internetin hakemistopalvelu Aikanaan yksi päätekijä internetin voitossa muita tietoverkkoja vastaan 13 juurinimipalvelinta Yhdysvaltain viestintäministeriön hallinnassa Jokaisella maallaan oma Top Level Domain(TLD) Nippu yleisiä: com, net, info, biz, asia, travel xxx (!) Maailman ensimmäinen ei-ascii مصTLD (Egypti) 2009 Mm. рф Venäjällä suosittu Uusia top level domaineja on alettu jakaa, http://newgtlds.icann.org/en/program-status/delegated-strings Mm..sexy,.wien,. 网 址,.онлайн,.ninja ja.cheap DNS ei tyypillisesti käytä TCP:tä vaan UDP:tä, se on siis yhteydetön protokolla Uudessa DNSSEC-laajennuksessa kyselyt ja vastaukset niin pitkiä, että siinä käytetään TCP:tä, tästä ehkä enemmän tietoturvan yhteydessä DNS kertoo osoitteen lisäksi mm. domainin posteista vastaavan sähköpostipalvelimen

DNS-hierarkia Lähin nimipalvelin saattaa joutua tekemään monta kyselyä. Se tallettaa tulokset vaivan säästämiseksi. Lähin nimipalvelin ns1.songnet.fi Juurinimipalvelin (lähin Innopolissa) fi-tld:n nimipalvelin (viestintävirasto) ns1.hut.fi Esimerkki Aalto Openista noppa.tkk.fi-osoitteesta vastaava Authority päättää kauanko hakutulosta saa säilyttää

DNS (jatkoa) DNS-protokolla luottaa välikäsiin tiedon välittämisessä ongelmapotentiaalia Kenen tahansa mahdollista väärentää tietoa DNSjärjestelmässä tosin kallista ja vaikeaa DNSSec leviämässä Rauhaa rakastavat sivistysvaltiot valtiot (Suomi, Kiina,Egypti, Norja) pakottavat palveluntarjoajat tarjoamaan tietyille domaineille vääriä IP-osoitteita Karkea, mutta halpa tapa suodattaa nettiä Mustien listojen hallinnointi ainoa haaste

SMTP HTTP(AJAX-kutsu) Jyry 130.233.194.51 Ajax-kutsun perusteella Noppa haluaa lähettää sähköpostia opiskelijalle Teemu Teekkari Noppa 130.233.229.100 Opiskelija 62.237.152.1 Sähköpostipalvelimen nimi saadaan kuten IPosoitteet, DNSpalvelusta (MX-tietue) HTTP(RSS) Internet Koulun tietokanta sanoo, SMTP että Teemu käyttää IMAP osoitetta tteekkar@niksula.cs.hut. fi mail.niksula.hut.fi Niksulan postit 130.233.40.6 käsittelee imap.niksula.hut.fi mail.niksula.hut.fi 130.233.40.6 74

SMTP From: tomcat@cho-han.hut.fi To: tteekkar@niksula.cs.hut.fi Subject: Tervetuloa kurssille... Teemu voi hakea postinsa koska haluaa (tai jättää hakematta) Teemu IMAP/POP3 smtp-3.hut.fi SMTP??? Noppa Smtp-3.hut.fi yrittää lähettää sähköpostin mail.niksula.hut.fi:lle kunnes saa kuittauksen onnistumisesta mail.niksula.hut.fi / imap.niksula.hut.fi SMTP on pushprotokolla (vrt. HTTP ja pull) 130.233.40.6 IMAP ja POP3 ovat pullprotokollia, joten Teemun koneen ei ole pakko olla aina verkossa 75

Noppa-palvelu Jyrsa 130.233.194.51 HTTP(AJAX-kutsu) form:coursenews newsitemtopic: Tervetuloa kurssille.. state:coursenews BrO0ABXceAAAAAQAAF2FkZE1hdGVyaWFsRGlhb G9nSGlkZGVuc3IAEWphdmEubGFuZy5Cb29sZWFu zsbygnwc+u4caafaaav2ywx1zxhwaa== (huom. Arvailua) Noppa Opiskelija 62.237.152.1 HTTP, IMAP ja SMTP käyttävät kaikki TCP:tä tiedon siirtoon HTTP(RSS) IMAP Internet SMTP smtp.hut.fi 130.233.228.91 imap.tkk.fi 130.233.228.133 From: tomcat@cho-han.hut.fi To:12345X@students.hut.fi Subject: Tervetuloa... HTTP ja IMAP voidaan suojata käyttämällä SSL:ää 76

P2P

Asiakas-palvelin Peer to peer

P2P Yritysasiakkaat maksavat käyttämästään kaistasta, yksityisasiakkailla kiinteä kuukausimaksu P2P-levitys tulee halvemmaksi Joissain tapauksissa selkeästi tyhmää kierrättää liikennettä palvelimen kautta (IP-puhelut, Skype) Toisissa tapauksissa asiakkaat auttavat tallentamaan verkon tietoja, joten ylläpitokustannukset ovat pienempiä (Spotify) Graafiteorian mukaan P2P-protokollien tarjoamat nopeudet huomattavasti parempia BitTorrent on laajalle levinnyt P2P-protokolla, jolla voidaan siirtää tiedostoja Spotify ja Skype ovat suljettuja, niiden toteutuksesta ei ole helppo saada varmaa tietoa

BitTorrent torrent-tiedoston voi saada mistä tahansa www.ubuntu-fi.org torrent.ubuntu.com Torrent-tiedosto sisältää tiedon käytetystä seurantapalvelimesta eli trackerista.

BitTorrent Tietyn pisteen jälkeen alkuperäinen lisääjä on tarpeeton. www.ubuntu-fi.org torrent.ubuntu.com Tiedoston voi hakea niin kauan kuin verkostossa on yksi kokonainen kopio ja tracker on pystyssä.

BitTorrent www.ubuntu-fi.org torrent-tiedoston voi saada mistä tahansa torrent.ubuntu.com

BitTorrent www.ubuntu-fi.org Torrent-tiedosto sisältää tiedon käytetystä seurantapalvelimesta eli trackerista. torrent.ubuntu.com

Lisäykset alkuperäiseen protokollaan poistavat seurantapalvelimen tarpeellisuuden. Emme käy hajautettuja tiivisteitä tässä läpi ajanpuutteen takia. BitTorrent www.ubuntu-fi.org torrent.ubuntu.com

MUITA PROTOKOLLIA

News 1980-luvun Facebook Paitsi kaikin tavoin parempi Jaettu ryhmiin Ryhmät organisoitu hierarkiaksi opinnot.tik.media opinnot tik media Lähetetty viesti levitetään pikku hiljaa kaikkille maailman news-palvelimille Jokainen news-palvelin kyselee muutamalta muulta viestilistausta NTTP-protokollalla Serveri hakee viestit, joita serverillä ei vielä ole Tikkiläisten juorupiiri tapa 3 Periaatteessa p2p Kestää minuuttien tuntien viiveitä

IRC 1980-luvun lopulla Suomessa kehitetty korvaamaan internetiä vanhempaa Relay Chat protokollaa Nopeahko viestinvälitys Viestien jakelu kuten tikkiläisten juorupiiri 1 Verkossa ei ole silmukoita, se voi siis katketa