Miten Internet toimii. Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sovellukset Interne.ssä

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

Miten Internet toimii?

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

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

Tietoliikenne II (2 ov)

OSI ja Protokollapino

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

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

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

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

Miten Internet toimii?

Internet ja tietoverkot 2015 Harjoitus 7: Kertaus

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

Tietoliikenne II (2 ov)

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

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

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

Taustaa. CGI-ohjelmointi

Yhteenveto. CSE-C2400 Tietokoneverkot

Salaustekniikat. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

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

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2012

ELEC-C7241 Tietokoneverkot Kuljetuskerros

TCP/IP-protokollapino. Verkkokerros ja Internetprotokolla. Sisältö. Viime luennolla. Matti Siekkinen

Kertausluento. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2013

ELEC-C7241 Tietokoneverkot Sovelluskerros

Sovellukset Internetissä

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Tietoliikenne- ja tietoverkkontekniikan laitos

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

Tietoliikenne I (muuntokoulutettaville) 2 ov syksy 2003 Luennot Liisa Marttinen

Tietoliikenne I (muuntokoulutettaville) 2 ov syksy 2003 Luennot Liisa Marttinen

Tietoliikenne I 2 ov kevät 2004

Tietoliikenne I 2 ov kevät 2004

Tietoliikenne I 2 ov kevät 2003

Yhteenveto. CSE-C2400 Tietokoneverkot Matti Siekkinen

T Tietokoneverkot kertaus

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

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

Tietoliikenteen perusteet

Tietoliikenne I 2 ov kevät 2002

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

Tietoliikenteen perusteet

Tietoliikenneohjelmointi. v. 0.01

Websocket-protokollan tietoturva selainsovelluksissa. Tomi Fagerlund

ELEC-C7241 Tietokoneverkot Sovelluskerros

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

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

Web-sovellusten testaus

Tietoliikenteen perusteet

itää saada selville P-osoitetta vastaava erkko-osoite. leislähetyksenä ysely: Kenen IPsoite. IP-paketissa on vain vastaanottajan

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

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

Jos A:lla ei ole tietoa ARP-taulussaan, niin A lähettää ARP-kysely yleislähetyksenä

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

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

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

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

Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2010

ICMP-sanomia. 3. IP-kerroksen muita protokollia ja mekanismeja ICMP (Internet Control Message Protocol)

3. IP-kerroksen muita protokollia ja

3. Kuljetuskerros 3.1.

1 (22) LAAJAKAISTA ASENNUS- JA KÄYTTÖÖNOTTO-OPAS ADSL-, KAAPELIMODEEMI JA KUITUPÄÄTE

Kuljetuskerros. Matti Siekkinen. T Johdatus tietoliikenteeseen kevät 2011

S Teletekniikan perusteet

Kuljetuskerros. Kirja sivut: ,

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

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

Antti Vähälummukka 2010

2. Sovelluksia ja sovellusprotokollia

Sovellusprotokolla on vain osa hajautettua sovellusta Esim. WWW

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

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Kohina (Noise) 1.4. Tietoliikenneohjelmistot eli protokollat. Signaalin vahvistaminen

2. Sovelluksia ja sovellusprotokollia

Miten selain muodostaa TCP- tai UDP-yhteyden? TCP-osoite = IP-osoite + porttinumero ( tässä 80) SOCKET BIND (80) LISTEN ACCEPT. Connection Request

2. Sovelluksia ja sovellusprotokollia

2. Sovelluksia ja sovellusprotokollia

Mikä on internet, miten se toimii? Mauri Heinonen

Transkriptio:

Miten Internet toimii Tuomas Aura T-110.2100 Johdatus tietoliikenteeseen kevät 2013

Luennon sisältö 1. Esimerkki 1: nettiselailu 2. Esimerkki 2: sähköposti 3. Internetin protokollapino 2

ESIMERKKI 1: NETTISELAILU 3

Asiakas (käyttäjä, työasema ja selainohjelma) Nettiselailu Palvelin (palvelinkone ja -ohjelma) Internet Asiakas-palvelinmalli Nimiavaruus: URL http://users.tkk.fi/aura/esimerkki.html Vaihtoehtoisia malleja: P2P, pub-sub 4

