Tietokoneverkot. CSE-C2400 Tietokoneverkot (5 op) 2016 Sanna Suoranta. Sanna Suoranta sanna.suoranta@aalto.fi. Tietokoneverkot 2016

Samankaltaiset tiedostot
Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

1/13/15. Tietokoneverkot. Tämä luento

Tietokoneverkot. CSE-C2400 Tietokoneverkot (5 op) 2015 Sanna Suoranta. Sanna Suoranta Tietokoneverkot 2015

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

T Tietokoneverkot kertaus

Tietoliikenne II (2 ov)

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

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

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

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

Tietoliikenne II (2 ov)

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

S Teletekniikan perusteet

OSI ja Protokollapino

Tietoliikenne I 2 ov kevät 2002

Tietoliikenne I 2 ov kevät 2003

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

1.4. Tietoliikenneohjelmistot eli protokollat

1.4. Tietoliikenneohjelmistot eli protokollat

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

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

Tietoliikenne I 2 ov kevät 2004

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

- Valitaan kohta Asetukset / NAT / Ohjelmallinen palvelin - Seuraavassa esimerkki asetuksista: valitaan käytössä oleva ohjelmistorajapinta

Tietoliikenne I 2 ov kevät 2004

Tietoliikenteen perusteet

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Luento 1: Tietokoneverkot ja Internet

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

T Johdatus tietoliikenteeseen 5 op. Kevät 2013

Tietoliikenne I 2 ov syksy 2001

ELEC-C7241 Tietokoneverkot Sovelluskerros

INTERNET-yhteydet E L E C T R O N I C C O N T R O L S & S E N S O R S

T Johdatus tietoliikenteeseen 5 op

Tietoliikenteen perusteet

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

Yhteenveto. CSE-C2400 Tietokoneverkot

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

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

Tietoliikenteen perusteet

Chapter 1 Introduction

Kohina (Noise) Signaalia häiritsee kohina. aina taustalla esiintyvää sähkömagneettista aaltoliikettä terminen kohina. elektronien liikkeestä johtuva,

Kuva maailmasta Pakettiverkot (Luento 1)

OSI malli. S Tietoliikenneverkot S Luento 2: L1, L2 ja L3 toiminteet

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

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

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

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

Internet ja tietoverkot

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

ELEC-C7241 Tietokoneverkot Kuljetuskerros

1. Tietokoneverkot ja Internet

Mikä on internet, miten se toimii? Mauri Heinonen

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

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

Tietoliikenteen perusteet

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

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

Sonera Hosted Mail -palvelun käyttöohje

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

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

Teknisiä käsitteitä, lyhenteitä ja määritelmiä

Luento 1: Tietokoneverkot ja Internet

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

Antti Vähälummukka 2010

Langaton linkki. Langaton verkko. Tietoliikenteen perusteet. Sisältö. Linkkikerros. Langattoman verkon komponentit. Langattoman linkin ominaisuuksia

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

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

Tulevaisuuden Internet. Sasu Tarkoma

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

Reititys. Tämä ja OSI 7LHWROLLNHQQHWHNQLLNDQSHUXVWHHW $(/&7 0DUNXV3HXKNXUL. Yhteyden jakaminen Reititys Kytkentä Internet-protokolla TCP, UDP

Miten Internet toimii?

Security server v6 installation requirements

Yhteenveto. CSE-C2400 Tietokoneverkot Matti Siekkinen

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

ELEC-C7241 Tietokoneverkot Sovelluskerros

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn

Tietoliikenteen perusteet: Kokeeseen tulevista asioista

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

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Tietoturvan perusteet - Syksy SSH salattu yhteys & autentikointi. Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)

TURVAVÄYLÄSEMINAARI. Erilaiset kenttäväylät ja niiden kehitys Jukka Hiltunen

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

