OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 15: Tietoverkot Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al.
Vielä kerran: deadline-muistutus :) Pakolliset viikkoharjoitukset 6 kpl suoritettava kurssin läpäisemiseksi 14.10.2012 klo 23.55 mennessä Pakollinen essee palautettava kurssin läpäisemiseksi 14.10.2012 klo 23.55 mennessä Mikäli on jostakin pakottavasta syystä tarvetta lisäajalle, sitä voi vielä saada hyvissä ajoin etukäteen ilmoittamalla (ei siis enää dedistä edeltävänä vkonloppuna...)
Tenttihommat Tenttitehtäviä käydään läpi kertausluennolla 10.10.2012 eli ensi viikon keskiviikkona! Tenttiin on jo yli 500 ilmoittautunutta hoitakaapa oma ilmonne kuntoon jos ei vielä ole... Jos tämä tentti menee pieleen, seuraava tentti on torstaina 29.11.2012 klo 17 20 Tenttitulosten saapumisessa menee noin kuukausi, joten tähän toiseen tenttiin ehtii varmasti ilmoittautua tuloksen saamisen jälkeenkin
Luennon aiheet Tietoverkko käsitteenä Tietoverkkojen luokittelua Tietoverkkojen toteutus Tietoverkoissa käytettäviä protokollia Muuta tietoverkkoihin liittyviä asioita
Tietoverkot Sujuvat verkkoyhteydet ja tietokoneiden, mobiililaitteiden välinen kommunikaatio on nykyään tärkeä osa arkielämää. Tietoverkkoyhteyksien olemassaolon huomaa usein vasta siinä vaiheessa, kun homma ei toimi... Mistä tietoverkoissa on oikeastaan kyse?
Tietoverkot Tietoverkko tarkoittaa joukkoa tietokoneita, jotka kommunikoivat tietoliikenneyhteyksien välityksellä Tietoverkko on useamman tietokoneen muodostama kommunikaatioverkko Tietoverkot mahdollistavat esimerkiksi hajautetut järjestelmät, joissa laskenta on hajautettu usealle keskenään kommunikoivalle tietokoneelle Tietoliikenneyhteyksien avulla voidaan myös etäohjata erilaisia koneita ja laitteita, joissa sijaitsevat tietokoneet muodostavat oman verkkonsa
Tietoverkot Erityiset palvelintietokoneet tarjoavat erilaisia palveluita muille tietokoneille verkon välityksellä Tietoverkon tarkoituksena on tavallisesti resurssien jakaminen Vrt. TTY:n kotihakemisto Talletustilan jakaminen, tulostimen jakaminen
Tietoverkkojen luokittelu Tietoverkkoja voi tarkastella useammasta eri näkökulmasta: Käyttötarkoitus ja koko Intranet, esimerkkinä TTY:n oma intra Extranet, yrityksen ja asiakkaan välinen suljettu palvelu Internet WAN, wide area network LAN, local area network
Tietoverkkojen luokittelu Verkkotopologia ja muut verkon fyysiseen toteutukseen liittyvät asiat kaapelit ja laitteet, kuten verkkokortit, reitittimet ja sillat Kommunikaatioprotokollat Protokolla (tietotekniikassa) = jotakin teknistä asiaa koskevat menettelytavat tai niiden kuvaus Ohjeet, joiden perusteella vastapuolet ymmärtävät toisiaan ja osaavat kommunikoida keskenään oikealla tavalla
Tietoverkot - käyttötarkoitus ja koko Intranet on tyypillisesti jonkin organisaation ulkopuolisilta suojattu sisäverkko TTY:n intranet sisältää esimerkiksi Tutkan, Popin ja kotihakemistopalvelun, jne Extranet on jonkin organisaation oma internet, intranetin puolijulkinen osa, jonne organisaation ulkopuolisilla voi olla rajoitettu pääsy Kirjaston elektroniset aineistot, käyttöoikeus opiskelijoilla Lähiverkko on jollakin tavalla rajattu yksityisverkko, jossa koneet ovat fyysisesti lähekkäin LAN = Local Area Network, tuttu verkkopeleistä ehkä... Esimerkiksi kahden kotikoneen ja printterin verkko
Tietoverkot - käyttötarkoitus ja koko Alueverkko on laajempi verkko, jossa koneet voivat olla fyysisesti kaukana toisistaan WAN = Wide Area Network Esimerkiksi FUNET Internet on iso joukko yhteen liitettyjä pienempiä verkkoja Internet on verkkojen verkko Internet voidaan katsoa kaikkein isoimmaksi, koko maapallon peittäväksi alueverkoksi...
Eräitä alueverkkoja: Funet ja NORDUnet Lähde: http://www.csc.fi/funet/esittely/runkoverkko (11.9.2007)
Verkkotopologia Topologia = rakenneominaisuudet sellaisina, kuin ne voitaisiin esittää kartalla Verkon topologialla kuvataan kuinka verkon osat on kytketty yhteen Fyysinen topologia kuvaa miten koneet on fyysisesti linkitetty toisiinsa Looginen topologia kuvaa miten koneet kommunikoivat keskenään Fyysinen ja looginen topologia voivat siis olla erilaiset! Lähde määritelmille: http://www.cs.tut.fi/~jkorpela/siv/index.html (18.9.2007)
Joitakin mahdollisia verkkotopologioita Rengas Epäsäännöllinen Tähti Täysin kytketty Jono Puu Väylä Kuvalähde: http://en.wikipedia.org/wiki/image:networktopologies.png (19.9.2007
Funet-runkoverkon looginen topologia Lähde: http://www.csc.fi/funet/status/tools/wm (2.9.2008)
Tietoverkkojen rakenne Tietokoneet kommunikoivat tyypillisesti keskenään Verkkokaapelien välityksellä Puhelinyhteyksien välityksellä (esim. GSM- tai 3Gverkko) Radiosignaalien välityksellä (WLAN) Verkkosovitin on tietokoneen oheislaite, jonka avulla tietokone on yhteydessä tietoverkkoon Kuvalähde: http://en.wikipedia.org/wiki/ethernet (17.9.2007)
Osoitteet / nimet Laitetasolla liikenne tapahtuu käyttäen laiteosoitteita (MAC-address, media access control) kuusitavuinen, valmistajakohtainen osoite, esim: 08:00:20:14:be:a5 Ohjelmien tasolla käytetään IP-osoitteita, jotka eri organisaatiot rekisteröivät keskitetysti http://icann.org Nelitavuinen osoite, jonka alkuosa organisaation laitteilla on sama, esim: 130.230.24.10
Osoitteet / nimet Käyttäjien tasolla DNS-osoitteet, joidenka nimipääte rekisteröidään keskitetysti Selkokielinen osoite on helpommin muistettava kuin numerorimpsu... Pistein erotettu nimi, kuten proffa.cc.tut.fi.fi verkkotunnuksia hallinnoi viestintävirasto (Ficora) http://www.ficora.fi/
Verkkojen yhdistäminen: reititin ja silta Reititin on laite, joka yhdistää kaksi verkkoa toisiinsa Englanniksi router Reititin on tietokone, joka tarjoaa reitittämispalvelua Esimerkiksi lähiverkosta alueverkkoon (LAN - WAN) Reititin välittää viestit oikeaan osoitteeseen verkkojen välillä Reititin tietää konfiguraationsa perusteella minkä verkon puolelta tietty osoite löytyy ja välittää viestin oikealle puolelle Silta toimii kuten reititin, mutta laiteosoitteiden tasolla
Verkkojen yhdistäminen: reititin & silta Reititin Silta Silta, joka yhdistää kaksi verkkoa yhdeksi suuremmaksi verkoksi Reititin, joka yhdistää kaksi verkkoa
Verkkojen yhdistäminen: reititinesimerkki
Verkkojen yhdistäminen: toistin eli hubi Toistin välittää viestin usealle koneelle Siis toistaa viestin yhdeltä monelle vastaanottajalle Toistin on englanniksi hub Sopii esimerkiksi pienen kotiverkon rakentamiseen
Toistimen avulla rakennettu verkkosegmentti Kun kone A haluaa lähettää viestin koneelle C, niin Kone A lähettää toistimelle viestin Toistin lähettää viestin kaikille koneille (A-C) Toistin Kone A Kone B Kone C
Verkkojen yhdistäminen: kytkin Kytkin välittää viestejä toistimen tapaan Kytkin tutkii viestiä ja välittää sen vain oikeaan osoitteeseen, ei kaikille kuten toistin Soveltuu toistinta paremmin isompien verkkojen kasaamiseen: esim. tietokoneluokka Kuvalähde: http://en.wikipedia.org/wiki/network_switch (17.9.2007)
TTYn sisäisen runkoverkon yleiskuva Reititin Palomuuri Kytkin Lähde: TTYn intranet 18.9.2009
Ajankohtaisuuksia Moodleen kertausaihekysely tänään klo 18 Hälinä häiritsee, olkaa hiljaa :) Luennolla ei ole pakko istua! Ensi viikolla koneensisällekurkkaamisdemo, ajankohta ilmoitetaan perjantaina Opiskeluoppaat Moodleen loppuviikon aikana
Mitäs niitä laitteita olikaan? Kytkin Reititin Silta Toistin
Tietoliikenneprotokollat Jotta tiedonsiirto koneiden kesken onnistuisi, tarvitaan kommunikaatiolle yhteiset säännöt, protokolla Protokolla = menettelytapa(-säännöt), tietotekniikassa jotain asiaa koskevat tekniset menettelytavat tai niiden kuvaus (Aikoinaan) linnojen hoveissa oli protokolla, jonka mukaan tuli käyttäytyä, jotta kommunikaatio sujui Sähkötys, kansainväliset lippumerkit jne. ovat esimerkkejä ihmisten sopimista tiedonsiirtoprotokollista Tietokoneiden välillä tiedonsiirtoprotokolla määrittelee koneiden välillä siirrettävien bittijonojen tulkinnan Tiedonsiirtoprotokollat määritellään useilla eri tasoilla
Ethernet-verkon perusprotokolla Toistin Kone A Kone B Kone C Kaikki koneet lähettävät halutessaan tietoja Toistin toistaa ne (lähes) välittömästi muille Mitä tapahtuu jos kaksi konetta lähettää yhtä aikaa? Törmäyksen jälkeen molemmat odottavat satunnaisen ajan ja yrittävät uudelleen
TCP/IP malli TCP/IP on viisitasoinen malli, josta puhutaan myös Internetin referenssimallina TCP = Transmission Control Protocol, IP = Internet protocol TCP /IP = Internetin protokollien kokoelma Tasot ovat itsenäisiä, ylempi ei ota kantaa alemman toimintaan Taso Esimerkkiprotokollia 5. Sovellus 4. Kuljetus 3. Verkko 2. Datayhteys HTTP, IMAP, SSH, DNS, SMTP,... TCP, UDP, virheiden käsittely IP (Ipv4 & Ipv6), verkkoliikenteen ohjaus Ethernet, WLAN, 3G, GPRS 1. Fyysinen taso Modeemit, verkkokortit, kaapelit
Esimerkki verkkoliikenteestä & TCP/IP malli Valmistelee viestin ja merkitsee vastaanottajan osoitteen Pilkkoo viestin paketeiksi Merkitsee paketteihin seuraavan välikohteen osoitteen Lähettäjä 5. Sovellus 4. Kuljetus 3. Verkko Välikohteita / reitittimiä (voi olla useita) Jokaisella välipysähdyksellä verkkokerros merkitsee pakettiin uuden osoitteen ja palauttaa sen siirrettäväksi eteenpäin 3. Verkko Vastaanottaja 5. Sovellus 4. Kuljetus 3. Verkko Vastaanottaa viestin Kerää paketit ja kokoaa viestin Tunnistaa viestin saapuneen perille Siirtää paketit seuraavaan välikohteeseen 2. Datayhteys 1. Fyysinen taso 2. Datayhteys 1. Fyysinen taso 2. Datayhteys 1. Fyysinen taso Vastaanottaa viestin
HTTPpyyntö 53239 80 (=http) GET /~virtanea/ HTTP1.1 Accept: */* Accept-Language: fi-fi... lähdeporttikohdeporttijärj.numero TCP-hyötykuorma TCP-segmentti 130.230.2.211 (= pc2-211.cs.tut.fi) läh. IP-osoitevast. IP-osoite IP-hyötykuorma työaseman verkkosovitin IP-otsikkokentät 130.230.10.26 (= www.students.tut.fi) IP-paketti lähin reititin vastaanottaja lähettäjä Ethernet-hyötykuorma Otsikkokentät Ethernet-kehys Häntä
Internetin nimijärjestelmä (DNS) 1/3 Jokaiselle internetiin kytketyllä koneella on yksilöllinen tunniste, IP-osoite, joka on käytännössä kokonaisluku Koska lukujen käyttäminen on ihmisille hankalaa, on olemassa järjestelmä, joka kytkee kuvaavampia verkkonimiä IP-osoitteisiin Verkkonimi on englanniksi hostname, Nimien ja verkko-osoitteiden ymmärrystä tarvitaan kun laitetaan palomuurien ja vastaavien asetuksia kohdalleen DNS = Domain name service Internetin puhelinluettelo, joka kytkee numeromuotoiseen IPosoitteeseen ihmiselle luettavamman nimen Esim. 134.123.3.7 voisi olla vaikka www.example.org DNS-palvelu toteutetaan erityisillä DNS-palvelimilla, joita on ympäri maailmaa Palvelua hoitaa Kalifornialainen firma nimeltä ICANN (Internet Corporation for Assigned Names and Numbers)
Internetin nimijärjestelmä (DNS) 2/3 DNS-juuripalvelimia maailmalla Lähde: http://en.wikipedia.org/wiki/root_nameserver (19.9.2007) Tuoreempi tilanne rootservers webbisaitti
Internetin nimijärjestelmä (DNS) 3/3 DNS-nimet muodostavat hierarkian, jossa ylemmän tason omistaja määrää alemman tason nimiä Eri tasot on erotettu pisteellä toisistaan. Esimerkiksi koneen nimi internetissä voi olla proffa.cc.tut.fi tai kultatikka.cs.tut.fi Maatunnusten lisäksi on tiettyjä etukäteen sovittuja päätason tunnisteita, kuten.com.net tai.org. Yleensä verkko-osoite viittaa yhteen fyysiseen koneeseen ja jokaisella koneella on lisäksi tarkalleen yksi tekstinimi Mikään ei kuitenkaan pakota tähän ja aina näin ei ole! Esimerkiksi proffa.cc.tut.fi on usean koneen klusteri, mutta kultatikka on luennoijan henkilökohtainen työasema IP-osoite voidaan määrätä pysyvästi tai dynaamisesti (DHCP = dynamic host configuration protocol)
DNS-verkon toimintaesimerkki Jos yksittäisen käyttäjän tietokone haluaa ottaa yhteyttä vaikkapa osoitteeseen www.example.org, niin Se kysyy aluksi lähiverkon palvelimelta osoitetta vastaavaa IP-osoitetta Jos lähiverkon palvelin kyselee maailmalta IP-osoitetta, ellei se itse tiedä sitä Jokin juuritason DNS-palvelimista tietää varmasti IPosoitteen, ellei sitä muualla tunneta root-dns InterNIC DNS tut.fi DNS kultatikka.cs.tut.fi
DNS-verkon haavoittuvuus Internetiä ei voi mitenkään helposti kaataa Ei ole keskittyä konetta jota vastaan hyökätä DNS-järjestelmää vastaan voi kuitenkin hyökätä juuripalvelinten kaataminen tai murtaminen aiheuttaa suuria ongelmia Ilman DNS-järjestelmää verkon käyttö on hyvin vaikeaa, vaikka kaikki muuten toimisikin Internetissä pitäisi surffata kirjoittelemalla selaimeen numeromuotoisia IP-osoitteita! Mikä olisikaan www.tut.fi:ä vastaava numeropötkö?
Denial of Service (DOS) -hyökkäykset DOS = palvelunestohyökkäys, jossa kohdepalvelinta pommitetaan tai (yli-) kuormitetaan tahallisesti Tavoitteena kaataa kone ja / tai saada palvelu keskeytymään Joka viides suomalaisyritys ilmoittaa joutuneensa DOS-hyökkäyksen kohteeksi 80% yliopistoista on joutunut DOS-hyökkäyksen uhriksi DOS-hyökkäykset toteutetaan usein kaapattujen kotikoneiden avulla bot-netit tai bot-verkot: ilkeämielisen hyökkääjän hajautettu järjestelmä, jossa usea kotikone laitetaan pommittamaan jotain palvelinta Lähde: http://www.itviikko.fi/page.php?page_id=46&news_id=200722822 (18.9.2007)
Porttinumerot Tietyn tietokoneen verkkoyhteys on jaettu useaan porttinumeroon Jokainen porttinumero on ikäänkuin (looginen) väylä ulos tai sisään tietokoneesta verkon välityksellä Datapaketteihin on lisätty porttinumero, jonka avulla paketit osataan ohjata oikealle sovellukselle Kun verkkoa kuunteleva ohjelma odottelee saapuvaksi tietyllä porttinumerolla saapuvia datapaketteja, sanotaan että ohjelma kuuntelee tätä porttia Jotta ohjelmat osaisivat etsiä palveluja oikeista porteista, on monille palveluille sovittu oletusarvoisesti käytettävät portit Jokainen verkon yhteys yksilöityy lähdeosoite-lähdeportti ja kohdeosoite-kohdeportti tietojen avulla
Porttinumerot Porttinumeroiden listaa ylläpitää IANA (Internet Assigned Numbers Authority) Luettelo porteista IANA.org:sta Koska porttinumeroille on oletusarvot, avoimia palveluita voidaan etsiä kokeilemalla niitä Unix-ympäristössä tietoa /etc/services -tiedostosta Onko palveluiden etsiminen esimerkiksi Osuuspankin koneiden porteista rikollista? Rinnastettavissa siihen että kolkuttelee kaupan eri ovia etsiäkseen avointa ovea... Esim. nmap-ohjelmalla voi tehdä kyselyitä
HTTP-protokolla HTTP = HyperText Transfer Protocol Käytetään World Wide Web:in (WWW:n) tiedonsiirtoon Portti 80 http-protokolla, 443 https-protokolla HTTP:ssä jokaisella dokumentilla tai muulla resurssilla on yksiselitteinen osoite, URL URL = Universal Resource Locator HTTP-protokollan tyypillisiä käyttäjiä ovat verkkoselaimet
URL (Universal Resource Locator) -osoite Isäntäkoneen nimi Dokumentin nimi Protokolla, jolla dokumenttia haetaan. Tässä hypertext tranfer protocol (http) Hakemistopolku, jonka takaa dokumentti isäntäkoneelta löytyy
Esimerkki HTML-dokumentista Dokumentin alku Dokumentin aloitusosio WWW-selaimessa näytettävä osio (dokumentin runko) Dokumentin loppu <html> <head> </head> <body> <title>esimerkkisivu</title> <h1>luentoesimerkki</h1> <p>ei paljoa sisältöä</p> <applet code=xx></applet> </body> </html>
Streaming-protokollat (RTSP, RTCP, RTP,...) Verkon yli voidaan välittää tietoa siirtämällä tiedostoja, tai siirtämällä tietovirtaa Tietovirran siirtäminen soveltuu parhaiten nettiradion ja liikkuvan (reaaliaikaisen) kuvan välittämiseen Streaming-protokollan pitää ratkaista seuraavat asiat Toiminta ei saa häiriintyä verkon kapasiteetin hetkellisesti vaihdellessa Miten käyttäjä voi tallentaa tietovirran myöhempää katselua varten? (Joskus nimenomaan halutaan että ei voi) Käyttäjien yhteydet ovat erilaisia. Miten erilaisilla nopeuksilla saadaan paras hyötysuhde kullekin? RTSP käyttää porttia 554 Esimerkkinä kotimaisesta streaming-palvelusta YLE:n Elävä Arkisto sekä muidenkin kanavien nettipalvelut
P2P-protokollat 1/2 Peer-to-Peer ohjelmat ovat olleet tapetilla tekijänoikeusrikkomusten osalta Tyypillisessä nettipalvelussa on palvelinkone ja asiakaskone Englanniksi client-server P2P:ssä client-server ratkaisu on rikottu siten ettei ole keskitettyä palvelinta P2P-protokollissa jokainen kone voi olla sekä palvelin että palvelimen asiakas
P2P-protokollat 2/2 Jokainen P2P-ohjelmaa pyörittävä kone voi siis olla kaksisuuntaisessa verkkoyhteydessä useaan muuhun P2P-koneeseen P2P:n verkkotopologia voi olla täysin kytketty verkko Yksi syy P2P-ohjelmien kieltoon TTY:n verkossa on verkon käyttötapa useat yhtäaikaiset yhteydet koneiden välillä kuormittavat verkkoa pahasti Kone A Kone D Kone B Kone C
Protokollia samaan tarkoitukseen Samaan tehtävään voidaan valita vaihtoehtoisia protokollia, jolloin kannattaa vertailla niiden ominaisuuksia TCP vs. UDP (User Datagram Protocol) POP3 (Post Office Protocol v.3) vs. IMAP (Internet Message Access Protocol) Päätöksen valinnasta tekee usein sovelluskerros, vaikka kyse on vain kuljetuskerrokseen vaikuttavasta asiasta! Usein on käyttäjän kannalta hyvä jos ohjelma osaa useita vaihtoehtoisia protokollia saman asian tekemiseen Tietoverkkoja ja tietoliikennettä koskevia standardeja ja määrittelyjä löytyy RFC-arkistoista RFC = Request For Comments, nimitys vielä kehitysvaiheessa olevalle Internet-standardille (kts. http://www.rfc-editor.org ) Vaatimukset kehitysvaiheesta pois pääsyyn ovat niin tiukat, että useimmat standardit jäävät RFC-vaiheeseen
Verkon nopeus Kotikoneille nettiyhteys hankitaan tyypillisesti jonkin palveluntarjoajan kautta ISP = Internet Service Provider Palveluntarjoaja lupaa aina jonkin (siirto)nopeuden yhteydelle Tyypillisesti ilmoitetaan siirtonopeus koneelle ja koneelta Esim 2 Mb/s sisään- ja 512 kb/s ulospäin Lupaus voi olla absoluuttinen tai suhteellinen, jos yhteys on jaettu useamman asiakkaan kesken Käytännössä luvattua nopeutta ei välttämättä saavuteta Etenkin ulkomaanyhteydet voivat olla hitaita, koska operaattorilla on myös jokin rajallinen kaista eteenpäin. Jos kaikki asiakkaat yrittävät maksiminopeutta kerralla, kaista varmasti loppuu
Verkon latenssi Nopeuden lisäksi olennainen asia on yhteyden latenssi Latenssi = viive tiedonsiirron aloittamisesta varsinaisen tiedon siirtymiseen Normaalissa laajakaistassa latenssi on pieni, ulkomaille aina suurempi Kännykkäyhteyksissä on iso latenssi, mikä tehokkaasti estää tiettyjen asioiden tekemisen. Latenssin merkitys riippuu sovelluksesta
Mitä tästä luennosta pitäisi muistaa? Tietoverkon määritelmä Intranet, extranet, LAN, WAN, Internet Topologia-asiat (määritelmä, tähti, rengas, väylä...) Verkon fyysiset komponentit (toistin, kytkin, reititin,..) TCP/IP-malli: kokoelma protokollia Muuta: porttinumerot, latenssi
Eräs vanha tenttitehtävä Piirrä esimerkkikaavio internet-verkosta, jossa näkyy yliopiston X ja yliopiston Y tietokoneita. Nimeä rakenteen eri osat. Piirrä reitti, jota pitkin viesti voisi kulkea yliopiston X koneesta yliopiston Y koneelle. (6 pistettä)
Luennon aiheet Tietoverkko käsitteenä Tietoverkkojen luokittelua Tietoverkkojen toteutus Tietoverkoissa käytettäviä protokollia Muuta tietoverkkoihin liittyviä asioita