CT30A2003 Tietoliikennetekniikan perusteet Protokollien yleiset toiminnot 1
Järjestelmä ja olio Eri järjestelmissä sijaitsevat oliot kommunikoivat keskenään - Jotta se olisi mahdollista, täytyy niiden puhua samaa kieltä eli mitä, kuinka ja koska täytyy olla molempien osapuolien tiedossa Tätä yhteistä kieltä kutsutaan protokollaksi 2
Protokolla Protokolla koostuu: Syntaksista (Syntax) mm. sanaston, tiedon muotoilun (pakettien kentät) ja signaalitasot Semantiikasta (Semantics) toimintalogiikka (mitä tehdään kun jokin paketti saapuu, esim. virheenkorjaus) Ajoituksesta (Timing) Pitää sisällään mm. siirtonopeuden, pakettien oikean järjestyksen ja muut siirron ajoitukseen liittyvät toimenpiteet 3
Yhteisen protokollan etu 4
Kommunikointijärjestelmät 5
Protokollien toimintoja Erilaisten protokollien perustoimintoja (kaikki toiminnot eivät tietenkään sisälly kaikkiin protokolliin): Segmentointi ja kokoaminen (segmentation and reassembly) Paketointi (encapsulation) Yhteyden hallinta (Connection control) Toimitus oikeassa järjestyksessä (ordered delivery) Vuon valvonta (flow control) 6
Protokollien toimintoja Erilaisten protokollien perustoimintoja (kaikki toiminnot eivät tietenkään sisälly kaikkiin protokolliin): Virheen havainnointi (Error control) Osoitteet (Addressing) Kanavointi (Multiplexing) Kuljetuspalvelut (Transmission services) 7
Segmentointi ja kokoaminen Protokollan tehtävänä on datavirtojen välittäminen kahden kommunikoivan olion välillä (datalohkoina riippuen sovelluksesta) Kaikilla kerroksilla ei kuitenkaan käsitellä samankokoisia datalohkoja, jolloin pienempiä lohkoja käsittelevä kerros voi joutua pilkkomaan datan pienempiin osiin (segmentointi) 8
Segmentointi ja kokoaminen Mahdollisia syitä segmentoinnille Verkko voi usein käyttää vain tietyn kokoisia datalohkoja. Esim. ATM 53 (5 + 48) tavua ja Ethernet maksimissaan 1526 tavua) Virheenkorjaus on usein tehokkaampaa pienellä paketilla. Esim. selective repeat tekniikassa päästään vähemmillä biteillä Tasaisempi verkon käyttö. Jos lähetetään valtavia paketteja, niin yksi sovellus saattaa varata koko siirtotien Pienempi datalohkon koko mahdollistaa pienemmät lähetysja vastaanottopuskurit Mahdollistaa lähetyksen sisällä tarkastuspisteiden käytön 9
Segmentointi ja kokoaminen Segmentoinnin haittoja: Mitä pienempi datalohko sitä enemmän ohjausinformaatiota joudutaan siirtämään Paketin saapuminen voi aiheuttaa keskeytyksen mikä tietysti hidastaa toimintaa Enemmän aikaa käytetään yksittäisten datapakettien käsittelyyn Kokoaminen on luonnollisesti segmentoinnin vastatoimenpide 10
Paketointi Datalohkot sisältävät aina datan lisäksi ohjausinformaatiota (joskus dataa ei ole ollenkaan) Ohjausinformaatio voi olla Osoite esim. lähettäjä / vastaanottaja Virheenkorjauskoodi esim. pariteetti Protokollan ohjausinformaatio Ohjausinformaation lisäämistä kutsutaan paketoinniksi 11
Yhteyden hallinta Olioiden välinen kommunikointi voi tapahtua: Yhteydettömästi esim. postikortti Yhteydellisesti esim. puhelinkeskustelu Yhteydellinen kommunikointi on suotavaa, mikäli Siirrettävää dataa on jatkuvasti paljon ja/tai vaaditaan reaaliaikaisuutta Yhteydetön kommunikointi on suotavaa, mikäli protokollan tulee toimia dynaamisesti 12
Yhteyden hallinta Yhteydellinen kommunikointi koostuu Yhteyden muodostaminen Tiedon siirto Yhteyden purkaminen Kehittyneissä protokollissa yhteys voidaan keskeyttää (interrupt) ja palauttaa (recovery) 13
Yhteyden hallinta 14
Yhteyden hallinta Yhteyden muodostamisessa: Toinen olioista pyytää yhteyttä (yhteydetöntä kommunikointi käyttäen) Vastaanottaja joko hyväksyy tai hylkää pyynnön Molempien tulee tietysti käyttää samaa protokollaa Voidaan neuvotella syntaksiin, semantiikkaan tai ajastukseen liittyvistä asioista 15
Yhteyden hallinta Tiedonsiirtovaiheessa: Sekä dataa että ohjausinformaatiota vaihdetaan Yhteys voidaan lopettaa kumman tahansa kommunikoijan tai palvelun tarjoajan toimesta Tärkeä osa yhteyden hallintaa on tietoyksiköiden numerointi (sequencing) Numeroinnilla mahdollistetaan oikea järjestys, virheenkorjaus ja vuon valvonta 16
Toimitus oikeassa järjestyksessä Olioiden välillä välitetyt paketit eivät välttämättä aina saavu oikeassa järjestyksessä johtuen pakettien eri reiteistä tai virheistä Yhteydellisessä kommunikoinnissa vaaditaan yleisesti oikeata järjestystä Jos paketit numeroidaan, niin ne voidaan helposti järjestää uudelleen ongelmana on lähinnä numeroinnin rajallisuus 17
Vuon valvonta Vuon valvonta on toimenpide, jolla vastaanottaja säätelee lähettäjän lähetysnopeutta Vuon valvontaa toteutetaan useiden kerrosten protokollissa Yksinkertaisimmillaan stop-and-wait jokaiseen pakettiin tultava vahvistus ennen seuraavan lähetystä Liukuvan ikkunan menetelmät jo varsin tehokkaita (lähetys/vastaanottopuskurit) 18
19
Virheenkorjaus Käytetään pienentämään virheiden vaikutuksia Usein virheen havainnointi ja uudelleenlähetys virheenhavainnointikoodi jokaisessa PDU:ssa, tarkistetaan vastaanotettaessa Uudelleenlähetystä ohjataan ajastimilla mikäli ei vahvistusta vastaanottajalta tietyssä ajassa, PDU lähetetään uudelleen Jossain protokollissa virheet voidaan myös korjata PDU:n virheenkorjauskoodin avulla Virheenkorjausta tapahtuu myös monilla kerroksilla 20
Virheentarkkailu Erilaisia tapoja virheentarkkailuun Virheiden havainnointi Saapuneiden pakettien vahvistus Uudelleenlähetys tietyn ajan jälkeen Virheellisten pakettien vahvistus Automatic repeat request (ARQ) stop-and-wait ARQ Go-Back-N ARQ Selective-reject ARQ 21
Virheiden havainnointi 22
Virheenkorjaus 23
Osoitteet Osoitteisiin liittyy monia eri asioita: Osoitustaso (addressing level) Osoituksen laajuus (addressing scope) Yhteystunnisteet (connection identifiers) Osoitustila (addressing mode) Esimerkkinä TCP/IP verkon toiminta 24
Osoitustaso Osoitustasolla viitataan kommunikoivan olion tasoon järjestelmässä Usein erillinen osoite varataan sekä järjestelmille että verkon solmuille (verkkotason osoite, IP osoite, NSAP) Järjestelmän sisällä paketti on ohjattava sovellukselle tai yhteydelle (TCP/IP:ssä portti, OSI:ssa SAP) TCP/IP:ssä käytetään kaksitasoista osoitusta (IP ja portti) kun taas OSI:ssa kullekin kerrokselle voidaan määrätä oma SAP 25
Osoitteet 26
Osoituksen laajuus Verkkotason osoitetta käytetään pakettien reitittämiseen verkossa, jolloin se on globaali koko verkon alueella (esim. IP) Globaalin osoitteen oltava yksikäsitteinen ja kaikkialla käytettävissä Kullakin aliverkolla tulee olla yksikäsitteiset osoitteet kaikille verkon laitteille Esim. Ethernetin MAC, (yleisesti network attachment point address) Ylempien tasojen osoitteiden (portit, SAP:t) ei tarvitse olla globaaleja (portti 1 järjestelmissä A ja B voidaan merkitä A.1 ja B.1 => ainutlaatuisuus) 27
Osoitustila Käytetty osoite voi olla Unicast Lähetys yhdelle järjestelmällä / oliolle Multicast Lähetys useammalle kuin yhdelle, mutta ei kaikille Broadcast Lähetys kaikille vastaanottajille 28
Kanavointi Multipleksointi Voidaan käsittää useina yhteyksinä yksittäiseen järjestelmään tai yksittäisellä siirtotiellä Esim. portit TCP/IP:ssä Vaihtoehtona on myös yhteyksien kuvaus tasolta toiselle one-to-one upward (monta ylemmän tason yhteyttä yhdelle alemman tason yhteydelle) downward (yksi ylemmän tason yhteys jaettuna useille alemman tason yhteyksille) 29
Kanavointi 30