T Tietokoneverkot Miika Komu Alkup. kalvot: Sanna Suoranta Tietoliikenneohjelmistot Tietotekniikan laitos Aalto-yliopisto

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

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

1. Tietokoneverkot ja Internet

Security server v6 installation requirements

Miten Internet toimii?

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

3. IP-kerroksen muita protokollia ja

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut

T Tietokoneverkot

Internet-yhteydet maanläheisesti Combi Cool talvipäivät 2010

Tietoliikenne I 2 ov syksy 2000

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

Tietoliikenne I 2 ov syksy 2000

Transkriptio:

Tietokoneverkot CSE-C2400 Tietokoneverkot (5 op) 2016 Sanna Suoranta Sisältöä adaptoitu seuraavista lähteistä: J.F. Kurose and K.W. Ross: Computer Networking: A Top-Down Approach 6th ed. -kirjan lisämateriaali, T. Lindholm, S. Tarkoma: Johdatus tietotekniikkaan-kurssin Sovelluskerros-luennon materiaali, S. Sorvakko: Tietokoneverkot-kurssin Network Programming-luennon materiaali, M. Siekkinen Tietokoneverkot-kurssin Sovellukset luennon materiaali, Aalto-yliopisto, laatukalvot Tietokoneverkot 2016 Sanna Suoranta sanna.suoranta@aalto.fi CSE-C2400 Tietokoneverkot cse-c2400@aalto.fi

How to improve learning and teaching?

Student s learning cycle PLAN activities according to your goals: HOPS plan your personal study path Aalto Strategy Schools Strategic Plans, Aseta Roadmaps tavoite tälle Performance Agreements kurssille DO what you have planned Study and learn Exercises, labs etc. Be innovative Opiskele! (heti tänään, jatka koko kurssin ajan) Mitä tekisit toisin? (ja tee jatkossa niin) DEVELOP activities Improve performance Renew and update the HOPS Käy läpi saamasi palaute CHECK and EVALUATE (how you succeeded). GIVE and RECEIVE feedback Results (grades, feedback) Course feedback, other surveys

Tämä luento Käytännön asiat ja kurssin suorittaminen Kokonaiskuva, esimerkkinä sähköposti Sekä sähköposti sovelluksena (jatkuu ensi viikolla)

Mitä jokaisen DI:n tulee tietää verkoista osaat selittää tietoverkkojen peruskäsitteet ja termit (sekä lyhenteet) miten tietoverkon protokollat vuorovaikuttavat keskenään sekä miten tärkeimmät sovellusprotokollat toimivat kerrosmallin toiminnot ja palvelut sekä miten TCP/IPprotokollat toteuttavat mallin ja analysoida verkon ongelmatilanteita osaat suunnitella ja toteuttaa verkkosovelluksen sekä arvioida sen toimintaa ja rajoituksia sekä pystyt arvioimaan langattoman ja mobiilin tiedonsiirron vaikutuksia sovellusten toteuttamiseen ja toimintaan tunnet ja osaat käyttää verkon analysointityökaluja paikallisverkossa (intranet) ja Internetissä osaat suunnitella ja konfiguroida toimivan paikallisverkon sekä osaat laskea ja arvioida verkon suorituskykyä ja ehdottaa parannuksia

Yleistä Esitiedot: ICS-A1120 Ohjelmointi 2 (eli pari kurssia ohjelmintia) ja CSE-A1140 Tietorakenteet ja algoritmit (tai vastaavat vanhat kurssit tai vastaavat asiat) Korvaa kurssin T-110.2100 Johdatus tietoliikenteeseen tai T-110.1100 Johdatus tietoliikenteeseen ja multimediaan Aiemmasta poiketen sisältää myös ohjelmointia! C-kieli (koska sillä verkkon asiat on kätevintä tehdä) Koska tämä on ainoa tietoliikenteen kurssi nykyisin (mutta ei silti korvaa kurssia T-110.4100 Tietokoneverkot)