Tiedon muoto Tietokoneiden käsittelemä tieto on määrämuotoista Esim. HTML = hypertekstin merkintäkieli Muita: XDR, ASN.1, s-expressions, XML, JSON <!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> <!-- Aika simppeliä --> <h1>terve maailma!</h1> Sivun esimerkki.html lähdekoodi <p>tämä on erittäin yksinkertainen webbisivu.</p> </body> </html> 5

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

Selaimelta palvelimelle: HTTP-protokolla GET /aura/esimerkki.html HTTP/1.1 Host: users.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 Tyypillinen Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: asiakas-palvelin- ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive protokollan rakenne: pyyntö ja vastaus Palvelimelta selaimelle: HTTP/1.x 200 OK Date: Sun, 17 Jan 2010 12:57:12 GMT Server: Apache/2.2.9 (Unix) Last-Modified: Sun, 17 Jan 2010 12:51:31 GMT Etag: "35ab82-158-47d5bb227dca9;458ab883a0bc0" Accept-Ranges: bytes Content-Length: 344 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive muoto: Content-Type: text/html Tyypillinen viestin otsakkeet ja data <!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> <!-- Aika simppeliä --> <h1>terve maailma!</h1> <p>tämä on erittäin yksinkertainen webbisivu.</p> </body> </html> HTTP-pyyntö HTTP-pyynnön otsakkeet HTTP-vastaus HTTP-vastauksen otsakkeet Data (HTML) 7

