S-38.105 Tietoliikennetekniikan perusteet 17.2.2005 Luennon juoni: pakettikytkentäinen verkkoevoluutio Tärkeimpiä lähiverkon laitteita * Toistin (engl. repeater) - fyysisen kerroksen laite (OSI-mallin 1. taso) - uudentaa (tulkitsee ja luo uudestaan) välittämänsä bitit, eri asia kuin vahvistin * Silta (engl. bridge) - linkkikerroksen laite (OSI-mallin 2. taso) - yhdistää samanlaisia lähiverkkoja tai verkon osia - välittää (ja uudentaa) saamansa bitit tarpeen mukaan * Reititin (engl. router) - verkkokerroksen laite (OSI-mallin 3. taso) - yhdistää erilaisia (IP-protokollaa noudattavia) verkkoja - suodattaa, valvoo ja rajoittaa läpikulkevaa liikennettä - huolehtii verkon reitityksestä ja viestien välityksestä (vrt. puhelinkeskus) * Keskitin - ei-kytkentäinen keskitin (engl. hub) välittää saamansa sanomat kaikkiin haaroihin - kytkentäinen keskitin eli kytkin (engl. switch) ohjaa viestit vain vastaanottajan suuntaan - televerkon keskitin (engl. consentrator) kanavointilaite * Yhdyskäytävä (engl. gateway) - protokollamuunnin, yhdistää täysin erilaisia protokollia käyttävät verkot (esim. matkapuhelin + Internet) Lähiverkon vuoronvaraus * kilpavarausperiaate, CSMA/CD - yhteisen kanavan jakaminen, CSMA (Carrier Sense Multiple Access) - törmäysten havaitseminen, CD (Collision Detection) - asemat kilpailevat lähetysvuoroista kanava käytössä -> odotan kanava hiljainen -> voin lähettää törmäys -> lähetän sotkua ja arvon odotusviiveen * valtuudenvälitysperiaate - toimii rengasverkoissa (mahdollinen myös väylällä) - valtuutus (engl. token) kiertää asemien kesken - valtuutetulla on oikeus lähettää dataa kiertoon - lähetysvuoro loppuu kun data tai aika loppuu - lähettäjä poistaa oman paketin kun se saapuu takaisin Lähiverkkostandardeja * Ethernet (IEEE 802.3) - kilpavaraus ja kytkentäinen (demand priority, demand access) - koaksiaalikaapeli (paksu ja ohut), kierretty pari, kuitu - kaupunkiverkoissa jo 1Gb/s nopeuksia (Gigabit Ethernet) * Token Ring (IEEE 802.5) - perustuu valtuuden välitykseen - looginen rengas yleensä fyysisessä tähtiverkossa - IBM:n kehittämä teknologia - nopeudet 4Mb/s ja 16Mb/s - jäämässä Ethernetin jalkoihin * Wireless Local Area Network, WLAN (IEEE 802.11) - kaksi vaihtoehtoista käyttötilaa: infrastruktuuri ja ad-hoc - lisensioimattomat taajuusalueet (2.4GHz, 5GHz) - jaettu kaistanopeus max 11Mb/s, 54Mb/s Reititys ja välitys * reititys (engl. routing) - prosessi, jossa reititin jonkin reititysalgoritmin avulla selvittää sopivimman reitin lähettäjän ja vastaanottajan välille ja tallettaa tämän tiedon reititystauluunsa - reititysprosessi pyörii reitittimessä erillään välitysprosesseista - reitittimet välittävät reititystietoja toisilleen reititysprotokollien avulla lähettämällä vakiomuotoisia viestejä ("olen vieläkin täällä", "löysin uuden yhteyden", "naapurireititin ei enää vastaa kyselyihini" jne.) * välitys, kytkentä (engl. forwarding, switching) - halutun teleyhteyden muodostamiseen tarvittavien yksiköiden kytkemistä toisiinsa tiedonsiirron ajaksi [Telesanasto] Miten Internet toimii? * ennestään tuttua - OSI:n alimpien kerrosten toiminta - reitityksen periaate * tänään opitaan - mikä on Internet - mikälaisia osoitteita ja nimiä Internetissä käytetään, ja miten nimipalvelu toimii - miten ylempien kerrosten palvelut kutsuvat alempia, ja miten eri kerrokset toimivat yhdessä - mitkä ovat TCP - ja IP-protokollien tehtävät - esimerkkitapaus: nettisivun hakeminen verkon toiselta laidalta Historiaa * ARPANET-hanke 1960-luvulla - Yhdysvaltain puolustusministeriön hanke - tarve: ydinhyökkäyksen kestävä tiedonsiirtoverkko - hajautettu, tasavertaisiin solmuihin perustuva verkko - verkkoon lähetetyt paketit etsiytyvät perille osoitteiden avulla * Internetin kehityksen virstanpylväitä - 1961 pakettikytkentäisen tiedonsiirron teoria - 1969 DARPA ARPANET yhdistää 4 yliopistoa - 1974 TCP/IP-protokollan kehitys alkaa - 1983 ARPANET vaihtoi TCP/IP-protokollaan yhdellä kertaa - 1992 WWW aloittaa yleistymisen - 1995 Internetin runko kaupalliseksi Mikä Internet on? * kansainvälinen, yhdysvaltalaisesta tutkimusverkosta kehittynyt tietoverkko - muodostuu joukosta alueellisia verkkoja ja niitä yhdistäviä runkoverkkoja - tasavertaisiin solmuihin perustuva verkko -> ei järjestäytynyttä hierarkiaa tai keskushallintoa * jotta verkko toimisi, tarvitaan - globaali osoitteistus - yhteinen tiedonsiirtoprotokolla (TCP/IP) * kehitystä ja osoiteavaruuden käyttöä koordinoitava kansainvälisesti Globaalit IP-osoitteet * IP-paketit ohjataan globaalisti perille IP-osoitteen perusteella * IP-osoite - osoite on vakiopituinen, 32 bittiä (IPv4) - osoitteessa rakenne: verkko-osa ja laite-osa - osoiteavaruutta pyritään säästämään -> eri kokoisissa verkoissa verkko- ja laiteosan raja eri kohdassa - alun perin jako A-, B- ja C-luokkaan - nykyään ns. luokaton, joustavampi jako -> osoiteavaruus entistä tehokkaammassa käytössä * "maantieteellinen" osoitejako - pääkoordinaattori IANA (Internet Assigned Numbers Authority) - osoitteita jakavat globaalisti neljä alueellista järjestöä - Euroopassa RIPE (Réseaux IP Européens) ... jotka jakavat osoiteavaruutta edelleen paikallisille organisaatioille (kuten FUNET, Sonera, Lohjan puhelin OYJ jne.) * osoitteet loppumassa kesken - 32-bittisiä osoitteita yht. noin 4,3 miljardia (IPv4) loppuvat eräiden arvioiden mukaan 2010-2015 - 128-bittisiä osoitteita vähintään 1500 / m2, optimistisimpien arvioiden mukaan jopa 4 miljoonaa per neliömetri (IPv6) Piirinimi (engl. domain name) * esim. cembalo.netlab.hut.fi tai www.hotmail.com - nimen rakenne perustuu loogiseen hierarkkiaan riippumaton koneen fyysisestä sijainnista verkossa - ihmisten helpompi muistaa - palvelun muuttaessa voidaan siirtää osoittamaan aina uuteen IP-osoitteeseen -> luo pysyvyyttä verkkoon * nimiavaruuden rakenne puumainen - alunperin suunniteltu vain Yhdysvaltain sisällä käytettäväksi -> USA-keskeiset määrittelyt - ylin taso ns. päätaso (TLD, Top Level Domain) sisältää maantieteelliset (fi, se) ja geneeriset (gov, mil, com, org) nimet - Suomessa fi-piirinimiä jakaa Viestintävirasto Nimipalvelu * ennen tiedonsiirron aloittamista täytyy selvittää piirinimeä vastaava IP-osoite - 80-luvun puoliväliin kaikki Internetin koneet yhtenä tiedostona (keskitetty ylläpito, lähetettiin sähköpostitse jokaiselle ylläpitäjälle) - verkon kasvaessa nimitietokanta täytyi hajauttaa -> v. 1984 nimipalvelujärjestelmä (DNS, Domain Name Service) * nimen selvittäminen - ohjelma kysyy käyttöjärjestelmän kirjastolta - kirjasto kysyy omalta nimipalvelimelta - oma nimipalvelin lähtee selvittämään niin ylhäältä kuin tarpeen * saa joko kysytyn vastauksen tai tiedon siitä, kuka tietää * tallentaa kyselyjen vastaukset, myös negatiiviset Yhteinen protokolla * IP, Internetworking Protocol - sisältää "tukiprotokollia" (mm. ICMP, ARP) - yhteydetön ja epäluotettava (paketit voivat hävitä, kahdentua tai joutua epäjärjestykseen) * jos siirrolta halutaan luotettavuutta, paritettava luotettavan protokollan (kuten TCP) kanssa - joskus riittää epäluotettavampikin palvelu, jolloin voidaan käyttää TCP:tä kevyempää UDP-protokollaa * IP:n vähäiset ominaisuudet eivät ole automaattisesti heikkous vaan myös tehokkuutta; ei turhaa tarkistelua silloin, kun se ei ole tarpeen IP-kehysrakenne * IP-protokolla yhteydetön -> IP-pakettia kutsutaan tietosähkeeksi (engl. datagram) - koko max. 64 KiB eli 65535*8 bittiä - monet 2. kerroksen verkot eivät kuitenkaan pysty käsittelemään näin isoja paketteja -> tietosähke pilkottava tai lähetettävä pienempiä paketteja * IP-paketin otsikko - otsikko sisältää paketin perille toimittamisessa ja reitityksessä tarvittavat tiedot - tärkeitä kenttiä: IP-osoitteet, paketin elinaika, lohkomiseen liittyvät kentät, otsikon ja koko paketin pituus, tarkistussumma Muita IP-kerroksen protokollia * ICMP (Internet Control Message Protocol) - mahdollisuus "paluupostiin", joka kertoo IP-paketin lähettäjälle ongelmatilanteista - esim. kun paketin elinaika loppuu tai pakettia ei voida toimittaa perille ruuhkan tai laitevian vuoksi - voidaan käyttää hyväksi myös saavutettavuutta ja suorituskykyä testattaessa - ping: onko kohdekone saavutettavissa? millä viiveellä? - traceroute: mitä reittiä paketit kulkevat kohdekoneeseen? * ARP (Address Resolution Protocol) - selvittää, mikä 2. kerroksen (fyysinen) osoite vastaa kysyttyä IP-osoitetta TCP-protokolla * tehtävät - yhteydellinen protokolla - avaa ja sulkee yhteyden hallitusti - valvoo IP-kerrosta silloin, kun tarvitaan luotettavaa, virheetöntä siirtoa (esim. tiedostot, sähköposti) - valvoo, että data tulee perille oikeassa järjestyksessä eikä huku matkan varrelle - käyttää yhteyden valvontaan kuittauksia ja uudelleenlähetyksiä - vuonohjaus ja ruuhkanhallinta * TCP:tä käyttäviä palveluita ja protokollia - tiedostojen siirto (FTP, File Transfer Protocol), webbi (HTTP, Hypertext Transfer Protocol), sähköpostin välitys (SMTP, Simple Mail Transfer Protocol), sähköpostien lukeminen (POP, IMAP) UDP-protokolla * tehtävät - kevytrakenteinen protokolla, jota käytetään silloin, kun tärkeintä on nopeus, ei jokaisen paketin varma perillepääsy (esim. reaaliaikainen äänen - ja kuvansiirto) - ns. "kysymys-vastaus"-protokolla - huolehtii viestien ohjaamisesta oikeaan porttiin (oikealle ylemmän tason prosessille) * soveltuu - reaaliaikapalveluihin - yksinkertaisiin kyselyihin kuten nimipalvelu (DNS), aikapalvelu (NTP, Network Time Protocol), verkonhallinta (SNMP, Simple Network Management Protocol), komentojen etäsuoritus (RPC, Remote Procedure Call) Tärkeimmät sovellusprotokollat - sähköposti (SMTP, Simple Mail Transfer Protocol) - www-selailu (HTTP, Hypertext Transport Protocol) - reaaliaikaiset multimedia (SIP, Session Initiation Protocol)