Käytännön asioita Ilmoittaudu 11.1.2016 mennessä oodissa! Esitietokysely, määräaika 18.1.2016 (taustojen selvitys) Ajantasaisin tieto MyCoursesissa, TARKISTA kaikki sieltä Sähköpostiosoite: cse-c2400@aalto.fi Henkilökohtaiset kysymykset tänne IRC:!verkot IRCnetissä Assarit ovat usein tavoitettavissa ircitse; assareiden vastaanotto Vapaata keskustelua aiheesta ja aiheen vierestä Assaripäivystys Paniikki-luokassa (vielä auki :/)

Henkilökunta Vastaavat opettajat: TkL Sanna Suoranta TkT Matti Siekkinen (kaksi luentoa, ei muuta) Kurssin assarit: Benjamin Engberg Klaus Helenius Essi Jukkala Juhana Kekoni Markus Palonen Tapio Särkkä Tuomas Ylipiha Lähetä sähköpostisi käyttäen kurssin osoitetta csec2400@aalto.fi, älä suoraan meistä kenellekään!

Oppimateriaali Kurssin kirja: James F. Kurose, Keith W. Ross. Computer Networking, A Top-Down Approach, 6 th edition, 2013 kirjastossa myös sähköisenä Luennot ja luentokalvot kertovat vain osan aihealueesta Mahdollisesti muuta lisämateriaalia kurssin sivuilla

Osasuoritukset pakolliset Pakolliset osasuoritukset Kaksi osatenttiä, kumpikin 40% kurssin arvosanasta Harjoitustyö, kaksi osaa, 20% kurssin arvosanasta Kurssipalaute, pakollinen, ei lisäpisteitä Osatenteistä ja harjoitustyöstä annetaan arvosanat 0-5, hyväksytty suoritus edellyttää vähintään arvosanaa 1 kustakin osasuorituksesta

Osasuoritukset - vapaaehtoiset Lisäksi vapaaehtoisia kotitehtäviä Neljä harjoitustehtävää, kaksi kummankin puoliskon aihealueista Kustakin harjoitustehtävästä voi saada max kolme tenttipistettä aihealueen hyväksytysti suoritetun osatentin pisteiden päälle keväällä 2016 (huom: ei enää syksyn tentteihin, eikä helmikuussa olevan tentin toiseen osatenttiin); lisäpisteet voimassa kunnes seuraava kurssi alkaa (eli 31.12.2016 asti) Eli hyväksytysti suoritettuun osatenttiin voi saada max 6 pistettä lisää tekemällä kaksi ko osatentin aihealueen kotitehtävää (arvosana 1 voi nousta kahdella, ja arvosanat 2-4 yhdellä) Myöhässä palautetusta tehtävästä ei saa pisteitä lainkaan

Osasuoritukset ja kurssin arvosana (pakolliset ja vapaaehtoiset suoritteet) 40% 1. osatentti Min 15 p Max 30 p (ja hyväksyttyyn max. +3p kotitehtävä 1 +3p kotitehtävä 2) 40% 2. osatentti Min 15 p Max 30 p (ja hyväksyyttyyn max. +3p kotitehtävä 3 +3p kotitehtävä 4) 20% Harjoitustyö osa 1: min 1p, max 5p osa 2: min 1p, max 5p as= (osa1+osa2)/2 (htyön bonus) Pakollinen kurssipalaute (ei vaikuta arvosanaan) Tentin arvosanat: 0-14p=0, 15-17=1, 18-20=2 21-24=3, 25-27=4 ja 28-30=5