Selaimelta palvelimelle: HTTP GET /aura/esimerkki.html HTTP/1.1 Host: users.tkk.fi User-Agent: GET /aura/esimerkki.html Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us; rv:1.9.1.7) HTTP/1.1 Gecko/20091221 Firefox/3.5.7 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: Host: users.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/1.x 200 OK Date: Sun, 17 Jan 2010 12:57:12 GMT Server: Apache/2.2.9 (Unix) Last-Modified: Sun, 17 Jan 2010 12:51:31 GMT Etag: "35ab82-158-47d5bb227dca9;458ab883a0bc0" Accept-Ranges: bytes Content-Length: 344 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> <!-- Aika simppeliä --> <h1>terve maailma!</h1> <p>tämä on erittäin yksinkertainen webbisivu.</p> </body> </html> HTTP-pyyntö User-Agent: Mozilla/5.0 (Windows; U; Windo Accept: text/html,application/xhtml+xml,ap Accept-Language: en-us,en;q=0.5 HTTP-vastaus Accept-Encoding: gzip,deflate HTTP-vastauksen Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q otsakkeet Keep-Alive: 300 Connection: keep-alive Data(HTML) 8

Selaimelta palvelimelle: HTTP/1.x 200 OK HTTP GET /aura/esimerkki.html HTTP/1.1 Host: users.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: Date: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Sun, 17 Jan 2010 12:57:12 GMT Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate HTTP-pyynnön Accept-Charset: Server: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Apache/2.2.9 (Unix) Keep-Alive: 300 otsakkeet Connection: keep-alive Palvelimelta selaimelle: HTTP/1.x 200 OK Date: Sun, 17 Jan 2010 12:57:12 GMT Server: Apache/2.2.9 (Unix) Last-Modified: Sun, 17 Jan 2010 12:51:31 GMT Etag: "35ab82-158-47d5bb227dca9;458ab883a0bc0" Accept-Ranges: bytes Content-Length: 344 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html HTTP-pyyntö Last-Modified: Sun, 17 Jan 2010 12:51:31 G Etag: "35ab82-158-47d5bb227dca9;458ab883a0 HTTP-vastaus Accept-Ranges: bytes Content-Length: 344 HTTP-vastauksen Keep-Alive: timeout=15, max=100 otsakkeet Connection: Keep-Alive <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd'> <html Content-Type: xmlns='http://www.w3.org/1999/xhtml' text/html xml:lang='fi'> <head> <title>esimerkki</title> </head> <body> Data(HTML) <!-- Aika simppeliä --> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1 <h1>terve maailma!</h1> <p>tämä on erittäin yksinkertainen webbisivu.</p> </body> 'http://www.w3.org/tr/xhtml11/dtd/xhtml1 </html> 9

Selaimelta palvelimelle: HTTP GET /aura/esimerkki.html HTTP/1.1 Host: users.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: Sun, 17 Jan 2010 12:57:12 GMT Server: Apache/2.2.9 (Unix) Last-Modified: Sun, 17 Jan 2010 12:51:31 GMT Etag: "35ab82-158-47d5bb227dca9;458ab883a0bc0" Accept-Ranges: bytes Content-Length: 344 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html Kokeile Firefox-laajennuksia: Live HTTP headers / HttpFox <!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> <!-- Aika simppeliä --> <h1>terve maailma!</h1> <p>tämä on erittäin yksinkertainen webbisivu.</p> </body> </html> HTTP-pyyntö HTTP-pyynnön otsakkeet HTTP-vastaus HTTP-vastauksen otsakkeet Data(HTML) 10

Siirtotie Kuinka HTTP-protokollan viestit siirretään asiakkaan ja palvelimen välillä? Vastaus: HTTP käyttää viestien siirtoon TCP-protokollaa Tyypillinen protokollien toimintaperiaate: tiedon siirtoon käytetään toista alemman kerroksen protokollaa 11

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 GET /aura/esimerkki.html HTTP/1.x 200 OK Internet 80 Palvelin Palvelut on numeroitu: HTTP-palvelinohjelma odottaa yhteyksiä porttinumerossa 80 Telnet-ohjelmalla TCP:tä voi käyttää käsin 12

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 protokollapinon, jossa kukin käyttää alemman kerroksen palveluja HTTP kayttää TCP:tä, TCP käyttää IP:tä Kerrosten välillä on rajapinta TCP Socket API ohjelmointirajapinta sovelluksia varten 13

TCP:n toteutus sekvenssikaavio Asiakas IP-paketteja Palvelin kolmen IP-paketin kättely SYN SYN- ACK ACK data GET /aura/esimerkki.html Aika kaksisuuntainen tavuvirta paloiteltuna IP-pakettehin data data HTTP/1.x 200 OK Internet 14

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 IP-protokollan nimiavaruus, esim. 130.233.194.61 Periaate: Jokaisella koneella on oma IPosoite ja mikä tahansa kone maailmassa voi lähettää paketteja mille tahansa koneelle DNS-hakemistopalvelu muuntaa koneen nimen (URL:ssa) palvelimen IP-osoitteeksi Esim. % nslookup users.tkk.fi 15

Paketit verkossa Esimerkin paketit (Wireshark): Time Source IP Destination IP Protocol Ports Details 5.722 130.233.194.61 130.233.224.249 TCP 52079 > 80 SYN 5.725 130.233.224.249 130.233.194.61 TCP 80 > 52079 SYN, ACK 5.725 130.233.194.61 130.233.224.249 TCP 52079 > 80 ACK 5.725 130.233.194.61 130.233.224.249 HTTP 52079 > 80 GET /aura/esimerkki.html HTTP/1.1 5.726 130.233.224.249 130.233.194.61 TCP 80 > 52079 ACK 5.737 130.233.224.249 130.233.194.61 HTTP 80/1.1 200 OK (text/html) 5.938 130.233.194.61 130.233.224.249 TCP 52079 > 80 ACK 20.746 130.233.224.249 130.233.194.61 TCP 80 > 52079 FIN, ACK 20.747 130.233.194.61 130.233.224.249 TCP 52079 > 80 ACK 32.521 130.233.194.61 130.233.224.249 TCP 52079 > 80 FIN, ACK 32.522 130.233.224.249 130.233.194.61 TCP 80 > 52079 ACK 16

Asiakaskone löytää lähimmän reitittimen ja saa oman IP-osoitteen (sekä DNS-palvelun IP-osoitteen) automaattisesti DHCP-protokollalla 130.233.194.61 IP-reititys Miten IP siirtää paketit Internetin yli? Reitittimet kuljettavat IP-paketteja vastaanottajan IP-osoitteeseen Internet 130.233.224.249 Kunkin koneen tarvitsee tietää vain oma lähin reititin Reititystaulut- ja protokollat kertovat reitittimille, mihin suuntaan paketti on menossa Kunkin reitittimen tarvitsee tietää vain mille seuraavalle reitittimelle paketti siirretään 17

Linkkikerroksen palvelu Miten asiakas- ja palvelinkone siirtävät IPpaketin lähimmälle reitittimelle? Miten reititin siirtää tiedon seuraavalle reitittimelle? Vastaus: linkkikerros (eli siirtoyhteyskerros) toteuttaa IP-pakettiensiirron fyysisen linkin yli Langaton lähiverkko IEEE 802.11 ADSL Kytketty Ethernet IEEE 802.3 18

Linkkikerroksen toteutus Linkkikerros siirtää IP-paketteja fyysisen siirtotien kuten radioyhteyden, kuparikaapelin tai valokuidun 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 19

ESIMERKKI 2: SÄHKÖPOSTI 20

Webmail https://webmail.tkk.fi/ 21

Dynaaminen HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <!-- Horde: Copyright 2000-2006, The Horde Project. Horde is under the LGPL. --> <!-- Horde Project: http://horde.org/ --> <!-- GNU Library Public License: http://www.fsf.org/copyleft/lgpl.html --> <html lang="en-us" id="sidebar-frame"><head> <script type="text/javascript" src="/js/horde.js?horde=714099321573f7c375fa436013d6ce093"></script> Otteita palvelun webmail.tkk.fi -lähdekoodista <script type="text/javascript" src="/services/javascript.php?horde=714099321573f7c375fa436013d6ce093&file=popup.js&app=imp"></ script> <script type="text/javascript" src="/js/httpclient.js?horde=714099321573f7c375fa436013d6ce093"></script> <script type="text/javascript" src="/js/hideable.js?horde=714099321573f7c375fa436013d6ce093"></script> <title>horde</title> <link href="/themes/graphics/favicon.ico" rel="shortcut ICON" /> <link href="/themes/screen.css" rel="stylesheet" type="text/css" /> <link href="/themes/bluewhite/screen.css" rel="stylesheet" type="text/css" /> </head> <body class="sidebar"> <div id="expandedsidebar" style="overflow:hidden"> <div id="menu" style="overflow:hidden"> <span class="leftfloat" id="themelogo"> </span> <span class="leftfloat" id="logopad"> </span> <div class="clear"> </div> </div> <span id="expandbutton" class="rightfloat"><a href="#" onclick="togglemenuframe(); return false;" title="collapse Sidebar"><img src="/themes/ graphics/hide_panel.png" alt="" title="" /></a></span> <div id="sidebarpanel"> <script type="text/javascript" src="/services/javascript.php?horde=714099321573f7c375fa436013d6ce093&file=tree.js&app=horde"></ script> <script type="text/javascript"> n_horde_menu['horde'] = new Array(); n_horde_menu['horde']['label'] = 'Horde'; n_horde_menu['horde']['expanded'] = ''; n_horde_menu['horde']['url'] = '/login.php?horde=714099321573f7c375fa436013d6ce093'; n_horde_menu['horde']['icon'] = '/themes/graphics/horde.png'; 22

Dynaaminen HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <!-- Horde: Copyright 2000-2006, The Horde Project. Horde is under the LGPL. --> Otteita palvelun webmail.tkk.fi <!-- Horde Project: http://horde.org/ --> <!-- GNU Library Public License: http://www.fsf.org/copyleft/lgpl.html --> -lähdekoodista <html lang="en-us" id="sidebar-frame"><head> <script type="text/javascript" src="/js/horde.js?horde=714099321573f7c375fa436013d6ce093"></script> <script type="text/javascript" src="/services/javascript.php?horde=714099321573f7c375fa436013d6ce093&file=popup.js&app=imp"></ <script type="text/javascript" src="/js/horde.js...> script> <script type="text/javascript" src="/js/httpclient.js?horde=714099321573f7c375fa436013d6ce093"></script> <script type="text/javascript" src="/js/hideable.js?horde=714099321573f7c375fa436013d6ce093"></script> <title>horde</title> <link href="/themes/graphics/favicon.ico" rel="shortcut ICON" /> <link href="/themes/screen.css" rel="stylesheet" type="text/css" /> <link href="/themes/bluewhite/screen.css" rel="stylesheet" type="text/css" /> </head> <body class="sidebar"> <div id="expandedsidebar" style="overflow:hidden"> <div id="menu" style="overflow:hidden"> <span class="leftfloat" id="themelogo"> </span> <span class="leftfloat" id="logopad"> </span> <div class="clear"> </div> </div> <span id="expandbutton" class="rightfloat"><a href="#" onclick="togglemenuframe(); return false;" title="collapse Sidebar"><img src="/themes/ graphics/hide_panel.png" alt="" title="" /></a></span> <div id="sidebarpanel"> onclick="togglemenuframe(); return false;" <script type="text/javascript" src="/services/javascript.php?horde=714099321573f7c375fa436013d6ce093&file=tree.js&app=horde"></ script> <script type="text/javascript"> n_horde_menu['horde'] = new Array(); var extracolsleft = 0; n_horde_menu['horde']['label'] = 'Horde'; n_horde_menu['horde']['expanded'] var extracolsright = ''; = 0; n_horde_menu['horde']['url'] = '/login.php?horde=714099321573f7c375fa436013d6ce093'; n_horde_menu['horde']['icon'] = '/themes/graphics/horde.png'; var n_horde_menu = new Array(); Nykyaikaiset webbisivut ovat interaktiivisia Javascript-ohjelmia, jotka kommunikoivat käyttäjän ja palvelimen kanssa 23

From: alice@example.com To: bob@tkk.fi Subject: Internetin sähköposti alice@example.com 192.168.1.33 IMAP/SMTP mail.example.com 207.68.196.170 bob@tkk.fi 130.233.194.61 Matkalla lähettäjältä vastaanottajalle sähköpostia välitetään useilla eri protokollilla useiden eri koneiden ja organisaatioiden välillä Internet SMTP HTTP smtp.hut.fi 193.229.0.40 webmail.tkk.fi 130.233.224.249 24

From: alice@example.com To: bob@tkk.fi Subject: Internetin sähköposti alice@example.com 192.168.1.33 IMAP/SMTP mail.example.com 207.68.196.170 bob@tkk.fi 130.233.194.61 Internet SMTP HTTP HTTP, IMAP ja SMTP käyttävät kaikki TCP:tä tiedon siirtoon smtp.hut.fi 193.229.0.40 HTTP ja IMAP webmail.tkk.fi voidaan suojata 130.233.224.249 käyttämällä SSL:ää 25

Tietoturva Siirrettävän tiedon luottamuksellisuus ja aitous voidaan suojata kryptografisesti HTTPS tarkoittaa, että tieto asiakkaan ja palvelimen välillä on salattu ja todennettu SSL-protokollalla SSL tarjoaa sovelluksille rajapinnan turvalliseen tavuvirran siirtoon SSL käyttää tavuvirran siirtoon TCP:tä 26

From: alice@example.com To: bob@tkk.fi Subject: Internetin sähköposti alice@example.com 192.168.1.33 IMAP/SMTP mail.example.com 207.68.196.170 bob@tkk.fi 130.233.194.61 Hakemistopalvelu DNS kertoo palvelimen nimeä vastaavan IP-osoitteen ja vastaanottajan sähköpostiosoitetta vastaavan SMTP-palvelimen nimen DNS-protokolla ei käytä sanomiensa siirtoon TCP:tä vaan UDP:tä HTTP Internet SMTP smtp.hut.fi 193.229.0.40 webmail.tkk.fi 130.233.224.249 27

From: alice@example.com To: bob@tkk.fi Subject: Internetin sähköposti alice@example.com 192.168.1.33 IMAP/SMTP mail.example.com 207.68.196.170 bob@tkk.fi 130.233.194.61 HTTP Internet SMTP smtp.hut.fi 193.229.0.40 webmail.tkk.fi 130.233.224.249 Internetin palvelut, kuten sähköposti ja web, muodostavat monimutkaisen protokollien ja hajautettujen palvelinten vyyhdin 28

INTERNET-PROTOKOLLAPINO 29

TCP/IP-protokollapino Sovelluskerros Middleware: HTTP, SSL, XML... Kuljetuskerros: 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 30

Nimiavaruudet Sovelluskerros Middleware: HTTP, SSL, XML... Kuljetuskerros: 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 31

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

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

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

Kurssin luennot Alustava suunnitelma 1. Aloitus: Miten Internet toimii, Tuomas Aura 2. Web 2.0 ja uudet sovellustekniikat, NN 3. Sovelluskerros: WWW, email, socket API, NN 4. Salaustekniikat, SSL, Tuomas Aura 5. Kuljetuskerros, TCP, Matti Siekkinen 6. Verkkokerros, IP, Matti Siekkinen 7. Linkkikerros: Ethernet ja WLAN, Matti Siekkinen 8. Tietoverkkojen turvallisuus, Tuomas Aura 9. Tiedonsiirron perusteet ja optiset verkot, Jouko Kurki 10. Matkapuhelinverkot, Jukka K. Nurminen 11. Tiedonsiirto matkapuhelinverkoissa, Jukka K. Nurminen 12. Tele- ja tietoverkon laskutus, Sakari Luukkainen 13. Liiketoiminta verkkoympäristössä, Sakari Luukkainen 14. TBA 15. Kertaus, Tuomas Aura 35