Luennot tiistaisin 10-12 T1 tai T2-salissa pvm I osatentin alue luku 5.1. Yleiskuva (Sanna) 1,2 12.1. Sovellukset 1(Sanna) ja ohjelmointi (Essi) 19.1. Sovellukset 2 (Sanna 2 26.1. Kuljetuskerros I (Matti) 3 2.2. Kuljetuskerros II (Matti) 3, 7 9.2. Teollisuus (Elisa Oyj, Veli-Matti Mattila) Tutkimus (prof. Antti Ylä-Jääski) 2 pvm II osatentin alue luku 23.2. Internet-protokolla (Sanna) 1.3. Reititys (Sanna) 4 8.3. Linkkikerros, Ethernet,WAN (Sanna) 15.3. Langattomat verkot (Sanna) 22.3. Verkon suunnittelu ja ylläpito (J. Kotimäki) 29.3. Kokonaisuus (Sanna) 7, 8 4 5 6 9

Kaksi osatenttiä Kullakin tenttikerralla on mahdollisuus tehdä kumpi vaan tai molemmat kurssin osatentit Ikäänkuin välikokeet, mutta useampi suoritusmahdollisuus Ilmoittaudu viikkoa ennen siihen osatenttiin, johon olet ensisijaisesti tulossa (mutta voi silti tehdä molemmat tai sen toisen) Vanhoja tenttejä kurssin sivuilla Neljä tehtävää, joista yksi isompi essee Kummastakin osatentistä saa arvosanan, joka on 40% kurssin lopullisesta arvosanasta mukaanlukien mahd. kotitehtävistä saadut pisteet kevään tenteissä edellä mainitulla tavalla Tenttialueet ilmoitetaan kurssin sivuilla Peru tentti-ilmo oodissa/sähköpostitse, jos et tule! Kolme nollaa johtaa lisätehtävään, joka pitää tehdä ennen seuraavaa tenttimisyritystä

Kotitehtävät Vapaaehtoisia, mutta saa lisäpisteitä tenttiin keväällä 2016 (ei enää syksyllä, ei helmikuun 2. osatenttiin) Kustakin kotitehtävästä max 3 tenttipistettä Lisäpisteet ovat voimassa kokonaisarvosanaa laskettaessa seuraavan kurssikerran alkamiseen asti (eli 31.12.2016 asti) Määräajat kurssin sivuilla, samoin julkaisupäivät Pohjautuvat kirjan tehtäviin Laskutehtäviä Työkalutehtäviä, esim Wireshark Sanallisia tehtäviä

Harjoitustyö Harjoitustyössä on kaksi osaa ja esitehtävä C-kielellä, tarjolla pohja Määräajat kellonaikoineen ja julkaisuajat kurssin sivuilla Palautukset: Pe 12.2. klo 13:00 ensimmäinen osa (asiakasohjelma) Ma 21.3. klo 13:00 toinen osa (palvelin) (Bonuskierros Pe 1.4. klo 13:00)

Kysyttävää järjeste- lyistä?

Tehtävä: Piirrä Internet (tai kirjoita) Mitä ikinä sinulle tulee mieleen tietokoneverkosta ja Internetistä?

Mikä on Internet? Kaksi näkökulmaa Internet on globaali verkko, jossa on tarjolla monenlaisia hajautettuja palveluita, joita voi käyttää etänä verkon yli Sähköposti, www, P2P, videoiden katselu (Internet-tv), tiedostojen jako, pelit, jne käyttäjälle suunnatut palvelut Nimipalvelu, reititys, verkonhallinta jne verkon infrastruktuurin palvelut, jotka helpottavat muiden palveluiden ja käyttäjien toimintaa Palveluita voi kuka tahansa kehittää lisää käyttäen hyväksi sovellusrajapintaa (engl. application programming interface, API) Internet-verkko on verkko, joka muodostuu useista eri tahojen operoimista verkoista

Internet do what I mean Alice haluaa lähettää sähköpostiviestin Bobille Mitä kaikkea tapahtuu?

Käsitteitä: Palvelu, protokolla ja rajapinta Palvelu toteuttaa jonkin (hyvin määritellyn) tehtävän Osa standardoitu (request for comments, RFC) Internet Engineering Task Forcessa (IETF) Palvelut viestivät asiakasohjelmiensa kanssa protokollan avulla Viesteillä on tarkkaan määritelty formaatti, Viestissä otsikko-osa ja varsinainen data erotetaan toisistaan Viesteillä on käsittelyjärjestys: tiettyyn viestiin vastataan tietyllä viestillä Palvelut käyttävät toisia palveluita hyväkseen rajapinnan avulla Sähköpostipalvelu (SMTP) käyttää hyväkseen mm. nimipalvelua (DNS) ja verkon tiedonsiirtopalvelua (TCP/IP) Päätelaite saa osoitteen osoitteenjakopalvelulta (DHCP), joka toimii tiedonsiirtopalvelun (TCP/IP) protokollien päällä

Liityntäverkko (access network) DSL Internet Liityntäverkko on verkko, johon päätelaitteet kytkeytyvät Esim. kotona, yrityksessä, kahvilassa Lähiverkko (local area network, LAN) on reitittimen takana oleva yhtä tekniikkaa käyttävä verkko Useita mahdollisia teknologioita, suosituinpia Ethernet ja WiFi Laitteita lähiverkossa Päätelaite (host, end system), palvelin Langaton tukiasema (access point) Kytkin (switch) DSL- (digital subscriber line) tai kaapelimodeemi (cable modem)

Internet-palveluntarjoaja (Internet service provider, ISP) DSL DSLAM tarjoaa yhteyttä Internetiin Keskuksessa asiakkaiden liikenne erotetaan toisista asiakkaista (digital subscriber line access multiplexer, DSLAM) Laitteen IP-osoite joko staattinen tai dynaaminen (tai piilotettu NATin taa) ja palveluita ISP Nimipalvelu (domain name service, DNS) Sähköpostipalvelin Internet Levytilaa

Liityntäverkon ja lähiverkon teknologioita Laajakaistayhteys (broadband connection) käyttää hyväkseen olemassaolevia aikanaan lankapuhelimia varten tehtyjä kaapelointeja (kierretty pari -kaapeli) Kaapelimodeemiyhteys (cable modem) käyttä hyväkseen kaapelitelevisioverkkoa (koaksiaalikaapeli) Lähiverkko on erikseen tietoliikennettä varten järjestetty Langaton lähiverkko käyttää radiotaajuuksia Yleisin kaapelointi on suojaamaton kierretty parikaapeli (unshielded twisted pair, UTP) tai vastaavaa suojattu (STP) kaapeli Myös valokuitu (fiber optics) valtaa alaa

Sähköpostin lähettäminen DSL DHCP DNS SMTP DSLAM 1. Alicen kone on hakenut itselleen IP-osoitteen (DHCP) 2. Sähköpostiohjelma ottaa yhteyden sähköpostipalvelimeen ja lähettää viestin sille (SMTP) 3. Sähköpostipalvelin selvittää vastaanottajan osoitteen loppuosan perusteella (DNS) vastaanottajan sähköpostipalvelimen sijainnin (IP-osoite). Internet

do what Tier-2: Alueellinen tai kansallinen ISP Tier-1 ISP Internet Kotiverkko (reunaverkko) Tier-3: Asiakkaan ISP Yliopiston verkko (reunaverkko) I mean

Internet-verkko koostuu useista, yhteentoimivista verkoista Runkoverkko, Tier-1-operaattorit Välittävät toistensa liikennettä ilmaiseksi (esim valtamerten ali) Internet-palveluntarjoaja (internet service provider, ISP) Tier-2: Alueellisia/kansallisia ja Tier-3: asiakkaille yhteyttä myyviä ISP:tä Maksavat ylemmän tason operaattoreille verkkoyhteydestä Voivat sopia keskenään liikenteen välittämisestä ilmaiseksi Internet exchange point, IXP Liikenteenvälittäjä eri verkkojen välillä (operaattoririippuvuuden purkamiseksi) Reunaverkko: kotiverkko, yritysverkko, langaton verkko Palvelu ostetaan ISP:tä, verkon läpi ei välitetä muiden liikennettä

do what Sähköpostin matka verkossa Internet SMTP SMTP SMTP SMTP POP/IMAP SMTPpalvelin IMAPprotokolla I mean

Sähköposti jatkaa matkaansa verkossa 4. Viesti välitetään ISP:n sähköpostipalvelimelle SMTPprotokollaa käyttäen 5. Sähköpostipalvelin välittää viestin eteenpäin seuraavalle sähköpostipalvelimelle (SMTP) Kun viesti saavuttaa vastaanottajan sähköpostipalvelimen, se tallennetaan osoitteen alkuosan perusteella vastaanottajan postilaatikkoon Lähettäjäpalvelin tuhoaa viestin saatuaan sen eteenpäin 6. Sähköposti jää odottamaan postilaatikkoon 7. Vastaanottaja hakee viestin postilaatikostaan IMAPprotokollaa käyttäen ja lukee sen

Mitä voi mennä pieleen?

Häiriöt viestin kulkiessa verkossa Verkon laitteet aiheuttavat viipeitä Verkko voi ruuhkautua Viestit voivat kadota ja muuttua Pahantahtoiset tahot voivat aiheuttaa ongelmia Joku voi lukea viestin matkalla (sniffing) Joku voi naamioitua luotetuksi osapuoleksi (man-in-the-middle, MitM, tai spoofing) Joku voi tukkia palvelimen (denial-of-service, DoS) Joku voi käyttää konetta hyväkseen haittaohjelman (malware) avulla esim lähettämään spämmiä tai toimimaan osana hajautetussa palvelunestohyökkäyksessä (DDoS)

Viipeet reitittimessä ja verkossa d jono + d prosessi (+ d jono )+ d lähetys d eteneminen Prosessointiviive: paketin otsikon tutkiminen ja päätös, mihin reitittimen rajapintaan se seuraavaksi välitetään Jonotusviive: paketti odottaa jonossa lähetystä (tai vastaanottoa) jonotusviive voi vaihdella suuresti Lähetysviive: paketin lähettäminen linkille (paketin pituus / linkin nopeus) Etenemisviive: paketin matka-aika linkillä

Viestit voivat kadota matkalla Viestit matkaavat erilaisille häiriöille alttiissa verkoissa Muut laitteet voivat häiritä tiedonsiirtoa, kaivinkone katkoo piuhan Viestit voivat kadota tai muuttua linkillä (verkossa) Reitittimen käsittelyjonoon ei mahdu määrättömästi viestejä Siirtotie voi aiheuttaa virheitä virheenkorjauksen sijaan käytetään virheiden havaitsemista ja hajonneet viestit hävitetään Miten epäluotettavan siirtotien varaan voi rakentaa luotettavan tiedonsiirron? Lisää myöhemmillä luennoilla: mm. kuittaukset ja uudelleenlähetys (kuljetuskerros), vaihtoehtoiset reitit (verkkokerros) jne Kullakin protokollalla on oma tehtävänsä kokonaisuudessa

Sähköpostin lähettäminen (taas) Internet Sähköpostiohjelma paketoi viestin SMTP-protokollan avulla Otsikko ja itse viesti erikseen Viesti annetaan käyttöjärjestelmän tietoliikennepinolle, joka avaa luotettavan tiedonsiirtoyhteyden verkon yli SMTP-palvelimelle kapseloi viestin TCP-tietosähkeeseen, joka puolestaan kapseloidaan IP-pakettiin, joka kapseloidaan Ethernet-kehykseen, joka Välitetään verkkokortin kautta piuhan toisessa päässä olevalle laitteelle Joka yleensä lähettää sen eteenpäin jne

Internetin protokollapino Sovelluskerros (application) Kuljetuskerros (transport) Verkkokerros (network) Linkkikerros (link layer) Fyysinen kerros (physical) Sovellukset (viesti, message) Bitit piuhaan/ilmaan (fyysisenä signaalina) Päätepiste mille sovellukselle päätelaitteessa? (segmentti, segment) Päätelaite minne Internet-verkossa? (tietosähke, datagram) Päätelaite mille laitteelle lähiverkossa? (kehys, frame)

do what verkko1 verkko2 I mean SMTP TCP IP Ethernet fyysinen kytkin Ethernet F1 F2 reititin IP Eth Eth F2 F3 SMTP IMAP TCP IP Ethernet fyysinen sähköpostipalvelin IMAP TCP IP Ethernet fyysinen Ethernet IP TCP SMTP data E

Protokollan avulla samalla kerroksella olevat vastinoliot keskustelevat keskenään (sininen nuoli edellä) Ohjelmistoissa/laitteissa viesti kulkee oikeastaan kaikkien kerrosten läpi, se pakataan (encapsulate) aina alemman kerroksen viestin sisään ja vastaanotettaessa jokainen kerros purkaa pois omat otsikkotietonsa Rajapinta on kerrosten välillä Kaikissa verkon laitteissa ei käytetä koko protokollapinoa (paitsi hallintarajapinnalle toki tarvitaan koko pino ;) Kytkimet ovat linkkikerroksen laitteita: linkeillä sama tekniikka (linkki=paikallinen verkko) Reitittimet ovat verkkokerroksen laitteita, verkkojen välillä: linkkien tekniikka voi vaihtua verkkojen välillä

Verkko-ohjelmointi soketeilla do what I mean sovellus prosessi kuljetus verkko linkki fyysinen soketti Internet sovellus prosessi kuljetus verkko linkki fyysinen sovelluskehittäjän kontrollissa käyttöjärjestelmä hallitsee Soketti/pistoke: ovi sovellusprosessin ja kuljetuskerroksen protokollan (TCP tai UDP) välissä Tavoite tällä kurssia on oppia ohjelmoimaan asiakas-palvelinsovelluksia, jotka viestivät käyttäen soketteja

Sokettirajapinta (socket API) Sokettirajapinta eli socket API (application programming interface) on käyttöjärjestelmän tarjoama rajapinta IPverkkoon Yleisin rajapinta nimeltä Berkeley sockets Alunperin BSD-Unixissa v. 1983 Nykyään käytössä kaikissa käyttöjärjestelmissä Sisältää keskeiset funktiot, joiden avulla sovelluskehittäjä voi toteuttaa verkon yli viestivän sovelluksen TCP:n tai UDP:n päälle UDP: epäluotettava datagrammipalvelu TCP: luotettava bittivirtapalvelu

Sokettiohjelmointi TCP:llä Asiakas ottaa yhteyttä palvelimeen Palvelinprosessi pitää olla valmiiksi käynnissä Palvelin on luonut soketin, joka vastaanottaa uuden asiakkaan Asiakkaan soketti muodostaa TCP yhteyden Sovelluskoodi spesifioi palvelimen IP-osoitteen ja TCP-porttin Palvelin luo yhteydenmuodostuksen aikana uuden soketin prosessille, joka palvelee kyseistä asiakasta Mahdollistaa usean samanaikaisen asiakkaan Lähettäjän IP-osoite ja porttinro erottaa asiakkaat toisistaan Sovelluksen näkökulmasta TCP soketti on luotettava bittivirran siirtopalvelu

Muutama sana historiasta 1960-luvulla kehitettiin pakettikytkentäinen tekniikka, jossa viestit lähetetään paketteina verkkoon ilman varausta Puheliverkot käyttävät piirikytkentäistä tekniikkaa, jossa siirtotie varataan päästä päähän yhteyttä varten (aika- tai taajuusjako) 1970-luvulla oli yksittäisiä erillisiä verkkoja TCP/IP-protokollien kehitys alkoi 1980-luvulla verkkoja kytkettiin yhteen TCP/IP valmis, etäyhteydes keskuskoneille (telnet), sähköposti,tiedostojen siirto (FTP), DNS ja muita palveluita 1990-luvulla netin käyttö räjähti WWW:n myötä Hakukoneet ja nettikaupat 2000-luvulla p2p-tiedostonjako, pikaviestit, puhelut ja videot, liikkuvat päätelaitteet ja sosiaalinen media sekä pilvipalvelut ovat muuttaneet verkon käyttöä

Ensi viikolla: sovelluskerros Sovellusten tarvitsemat kuljetuskerroksen palvelut Käyttäjän sovellukset: Sähköposti: SMTP, IMAP Web ja HTTP-protokolla Vähän tietoturvan perusteita Verkko-ohjelmien teko C-kielellä Sekä tämän kurssin harjoitustyö Kahden viikon päästä Verkon toiminnan kannalta olennaiset sovellukset: Nimipalvelu DNS Sovellusarkkitehtuurit

Lähteitä Kurose, Ross: Computer Networking, 2013, luku 1 RFC:t (http://www.rfc-editor.org/rfc-index.html) J. Postel, Internet protocol (IP), RFC791, 1981 J. Postel, Transmission Control Protocol (TCP), RFC793, 1981 D.Clark et al. Towards the Future Internet Architecture, RFC1287, 1991 P.V. Mockapetris. Domain names - concepts and facilities, RFC1034, 1987 ja Domain names - implementation and specification, RFC 1035, 1987

Tärkeitä lyhenteitä IP internet protocol TCP transmission control protocol UDP user datagram protocol RFC request for comments API application programming interface DSL digital subscriber line ISP internet service provider LAN local area network FDM frequency-division multiplexing TDM time-division multiplexing IXP Internet exchange point SMTP simple mail transfer protocol DNS domain name system DHCP dynamic host configuration protocol DoS denial of service

Tärkeitä termejä ja konsepteja Internet, palvelu (service), protokolla (protocol), rajapinta (interface), päätelaite (host, end system), palvelin (server), linkki (communication link), verkko (network), kytkin (switch), reititin (router), paketti (packet), protokolla (protocol), sovellus (application), rajapinta (interface), asiakasohjelma (client), asiakas (customer), tuottaja (provider), tier-1 ja tier-2, monikotinen (multi-home) Liitäntäverkko (access network), lähiverkko (LAN), laajakaistaverkko (broadband-), kaapeliverkko, fyysinen media (physical medium), pakettikytkentäinen (packet switching), piirikytkentäinen (circuit switching), aika- tai taajuusjakoinen multipleksaus (time- or frequence-division multiplexing), talleta-jalähetä (store and forward), Ethernet, WiFi (tai WLAN), Jono (queue), puskuri (buffer), viive (delay), kaistanleveys (bandwidth), katoaminen (loss), läpäisy/ suoritusteho (throughput), tiputtaminen (drop), pullonkaula (bottleneck) Kerrosarkkitehtuuri (layered architecture), referenssimalli (reference modell), kerros (layer), protokollapino (protocol stack), sovelluskerros (application layer), kuljetuskerros (transport layer), verkkokerros (network layer), linkkikerros (link layer), fyysinen kerros (physical layer), esitystapakerros (presentation layer), istuntokerros (session layer), kapsulointi (encapsuation), viesti (message), sekmentti (segment), tietosähke (datagram), kehys (frame) Haittaohjelma (malware), palvelunestohyökkäys (denial-of-service attack), pakettien salakuuntelu (eavesdropping, packet sniffing), naamioituminen (masquerade), tunnistus (authentication) Historiaa ja standardeja: ARPAnet, Aloha, DARPA, IETF, ISO:n OSI-malli (ISO OSI reference model),