83501 Tietoliikenneprotokollat Luentomoniste osa 1 syksy Jarmo Harju

Koko: px
Aloita esitys sivulta:

Download "83501 Tietoliikenneprotokollat Luentomoniste osa 1 syksy 2000. Jarmo Harju"

Transkriptio

1 83501 Tietoliikenneprotokollat Luentomoniste osa 1 syksy 2000 Jarmo Harju

2 TIETOLIIKENNEPROTOKOLLAT OSA 1 1. Johdanto OSI -viitemalli ja standardointi Tausta ja standardien ryhmittely Viitemallin yleiset periaatteet Johdanto OSI -mallin kerroksiin Protokollien määrittely ja mallintaminen Historiaa Määritelmiä ja ominaisuuksia Mallinnusmenetelmät Yksinkertainen äärellinen automaatti (FSA, Finite State Automaton) Mealyn tilakone Yleistetty äärellinen automaatti (EFSA, Extended FSA) Automaattien välinen kommunikointi Kanavat Järjestelmäarkkitehtuuri Siirtokerroksen protokollille tyypillisiä mekanismeja Virhekontrolli Virhetodennäköisyydet Virhetyypit ja virheiden korjaus Virheenkorjaavat koodit Sykliseen varmenteeseen (CRC) perustuvat koodit Vuonvalvonta ja virhetoipuminen: johdanto Yksinkertainen stop-and-wait -mekanismi vuonvalvontaan Sanomia kadottavan kanavan ongelma Sanomia vääristävä ja kadottava kanava: lisää ongelmia Pitkän siirtoviiveen ja kanavan käyttöasteen ongelmat Vuonvalvonta ja virhetoipuminen: liukuvan ikkunan mekanismit Yleistä Toipuminen PDU:iden katoamisesta - Go-Back-N ARQ Toipuminen PDU:iden katoamisesta - Selective Repeat Toipuminen PDU:iden katoamisesta - Negative Acknowledgement Verkkokerros Verkkokerroksen tehtävät Verkkopalvelu Yhteyspohjainen palvelu Yhteydetön palvelu Verkkoprotokollat Verkkokerroksen sisäinen rakenne Yhteydetön verkkoprotokolla ISO IP Kuljetuskerros Kuljetuskerroksen tehtävät ja protokollaluokat Kuljetuspalvelu ja kerroksen tärkeimmät protokollamekanismit Kuljetuspalvelu Yhteydenmuodostus kuljetusprotokollan luokka 4:ssa Yhteyden purku kuljetuskerroksella Luottomenetelmä vuonvalvonnassa Viitteet...57 Liite

3 Luvut 1-3 puuttuvat tarkoituksellisesti

4 4. Protokollien määrittely ja mallintaminen 4.1 Historiaa Protokollilla on tietoliikenteessä pitkä historia. Ennen puhelinta ja sähköisiä lennätinjärjestelmiä televiestintä perustui pääasiassa näköhavaintoihin: savumerkit, tulet, soihturyhmät, suuret puiset konstruktiot (semaforit), joiden asentoa voitiin muuttaa, ym. Näiden järjestelmien tiedonsiirtokapasiteetti oli luonnollisesti varsin vaatimaton. On arvioitu, että luvulla käytettyjen näköhavaintoon perustuvien järjestelmien kapasiteetti on ollut luokkaa 1 bit/s. Vastaavissa protokollissa kuvattiin, mitkä semaforien asennot tai millaiset soihturyhmät vastasivat mitäkin merkkejä tai sanomia. Poikkeuksellisten tilanteiden kuvaamiseen järjestelmät eivät olleet riittävän hyvin varustautuneita tai ohjeet saattoivat olla puutteelliset, jolloin eri henkilöt tulkitsivat tilanteet eri tavoin. Tästä on lukuisia esimerkkejä mm. junaonnettomuuksien historiassa junaliikenteen alkuvaiheista nykypäivään asti. Sähköisen tiedonsiirron kehittyessä 1800-luvun puolivälin jälkeen tiedonsiirron nopeus kohosi n. 30:een bit/s reikänauhaa käyttävän automaattisen lennättimen ansiosta. Siitä kehitetty järjestelmä sai lopullisen muotonsa luvulla, jolloin käyttöön otettiin Baudot'n 5-bittinen koodi ja automaattiseen vastaanottoon kykenevät kirjoittimet, siis telex -järjestelmä. Puhelinliikenteessä protokollien merkitys oli pitkään vähäinen, koska välitysjärjestelmät perustuivat yksinkertaiseen ja varmatoimiseen tekniikkaan tai hankalammissa tilanteissa keskusoperaattoreiden kanssa käytävään ihmisten väliseen keskusteluun. Protokollien kannalta seuraavat merkittävät tapahtumat ajoittuvat luvulle, jolloin automaattisen tietojenkäsittelyn aika alkoi. Silloin alkanut ATK:n kehityskulku on merkinnyt myös jatkuvaa protokollien kehitystä. Keskitettyjen järjestelmien aikana tietoliikenteen ongelmana oli yhdistää oheislaitteet (päätteet, kirjoittimet, nauhanlukijat) keskuskoneeseen. Luonteva tapa ratkaista hallinnan ja synkronoinnin ongelmat oli antaa yhdelle kommunikointiosapuolelle määräysvalta muihin nähden. Näin syntyivät ns. master - slave -protokollat, joissa master vastasi toimintojen käynnistämisestä, virhevalvonnasta, vuonvalvonnasta (poll -kyselyt), ym luvulla alkoi syntyä keskuskoneita yhdistäviä verkkoja, joissa master - slave -suhteet eivät välttämättä olleet käyttökelpoisia. Myös verkkojen tiedonsiirtonopeus oli kasvanut. Pakettikytkentäisten dataverkkojen myötä kehittyivät uudentyyppiset protokollat, nk. peer-to-peer -protokollat. Viime vuosikymmenten aikana nämä protokollat ovat kehittyneet ja standardisoituneet, ja niitä on sovellettu merkitykseltään yhä monipuolisempien ja monimutkaisempien kommunikointitilanteiden hallintaan. Viimeisimpänä kehitysvaiheena on nähtävissä suurinopeuksisten (luokkaa Gbit/s) verkkojen protokollille asettamat vaatimukset.

5 4.2 Määritelmiä ja ominaisuuksia OSI:n kerrosrakenteisessa mallissa protokollan tehtävät rajoitetaan sopiviin, helposti ymmärrettäviin osiin sallimalla keskustelu vain samalla kerroksella olevien vertaisolioiden välillä. Nämä kerrosprotokollat liittyvät ympäristöönsä palvelurajapintojen kautta. Kerroksen (N) protokollan siirtämä, sen itsensä kannalta merkityksetön tavujono jäsentyy ja saa merkityksellisen sisällön siirtyessään palvelurajapinnan kautta ylemmälle kerrokselle, jossa (N+1) -protokolla tulkitsee sen (tai osan siitä) omaan sanomajoukkoonsa kuuluvaksi. Kun halutaan katsoa kerrosmallia palvelujen näkökulmasta (ja ajatella palvelu hyvin määritellyksi käsitteeksi), voidaan kerrosprotokolla määritellä yksinkertaisesti: (N) -protokolla sovittaa (N) -palvelun (N-1) -palveluun. (4.1) Tämä määritelmä korostaa protokollalle asetettavia tavoitteita; siitä voidaan johtaa ne asiat, joista protokollan tulee huolehtia. Tarkastellaan esimerkkinä tilannetta, jossa palvelurajapintojen laadussa on suuri ero: Korkeatasoinen palvelu pitkät PDU:t yhteyspohjainen palvelu useita rinnakkaisia yhteyksiä luotettava kuljetus tietoturva (N)-olio (N)-palvelu (N)-protokolla Vaatimaton palvelutaso lyhyet paketit yhteydetön palvelu epäluotettava kuljetus tietovarkaita... (N-1)-palvelu Kuva 4.1 Protokolla palvelurajapintojen ominaisuuksien sovittajana Kuvan tapauksessa (N) -protokollalla on paljon tekemistä! Kerrosprotokollien tehtävät näyttäisivät näin olevan sangen riippuvaisia kerroksesta. Näin tietysti onkin, mutta on myös useita sellaisia tehtäviä, jotka esiintyvät useamman kuin yhden kerroksen protokollissa: - yhteydenmuodostus, - PDU:iden pilkkominen ja kokoaminen, - vuonvalvonta, - virhevalvonta ja virheistä toipuminen,

6 - yhteyksien limitys, - erityispalvelut: kiirehditty data, yhteyspyyntöjen törmäysten hallinta, parametreista neuvottelu, tietoturva, ym. Määritelmä (4.1) ei anna minkäänlaista viitettä siitä, miten protokolla voisi hoitaa esim. edellä mainitut tehtävät. Protokollassa on aina kysymys sanomien avulla toteutettavasta keskustelusta, jolloin konstruktiivisemmassa määrittelyssä voidaan ajatella karkeaa analogiaa kielen määrittelyn kanssa. Protokollaan kuuluu: - yhteys toimintaympäristöön (semantiikka), - sanomajoukon määrittely (sanasto), - sanomien rakentuminen biteistä ja kentistä (syntaksi), - toimintalogiikka (kielioppi). Edellä on jo nähty, että OSI-mallissa palvelun käsite liittää protokollan toimintaympäristöönsä. Protokollan sanomajoukko koostuu PDU:ista, joilla on oltava tarkkaan määritelty esitys binaarimuodossa. On kuitenkin selvää, että oleellisilta osiltaan vastaus kysymykseen, miten protokolla suorittaa sille asetetut tehtävät, sisältyy kohtaan toimintalogiikka. Toimintalogiikan tulee taata keskustelun järkevä kulku ja asianmukaiset toimenpiteet paitsi normaaleissa, myös kaikissa muissa ajateltavissa olevissa tilanteissa. Tämä tekee toimintalogiikasta väistämättä mutkikkaan jo varsin yksinkertaisiakin tehtäviä suoritettaessa, ja erityisten mallinnusmenetelmien käyttö on tarpeellista sekä protokollien toiminnan analysoinnissa että niiden toteuttamisessa. 4.3 Mallinnusmenetelmät Toimintalogiikka ohjaa keskustelun kulkua määrittelemällä sopivat vasteet toiselta osapuolelta saapuneisiin sanomiin. Tarkempaa tietoa välitetään sanomien parametreissa, joista osa on tarkoitettu protokollan ohjaukseen, osa taas välitettäväksi palvelurajapinnan kautta ympäristöön (OSI -mallissa ylemmälle kerrokselle). Sanomat ja parametrit ovat siis syötteitä toimintalogiikalle sen suorittaessa tehtäviään. Tällaiseen tilanteeseen ovat sopiviksi mallinnusmenetelmiksi osoittautuneet tila-automaatteihin pohjautuvat menetelmät, joita seuraavassa tarkastellaan lähemmin Yksinkertainen äärellinen automaatti (FSA, Finite State Automaton) Yksinkertainen äärellinen automaatti eli tilakone M on viisikko: missä M = (S, I, t, s o, F), 1) S on äärellinen tilojen joukko, 2) I on äärellinen syötteiden joukko, 3) t on tilasiirtymäfunktio t:sxi -> S,

7 4) s o S on alkutila, 5) F on lopputilojen joukko, F S. Aluksi M on tilassa s o odottaen syötejonoa j Ι *, missä Ι * on syötejonojen joukko: Ι * = {a 1 a 2...a n a i I, i = 1,...n, n N }. Kun jono j on käyty läpi, M pysähtyy. Olkoon lopputila r S. Jos r F, niin M hyväksyy j:n, muuten M hylkää j:n. M:n hyväksymien syötejonojen joukko L(M) (joka on Ι * :n osajoukko) on M:n määrittelemä kieli. Tarkastellaan esimerkkinä pariteetin laskentaa. Olkoon M = (S, I, t, s o, F), missä S = {even, odd}, I = {0, 1}, s o = even, F = {even}. Määritellään tilasiirtymäfunktio t seuraavasti t: even odd S I 0 1 even odd odd even Sama graafisena kuvauksena: 1 0 even odd 0 Kuva 4.2 Pariteetin laskennan automaatti 1 M:n hyväksymien syötejonojen joukko L(M) koostuu sellaisista 0:n ja 1:n jonoista, joissa on parillinen määrä ykkösiä Mealyn tilakone Mealyn tilakone on automaatti, jossa on määritelty myös tulostus (output): M = (S, I, O, t, σ, s o ),

8 missä S, I, t ja s o ovat kuten edellä, lisäksi O on äärellinen tulosteiden joukko, σ on tulostusfunktio σ: S x I -> O (tulostus riippuu tilasta ja syötteestä). Mealyn tilakoneessa ei ole loputilojen joukkoa. Tilannetta, jolloin M tilassa s 1 saa syötteen a I ja siirtyy tilaan s 2 lähettäen tulosteen o O, kuvataan yleensä graafisesti seuraavasti: a o s 1 s 2 Kuva 4.3 Graafinen merkintä tilasiirtymälle Mealyn tilakoneessa Mealyn tilakone M tuottaa syötejonoista tulostejonoja. Kutakin alkutilaa s o kohti se määrittelee kuvauksen Ms o : Ι * -> Ο *, missä Ο * on tulostejonojen joukko samalla tavalla kuin Ι * on syötejonojen joukko. Mealyn tilakoneen toimintaa voidaan tutkia syöttämällä sille ns. testisekvenssejä ja analysoimalla tulossekvenssejä Yleistetty äärellinen automaatti (EFSA, Extended FSA) Mealyn tilakonetta voidaan yleistää lukuisilla eri tavoilla. Pääasiallisena syynä yleistyksille on, että FSA:ta käytettäessä syntyy yleensä suuri määrä tiloja jo yksinkertaisia tapauksia mallitettaessa. Tyypilliset muutokset: 1) otetaan käyttöön tulostejonot: σ: S x I -> Ο *, 2) muuttujien käyttö: olkoon M:llä k kpl kokonaislukumuuttujia eli muuttujavektori V Z k. Funktiot t ja σ voivat myös käyttää muuttujavektoria: t : S x I x Z k -> S, σ: S x I x Z k -> Ο * x Z k (σ voi myös muuttaa muuttujien arvoja). EFSA:lla kuvaus saadaan kompaktiksi, toisaalta analysoituvuus heikkenee. CVOPS-kehitysympäristössä on käytössä EFSA:an pohjautuva protokollien mallinnusmenetelmä, jossa kokonaislukujen lisäksi voidaan käyttää hyväksi rakenteisia muuttujia.

9 4.3.4 Automaattien välinen kommunikointi Mealyn tilakoneet ja yleistetyt äärelliset automaatit voivat kommunikoida toistensa kanssa: toisen output voi olla toisen input, jne. Malliin voidaan tällöin luontevasti ottaa mukaan aika, jolloin lähestytään rinnakkaisten järjestelmien toiminnan perusteita. Ajan liittäminen malliin mahdollistaa myös monissa protokollissa tärkeiden ajastimien mallintamisen. Aikaa kuluttaa luonnollisesti input-elementtien odottaminen. Myös automaatin siirtymä- ja tulostusfunktiot kuluttavat suorituksessaan vaihtelevan määrän aikaa, ja tänä aikana automaatti ei voi ottaa vastaan syötteitä. Useista automaateista yhdistetyn automaatin käyttäytyminen tulee näin riippuvaiseksi siitä, milloin tilasiirtymät katsotaan loppuunsuoritetuksi, eli milloin automaatti on valmis ottamaan vastaan uusia syötteitä. Tarkastellaan seuraavassa tähän liittyvää ilmeistä tulkintaongelmaa: Automaatti S (sender) suorittaa saamaansa syötteeseen a liittyvää tulostusfunktiota σ, johon sisältyy tulosteen b lähettäminen automaatin R (receiver) syötteeksi. Milloin tulkitaan funktio σ loppuunsuoritetuksi, silloinko kun b on saatu tulostettua vaiko silloin kun R ottaa syötteen b vastaan? Edellisessä tapauksessa S:n valmius ottaa vastaan seuraava syöte ei riipu R:n käyttäytymisestä, jälkimmäisessä S ei voi ottaa seuraavaa syötettä ennen kuin R on edennyt tilanteeseen, jossa se voi ottaa b:n vastaan. Edellistä tulkintaa kutsutaan asynkroniseksi lähetyskäytännöksi. Sen havainnollistamisessa voidaan ottaa käyttöön apukäsite puskuri B, jossa tuloste/syöte voi kuluttaa aikaa. S B R Send Aika } Wait Receive Tilasiirtymät laukeavat toisistaan riippumatta Kuva 4.4 Asynkroninen lähetyskäytäntö Esim. CVOPS ja formaali kuvauskieli SDL käyttävät asynkronista lähetyskäytäntöä. Jälkimmäistä tulkintaa kutsutaan synkroniseksi lähetyskäytännöksi.

10 S R Aika Send } Wait Receive Tilasiirtymät laukeavat yhtä aikaa Kanavat Kuva 4.5 Synkroninen lähetyskäytäntö Esim. ADA, Occam ja LOTOS -kielet käyttävät synkronista lähetyskäytäntöä. Mallintamisen kannalta asynkronisen lähetyskäytännön yhteydessä käytetty puskuri -käsite ei toistaiseksi ole tyydyttävällä tavalla määritelty. Kommunikoivien automaattien kannalta se on parempi korvata kanavan käsitteellä, jolloin asynkronisuus ja synkronisuus voidaan siirtää kanavan ominaisuuksiksi. Lähettävän automaatin S ja vastaanottavan automaatin R kohtaamisen voidaan sanoa tapahtuvan kanavassa, joka voi olla asynkroninen tai synkroninen. Synkroninen kanava sitoo S:n ja R:n tilasiirtymät samanaikaisiksi. S voi ottaa vastaan uusia syötteitä vasta kun R on ottanut S:n lähettämän tulostuselementin (sanoman) syötteekseen. Asynkroninen kanava sallii S:n tilasiirtymän loppuunsuorituksen heti kun tilasiirtymään liittyvä sanoma on tullut kanavaan. Tämä sanoma on käytettävissä R:n syötteeksi heti kun R on valmis vastaanottamaan syötteitä kanavasta. Asynkronisessa kanavassa elementit etenevät lähettäjältä vastaanottajalle FIFO (first in first out) -periaatteella. Tällainen FIFO -puskuri voidaan tulkita ääretöntilaiseksi automaatiksi α, jolloin puskurissa olevien sanomien lukumäärä määrää α:n tilan. Asynkroninen kanava FIFO-puskuri S α R Synkroniset kanavat Kuva 4.6 Asynkroninen kanava esitettynä FIFO-puskurin ja synkronisten kanavien avulla.

11 Kuvan 4.6 mukaisesti voidaan sanoa, että asynkroninen kanava on itse asiassa FIFO -automaatti α, joka liittyy S:ään ja R:ään synkronisilla kanavilla. Jos α on äärellistilainen, niin S:n ja R:n välinen kanava ei määritelmän mukaan ole synkroninen eikä asynkroninen, vaan välimuoto. Tällöinhän lähettäjä voi joutua odottamaan, että kanavasta vapautuu tilaa, mikä on vastoin asynkronisen lähetyskäytännön periaatetta. Käytännössä tietenkin kanavat ovat äärellistilaisia, ja mikäli halutaan pitää kiinni lähetyksen täydellisestä asynkronisuudesta tapauksessa, jolloin kanavan FIFO on täynnä, on kanavan ominaisuudeksi lisättävä epäluotettavuus: kanava voi hukata sanomat, jotka eivät mahdu puskuriin Järjestelmäarkkitehtuuri Kanavat ovat olioita, joiden avulla toteutetaan automaattien välisiä liitäntöjä. Syntyvää kokonaisuutta kutsutaan järjestelmän arkkitehtuuriksi tai konfiguraatioksi. Automaatti M ja siihen liittyvä kanava α määrittelevät portin p. Ottamalla portti peruselementiksi, voidaan toisaalta kanavat määritellä porttipareina: α = (p 1, p 2 ). M 1 M p 2 1 p 2 α = (p, p ) α = (p, p ) M 3 p p Kuva 4.7 Yksinkertainen järjestelmäarkkitehtuuri CVOPSissa arkkitehtuuri määritellään automaattien (virtuaalitaskien) ja porttien (interface) avulla.

12 5. Siirtokerroksen protokollille tyypillisiä mekanismeja 5.1 Virhekontrolli Virhetodennäköisyydet Tiedonsiirtokanavan laatua voidaan kuvan kanavan bittivirhesuhteella (BER), joka ilmaisee todennäköisyyden sille, että kanavassa kulkeva bitti kääntyy, eli lähetetty nollabitti vastaanotetaan ykkösenä tai päinvastoin. Laatu on suurissa verkoissa yleensä varsin suuresti vaihteleva, riippuen lähinnä siitä, miten vanhaa tekniikkaa verkon vanhimmissa osissa on käytetty. Parhaissa optisissa kuiduissa BER on luokkaa , kun taas puhelinverkon huonokuntoisimmissa osissa BER voi olla niinkin suuri kuin 10-4, ja langattomalla yhteydellä jopa Optisissa kuiduissakin virhesuhde on silti vielä paljon suurempi kuin laitteistojen sisäisissä väylissä ja muisteissa, joissa BER on tyypillisesti pienempi kuin Kanavien virheet eivät yleensä ole tasajakautuneita, vaan impulssikohina, kosketushäiriöt tai esim. inhimilliset virheet tuottavat ns. ryöppyvirheitä. Ollakseen luotettava, BER onkin syytä mitata pitkän ajan keskiarvona. Joskus keskiarvon lisäksi myös hajontaominaisuudet voivat olla tärkeitä. Kanavan laatua voidaan tällöin mitata esim. virheettömien sekuntien (tai muun sopivan aikayksikön) prosenttiosuutena. Yksinkertaisimmassa kanavamallissa virheet ajatellaan tasajakautuneiksi: kunkin bitin virhetodennäköisyys on BER = b (discrete memoryless channel). Tällöin todennäköisyys n:lle perättäiselle virheettömälle bitille on P(EFI n) = (1 - b) n (EFI = Error Free Interval). Niin ollen todennäköisyys sille, että n:n bitin sarjassa on vähintään yksi virhe on 1 - P(EFI n) = 1 - (1 - b) n. Puhelinverkon virhetodennäköisyyksiä mittaamalla on kokeellisesti havaittu, että P(EFI n) e -b(n-1) Näin virheen syntyminen n:n bitin sarjaan on lähinnä Poisson-prosessi, johon päädytään diskreetistä binomijakautumasta pienillä b:n ja suurilla n:n arvoilla Virhetyypit ja virheiden korjaus Kanavan tiedonsiirtoon aiheuttamat virheet voidaan luokitella seuraaviin tyyppeihin: - kehykset, joissa on bittivirheitä, - kehykset, joissa on ylimääräisiä bittejä,

13 - kadonneet kehykset, - ylimääräiset kehykset (yleensä duplikaatit), - väärään järjestykseen joutuneet kehykset. Tässä luvussa tarkastellaan menetelmiä, joilla voidaan vaikuttaa kahteen ensimmäiseen virhetyyppiin, ns. bittivirheisiin. Kolmeen jälkimmäiseen virhetyyppiin soveltuvia menetelmiä käsitellään luvussa 5.2. Virhekontrolli voidaan jakaa kahteen vaiheeseen: virheiden havaitsemiseen ja virheiden korjaukseen. Bittivirheiden havaitseminen perustuu redundanssin lisäämiseen, jolloin kehyksessä kulkee oleellisen informaation lisäksi informaatiota, jota voidaan käyttää sen asian tarkistamiseen, onko informaatio tullut halutussa muodossa perille. Jos redundanssi on tarpeeksi suuri, pystytään vääristynyt informaatio ehkä palauttamaan alkuperäiseen muotoonsa. Mikäli tämä ei ole mahdollista tai kannattavaa, on käytettävä uudelleenlähetystä. Virheenkorjausmenetelmät jakaantuvat näin kahteen luokkaan: - virheenkorjaavien koodien käyttö (forward error control), - uudelleenlähetysten käyttö (feedback error control). Mikään redundanssi ei pysty havaitsemaan kaikkia virheitä. Olkoon f menetelmän havaitsemien virheiden suhteellinen osuus kaikista mahdollisista virheistä, jolloin f < 1. Tällöin havaitsematta jääneiden virheiden todennäköisyys, jäännösvirhesuhde RER (Residual Error Rate) on bittivirhesuhteen BER = b avulla lausuttuna: RER = (1 - f)b. Redundanssin käyttöä varten virheiden havaitsemiseen tarkoitetut koodit ryhmittelevät bitit koodisanoiksi, joissa on databittejä ja koodibittejä. Joissain koodeissa tämä suhde on kiinteä, databittejä d kpl ja koodibittejä e kpl, jolloin koodin hyötysuhde = d/(d + e). Mikäli suhde voi vaihdella, voidaan koodille laskea keskimääräinen hyötysuhde. Jäännösvirhesuhteen pienentäminen pienentää yleensä myös koodin hyötysuhdetta. Virheenkorjaavilla koodeilla hyötysuhde voi olla luokkaa 0.5 tai paljon sitäkin huonompi. Tarkastellaan esimerkkinä virheitä havaitsevasta koodausmenetelmästä pariteettitarkistukseen perustuvaa menetelmää. Siinä koodisana muodostetaan databiteistä d 1,...,d n ja yhdestä koodibitistä, ns. pariteettibitistä p, joka lasketaan kaavalla (parillinen pariteetti): p = (Σ i n= 1 d i ) % 2. Näin taataan, että koodisanassa on aina parillinen määrä ykkösbittejä. Mikäli kanavan bittivirhesuhde on BER = b, niin virheettömänä saapuvan koodisanan todennäköisyys on P(EFI n+1) = (1 - b) n+1. Pariteettitarkistuksella selvästikin havaitaan virheet, joissa pariton määrä bittejä on kääntynyt. Binomijakautuman mukaan täsmälleen k:n virheen todennäköisyys on

14 P(täsm. k kpl virheitä) = [(n+1)!/k!(n - k + 1)!]b k (1 - b) n-k+1. Jäännösvirheiden todennäköisyys on tällöin eli RER = P(väh. 1 virhe) - P(havaitut virheet) RER = 1 - (1 - b) n Σ k n= 1, 3, 5,... P(täsm. k virhettä), Allaoleva kuva havainnollistaa RER:n riippuvuutta bittivirhesuhteesta b tapauksessa, jossa n = 15. On syytä huomata, että kuvassa korostuvat suuret BER:n arvot. Kuva 5.1 Pariteettitarkistukseen perustuva RER BER:n funktiona Virheenkorjaavat koodit Virheiden havaitsemisen lisäksi virheenkorjaavat koodit osaavat paikallistaa koodisanassa olevia virheellisiä bittejä. Koska redundanssin tarve on tällöin suurempi ja koodin hyötysuhde niin ollen pienempi kuin virheitä havaitsevilla koodeilla, virheenkorjaavia koodeja käytetään lähinnä erikoistapauksissa. Tällaisia voivat olla esim. seuraavat tilanteet: - siirtotiellä pitkä viive, - kanava on yksisuuntainen (ei feed-back -mahdollisuutta), - kanavassa suuri BER (uudelleenlähetyksenkin epäonnistuminen todennäköistä). Tarkastellaan esimerkkinä pariteeteista koottua virheenkorjaavaa koodia: 7 bitin ASCII + pariteetti (LRC) + neljän oktetin pystysuora pariteetti (VRC) D = A = T = A = LRC VRC

15 Tämä koodi havaitsee ja korjaa koodisanaan tulleen yhden virheen: ero vastaanotetussa ja lasketussa LRC:ssä identifioi virheellisen rivin ja vastaavasti VRC:n avulla tunnistetaan virheellinen sarake. Koodisanassa on 40 bittiä, joista 28 on databittejä ja 12 koodibittejä, eli hyötysuhde on 28/40 = 0.7. Virheenkorjauksen teoriaa voidaan tutkia ns. Hammingin etäisyyden avulla. Koodisanojen välinen etäisyys voidaan määritellä yksinkertaisesti niiden bittien lukumääräksi, jotka ovat erilaisia ko. sanoissa. Hammingin etäisyys määritellään nyt seuraavasti: Koodin Hammingin etäisyys on pienin etäisyys koodin kuuluvien kahden eri koodisanan välillä. Helposti voidaan todeta, että jos koodin Hammingin etäisyys on n, niin kaikki enintään n - 1 bittivirheen kombinaatiot voidaan havaita koodisanassa, kaikki enintään (n - 1)/2 bittivirheen kombinaatiot voidaan korjata tulkitsemalla virheellinen koodisana lähimmäksi kelvolliseksi koodisanaksi. Yksinkertaisen pariteettitarkistuksen Hammingin etäisyys on 2, kun taas kahdesta pariteetista koostuvassa yllä esitetyssä koodissa Hammingin etäisyys on 4 (tarkista) Sykliseen varmenteeseen (CRC) perustuvat koodit Edellisessä luvussa esitettyjä erityistilanteita lukuunottamatta pääasiallinen menetelmä tietoliikenteessä on virheenhavaitsevien koodien käyttö. Tärkein näistä menetelmistä on sykliseen varmenteeseen (cyclic redundancy check) perustuva menetelmä. Menetelmässä binaarikehyksillä suoritetaan laskutoimituksia, jotka määritellään kuvaamalla kehykset polynomeille. Näiden polynomien kertoimina voivat olla vain luvut nolla ja yksi, joten polynomien laskutoimituksissa noudatetaan modulo 2 -aritmetiikkaa. Perussäännöt ovat siis seuraavat: = 0-0 = = 0-1 = = 1-0 = = 1-1 = 0 Kehysten kuvaaminen polynomeiksi tapahtuu luonnollisella tavalla, esimerkiksi: P = = x 7 + x 6 + x 4 + x 3 + x 2 G = = x 5 + x (x 0 = 1) Polynomeilla ja modulo 2 -aritmetiikalla voidaan suorittaa jakolaskuja, esim.

16 Tässä jakojäännös R = x. Jakolasku P G = x2 + x + x G P - R G = x2 + x menee tasan. Olkoon tehtävänä siirtää bittijono P epäluotettavan kanavan läpi siten, että generoituneet virheet voitaisiin suurella todennäköisyydellä havaita. Syklisen varmenteen idea on seuraava: Valitaan generoiva polynomi G, ja yhdistetään P ja jakolaskun P/G jakojäännös R sanomaksi T siten, että T/G menee tasan. Vastaanottaja voi todeta sanoman virheettömäksi, jos myös hänen laskujensa mukaan T/G menee tasan. Valitsemalla T = P - R saadaan jako T/G menemään tasan, mutta valitettavasti vastaanottaja ei pysty purkamaan sanomasta T varsinaista dataa eli P:tä. Ratkaisu tähän ongelmaan on seuraava: Tehdään tilaa R:lle siirtämällä P r bittiä vasemmalle (r on G:n asteluku), ja määrätään R siten, että R on jakojäännös jakolaskusta Pxr G Asetetaan sitten T = Px r - R. Esimerkissämme on tällöin Px 5 G = x7 + x 6 + x + x3 + x G joten R = x 3 + x = (R:n asteluku on G:n asteluku miinus yksi) ja T =

17 Vastaanottaja pystyy nyt tarkistamaan vastaanotetun T:n jakamalla sen G:llä. Kun virheettömyys on todettu irrotetaan tarkistusosan viisi bittiä, jolloin jäljelle jää varsinainen data: P = Virhe sanomassa T voidaan tulkita polynomiksi E, joka on lisätty sanomaan: vastaanotettu sanoma T' = T + E. Vastaanottaja testaa: T + E G = G T + G E ja huomaa virheen, jos ja vain jos E/G ei mene tasan. Generaattoripolynomin valinnalla voidaan jonkin verran vaikuttaa siihen, millaisia virheitä havaitaan. Tarkastellaan paria esimerkkiä. Esimerkki 1. Jos E koostuu purskeesta, jossa bittivirheet rajoittuvat r:n peräkkäisen bitin alueelle, niin virhe havaitaan aina, mikäli G ei ole tiettyä muotoa. Tällöin nimittäin löytyy luku s ja polynomi E' siten, että E = x s E', missä E':n asteluku on pienempi kuin r. Nyt jakolasku E G = xs E' G voi mennä tasan vain jos G = x r, ja s on r:n monikerta. Valitsemalla G x r voidaan siis taata, että em. jakolasku ei mene tasan. Esimerkki 2. Jos generoiva polynomi G sisältää tekijänä polynomin (x + 1), niin kaikki sellaiset virhepolynomit E, joissa on pariton määrä nollasta poikkeavia kertoimia (ts. T':ssa pariton määrä bitin kääntymisiä) havaitaan. Tämä johtuu siitä, että mielivaltaiselle polynomille P pätee: polynomissa (x + 1)P on parillinen määrä nollasta poikkeavia kertoimia. Tämä väite on helppo todeta paikkansapitäväksi, kun P:n asteluku on 0 tai 1. Induktiolla voidaan suorittaa yleinen todistus, mutta todistus sivuutetaan tässä. Jos nyt siis G = (x + 1)G', ja E/G menee tasan eli virhettä ei havaita, niin myös jako E/(x + 1) menee tasan. Merkitään H = E/(x + 1), jolloin E = (x + 1)H. Mutta tällöin E:ssä täytyy olla parillinen määrä nollasta poikkeavia kertoimia. Yleisesti käytettyjä generoivia polynomeja ovat mm. seuraavat: CRC - 12: x 12 + x 11 + x 3 + x 2 + 1, CRC - CCITT: x 16 + x 12 + x = (x + 1)(x 15 + x 14 + x 13 + x 12 + x 4 + x 3 + x 2 + x + 1), CRC - 16 (IBM): x 16 + x 15 + x 2 + 1, CRC - 32: x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x x 5 + x 4 + x 2 + x + 1. Voidaan yleisesti osoittaa, että jos tarkistussumma on r bittiä, niin todennäköisyys havaitsematta jääneille virheille on luokkaa 2 -r. Kun r = 16, tämä vastaa todennäköisyyttä 10-5 eli näin voidaan parantaa esim. kanava, jossa BER = 10-4 kanavaksi, jossa jäännösvirhesuhde RER on 10-9.

18 5.2 Vuonvalvonta ja virhetoipuminen: johdanto Yksinkertainen stop-and-wait -mekanismi vuonvalvontaan Lähdetään tarkastelemaan siirtoon liittyviä ongelmatilanteita yksi kerrallaan, asteittain. Vuonvalvonnan perustilanne voidaan karakterisoida seuraavasti: 1) siirtotie on täysin virheetön, 2) kanava on kaksisuuntainen, mutta tiedonsiirto tapahtuu vain yhteen suuntaan, 3) vastaanottajan puskuritila on äärellinen, ja siltä menee aikaa saapuvan datan prosessointiin. Oletuksesta 3 seuraa ongelma: miten estetään lähettäjä lähettämästä liian nopeasti? Ratkaisu on kuittaussanomien käyttö: vastaanottaessaan datasanoman eli DATA -PDU:n vastaanottaja lähettää kuittaussanoman eli ACK -PDU:n. DATA -PDU:n lähettäjä joutuu odottamaan ACK -PDU:ta ennenkuin voi lähettää uuden DATA -PDU:n. Protokollamekanismia kutsutaan stop-and-wait -mekanismiksi ja sitä tai sen kehittyneempiä muunnelmia tarvitaan siirtotien laadusta riippumatta yleensä aina kun halutaan varmistautua datan perillemenosta. Vain järjestelmissä, joissa lähettäjä ja vastaanottaja on nopeudeltaan tarkasti sovitettu toisiinsa, tai joissa datan vähäinen katoaminen ei aiheuta ongelmia, kuittauksiin perustuvaa vuonvalvontaa ei tarvita Sanomia kadottavan kanavan ongelma Oletetaan nyt, että edellisen oletuksen 1) sijasta onkin voimassa 1 ) siirtotiellä voi kadota sanomia. Yleensä katoaminen tosin ei ole kovin todennäköistä itse linjalla, vaan katoamiset tapahtuvat prosessoivissa solmuissa esim. juuri vuonvalvonnan laiminlyönnin johdosta. On selvää, että yksinkertainen stop-and-wait ei voi selviytyä tilanteista, joissa esim. DATA -PDU katoaa, koska tällöin protokolla joutuu deadlock -tilanteeseen: lähettäjä ei voi jatkaa, koska ei saa kuittausta, ja vastaanottaja ei voi kuitata, koska ei saa DATA -PDU:ta. Ainoa mahdollinen ratkaisu tähän ongelmaan on ajastimen käyttö. Yksinkertaisinta on, että DATA -PDU:n lähettäjä käynnistää lähetyksen yhteydessä ajastimen, ja ellei kuittausta ole tullut ajastimen säätelemän ajan kuluessa, lähettäjä lähettää edellisen DATA -PDU:n uudelleen.

19 LÄHETTÄJÄ VASTAANOTTAJA DATA ACK DATA ylemmälle kerrokselle TIMEOUT DATA ACK DATA ylemmälle kerrokselle VIRHE! Vastaanottaja luulee saaneensa uuden DATAn, vaikka kyseessä onkin edellisen kopio. Kuva 5.2 Kuittaussanoman katoamisen aiheuttama ongelma Tapaus, jossa kuittaussanoma katoaa, johtaa hiukan monimutkaisempaan tilanteeseen, jota voidaan analysoida kuvan 5.2 sanomakaavion avulla. Ongelman ratkaisu edellyttää selvästi, että vastaanottajan on pystyttävä erottamaan uudelleenlähetykset alkuperäisistä lähetyksistä, jotta se osaisi hylätä jo kertaalleen saamansa sanomat. Yksinkertainen ratkaisu tässä tilanteessa on käyttää erillistä RDATA -PDU:ta uudelleenlähetyksissä. Jatkossa tulemme tarkastelemaan myös toisentyyppistä, PDU:iden järjestysnumerointiin perustuvaa keinoa Sanomia vääristävä ja kadottava kanava: lisää ongelmia Tapaus 1: Esimerkki huonosta spesifikaatiosta Korvataan nyt oletus mahdollisesta sanomien katoamisesta kanavassa mahdollisuudella sanomien vääristymiseen, ts. kanavan BER ei enää ole nolla. Yksinkertaisuuden vuoksi oletetaan kuitenkin aluksi, että sanomat eivät voi kadota. Edelleen oletetaan, että käytössä on virheiden havaitsemiseen kykenevä koodaus, joka leimaa virheellisiksi havaitsemansa sanomat ERR -sanomiksi. Tilanne on nyt aiempaa selvästi mutkikkaampi, ja protokollan suunnitteluun tulee kiinnittää huomiota. Protokollan on kyettävä reagoimaan virheellisiin sanomiin jollakin tavalla; eräs luonnollinen tapa on kuitata ne eri tavalla kuin virheettömät sanomat: käytetään niille NAK -kuittaussanomaa (negative acknowledgement). Järkevä tapa reagoida NAK -PDU:hun on puolestaan lähettää edellinen PDU uudelleen. Edellisen luvun esimerkistä on kuitenkin syytä ottaa oppia sen verran, että uudelleenlähetystä ei suoriteta samalla PDU:lla kuin alkuperäisen lähetystä.

20 Tässä nimittäin kuittauksen katoamista vastaava tilanne on kuittauksen vääristyminen ERR -PDU:ksi. Valitaan käyttöön RDATA -PDU uudelleenlähetyksille. Koska protokolla ei enää ole triviaali, se on syytä spesifioida mallin avulla; käytetään laajennettua äärellistä automaattia toiminnan kuvaamiseen. Tilanteen havainnollistamiseksi asetetaan tehtäväksi seuraavan konkreettisen esimerkin mallintaminen. start dti... b a Buffer CLIENT C C -> S READY ACK NAK ERR PDU:t S -> C DATA RDATA CLOSE ERR next SERVER S Kuva 5.3 Client - Server -järjestelmä Client C hakee joukon tietoyksiköitä Server S:ltä. Tietoyksiköt a,b,c,... ovat valmiina S:n puskurissa, josta ne voidaan siirtää linjalle järjestyksessä. Aiemmat oletukset ovat voimassa, siis 1) sanomia ei katoa, mutta ne voivat vääristyä, 2) DATA -PDU:ita siirretään vain yhteen suuntaan, serveriltä clientille, 3) oikein saapuneet DATA -PDU:t kuitataan ACK -PDU:lla, 4) virheellisinä saapuneet DATA -PDU:t kuitataan NAK -PDU:lla, 5) server vastaa NAK -PDU:hun RDATA -PDU:lla ja 6) server vastaa ERR -PDU:hun RDATA -PDU:lla. Kuvassa 5.3 on esitetty järjestelmän primitiivit ja PDU:t, sekä puskuri ja hakuoperaatio next. Kuvissa 5.4 ja 5.5 on esitetty tila-automaatit graafisina kuvauksina. DATA ACK dti idle start READY open ERR NAK err ERR NAK CLOSE RDATA ACK dti RDATA ACK Kuva 5.4 Clientin tila-automaatti

21 READY ACK & BuffNotEmpty next DATA next DATA idle open NAK RDATA ACK & BuffEmpty CLOSE ERR RDATA Kuva 5.5 Serverin tila-automaatti Myös aloitus- ja lopetustilanteet on otettu mukaan, mutta yksinkertaisuuden vuoksi protokollassa ei ole varauduttu READY ja CLOSE -PDU:iden vääristymisiin. Kohdat 1-6 spesifioivat protokollan varsin hyvin: tila-automaatit on helppo rakentaa. Tämä protokolla vaikuttaa päällisin puolin yksinkertaiselta ja toimivalta ratkaisulta kuvattuun tiedonsiirtotehtävään. Toimintalogiikka on (mukailtuna) peräisin klassisesta esimerkistä [Hol89, s.25-26], joka on ollut aidossa tuotantokäytössä. Järkevyydestään huolimatta protokolla sisältää suunnitteluvirheen, joka eräissä tilanteissa johtaa siihen, että client saa huomaamattaan saman datan kahteen kertaa. Automaattiset välineet protokollien toiminnan validoimiseksi (sen takaamiseksi, että protokolla toimii kaikissa tilanteissa halutulla tavalla ja loogisesti oikein esim. ilman deadlockeja), ovat viime aikoina kehittyneet formaalien spesifikaatioiden yleistymisen myötä. Esimerkki osoittaa, miten helpoiltakin näyttävissä tilanteissa suunnittelijan huomiokyky joutuu kovalle koetuksella, ja näin esimerkin tarkoitus onkin motivoida lukijaa ymmärtämään kehittyneiden suunnittelumenetelmien käytön tarpeellisuus. Tapahtumasarja, joka johtaa virheelliseen toimintaan on kuvattu oheisessa sanomakaaviossa:

22 ACK ERR start C S READY dti(a) DATA (a) ERR RDATA (a) NAK dti(a) RDATA (a) VIRHE! Client ei tiedä saavansa saman datan, jonka on jo kerran saanut. Kuva 5.6 Sanomasekvenssi, joka paljastaa edellä kuvatussa protokollassa olevan virheen Edellä kuvattua virhetilannetta ei ole helppo paikata. Järkevin parannuskeino on luopua erillisen RDATA-PDU:n käytöstä ja pyrkiä datan identifiointiin täsmällisemmin keinoin, esimerkiksi järjestysnumeroinnin avulla. Tähän palataan ikkunoivia mekanismeja käsittelevässä luvussa 5.3. Tapaus 2: Kuittausten sekoittuminen Tarkastellaan jälleen tapausta, jossa sanomat voivat kadota kanavassa. Yllä esitettyyn ja luvussa tarkasteltuun tapaukseen viitaten oletetaan nyt, että DATA- PDU:issa on mukana järjestysnumero, jonka avulla vastaanottaja voi erottaa duplikaatit toisistaan ja havaita kadonneet DATA-PDU:t. Vaikka tilanne vastaanottajan kannalta alkaakin olla tyydyttävässä kunnossa, voidaan vielä helposti kuvitella tapahtumasarja, jossa lähettäjä ja vastaanottaja ajautuvat peruuttamattomalla tavalla erilaiseen näkemykseen tilanteesta. Alla oleva esimerkki kuvaa samaa yksinkertaista perustilannetta kuin kuva 5.2, eikä se liity suoranaisesti yllä kuvattuun client -server -protokollaan. Ongelmiin johtava tapahtumaketju alkaa nyt liian lyhyestä uudelleenlähetysajastimesta, joka ehtii laueta ennen kuin kuittaus ehtii perille. Lähettäjä liittää kuittauksen uudelleenlähettämäänsä DATA(a) -PDU:hun, eikä osaa suhtautua oikealla tavalla seuraavaan kuittaukseen, joka sekin koskee DATA(a):ta, vaan luulee sen

23 tarkoittavan kuittausta DATA(b):hen. Näin lähettäjä lähettää matkaan DATA(c):n, eikä voi ymmärtää DATA(b):n jääneen tulematta perille. Vastaanottaja odottaa kuitenkin DATA(b):tä, jota ei koskaan tule. DATA (a) dti(a) timeout ACK DATA (a) Luulee kuittauksen olevan DATA(b):hen DATA (b) ACK DATA (c) Hylkää datan duplikaattina, lähettää kuittauksen. Hylkää datan, koska huomaa yhden datan puuttuvan välistä. Osapuolilla on täysin erilainen käsitys tilanteesta, toipuminen ei ole mahdollista. Kuva 5.7 Kuittausten sekoittuminen Tämän esimerkin virhetilanne on korjattavissa käyttämällä järjestysnumeroita myös kuittauksissa. Samalla on tärkeä huomata uudelleenlähetysajastimen oikea kesto: liian lyhyt ajastin johtaa tarpeettomiin uudelleenlähetyksiin kuten edellä, liian pitkä ajastin taas hidastaa tarpeettomasti datasiirtoa virhetilanteen sattuessa. Minimiaika koostuu seuraavien vaiheiden yhteenlasketusta kestosta: - DATA -PDU:n siirtoaika vastaanottajalle, - DATA -PDU:n prosessointiaika vastaanottajalla, - kuittauksen siirtoaika lähettäjälle. Koska etenkin pakettikytkentäisissä verkoissa siirtoajat voivat vaihdella huomattavasti verkon kuormituksesta riippuen, uudelleenlähetysajastimien keston määrittäminen on usein vaikeaa. Etenkin nopeissa verkoissa suuriin virhearvioihin ei ole varaa (puskuritilojen täyttyminen lähettäjällä, ym.), jolloin ajastimien arvoista tulee suorituskyvyn kannalta kriittisiä tekijöitä.

24 5.2.3 Pitkän siirtoviiveen ja kanavan käyttöasteen ongelmat Jos siirtoviive on pitkä, tavallinen stop-and-wait -mekanismi hukkaa kanavan kapasiteettia. Tarkastellaan esimerkkinä satelliittikanavaa Suomesta USA:aan: - tiedonsiirtonopeus 64 kbit/s, - käytetään 1000 bitin kehyksiä, - etäisyys n km (satelliitti geostationaarisella radalla), - signaalin nopeus sama kuin valon nopeus, - kuittaus tulee äärijärjestelmältä (satelliitti toimii vain signaalin toistimena). Näistä voidaan laskea, että yhden kehyksen lähetysaika on 1000 bit / bit/s = 15.6 ms, signaalin etenemisviive äärijärjestelmästä toiseen 72000/ s = 240 ms, joten jos kehyksen lähetys aloitetaan hetkellä t = 0, niin kehys on kokonaisuudessaan vastaanotettu hetkellä ms ja lähettäjä saa kuittauksen aikaisintaan hetkellä ms. Tällöin lähettäjä on toimettomana 480/495.6 = 96.8 % ajasta, ja kanavan kapasiteetista vain n. 3 % on hyötykäytössä. Ratkaisuna tähän on sallia lähettäjän lähettää matkaan useampia kehyksiä ennen ensimmäisen kuittauksen tulemista. Myös myöhemmin matkalla olisi aina tietty joukko kehyksiä, joiden kuittaus ei ole vielä saapunut lähettäjälle. Näistä lähetetyistä, mutta kuittaamattomista kehyksistä käytetään nimitystä lähetysikkuna. Optimaalinen lähetysikkunan koko saadaan laskemalla, montako kehystä lähettäjä ehtii lähettää, ennen kuin ensimmäinen kuittaus ehtii perille: W = ms / 15.6 ms/kehys = 31 kehystä. On myös selvää, että kuittausten siirtoon liittyy tehokkuusongelmia, kuittauksethan eivät sisällä hyötydataa. Niiden generointi, lähetys ja vastaanotto ovat protokollan toimintalogiikan kannalta välttämättömiä, mutta käytännössä niiden vaatima kanavakapasiteetti ja käsittelyn overhead olisi minimoitava. Usein etenkin siirtokerroksella datan lähetystarve molempiin suuntiin on ilmeinen, ts. osapuolet ovat toisiinsa nähden enemmän tai vähemmän symmetrisessä suhteessa. Esimerkiksi pitkissä yhteen suuntaan tapahtuvissa tiedostonsiirroissa joutuu kuljetuskerros kuittaamaan saapuneita tiedoston osasia tietyin välein, ja siirtokerroksella tämä näkyy säännöllisin välein vastavirtaan lähetettävänä datana. Kuittausmekanismin yksinkertaistamiseksi voidaan käyttää hyväksi näitä vastavirtaan kulkevia DATA-PDU:ita ja upottaa kuittaukset niihin parametreiksi. Tätä mekanismia kutsutaan nimellä piggybacking eli ratsastus. On kuitenkin selvää, että datan siirtotarve molempiin suuntiin harvoin on täsmälleen saman suuruista, joten tämä mekanismi sopii huonosti stop-and-wait -mekanismiin, koska silloin DATA- PDU:iden pitäisi kulkea puolelta toiselle täsmälleen vuorotahtia. Suurempi joustavuus on siis tarpeen, ja tässäkin ikkunamekanismi osoittautuu joustavaksi ratkaisuksi. Lisäksi kuittausmekanismia voi helposti modifioida siten, että kuitataan useampi sanoma kerralla, jolloin kuittauksia voi lähettää harvemmin. Tällöin tietyn järjestysnumeron sisältävä kuittaus kuittaa myös kaikki sitä aikaisemmin lähetetyt

25 kehykset. On kuitenkin selvää, että kuittausta ei pidä viivästyttää liikaa, koska lähettäjän uudelleenlähetysmekanismi käynnistyy ja idean hyöty menetetään. Jos vastavirtaan kulkevia DATA-PDU:ita, joissa kuittaus voi ratsastaa, ei ilmaannu, on tällöin käytettävä erillistä kuittaus-pdu:ta. 5.3 Vuonvalvonta ja virhetoipuminen: liukuvan ikkunan mekanismit Yleistä Liukuvan ikkunan mekanismi on kehitetty siirtokerroksen vuonvalvonnan ja virhetilanteista toipumisen tarpeisiin. Siinä on pyritty ottamaan huomioon kaikki edellä esitetyt ongelmatilanteet. Lisäksi siinä on varaa tapauskohtaiseen räätälöintiin. Mekanismi perustuu DATA-PDU:iden järjestysnumerointiin. Numeroinnin ei yleensä tarvitse olla yksikäsitteinen, vaan riittää, että käytössä on tietty määrä eri numeroita, esim. 0,1,2,..., MAXSEQ, jolloin numeron MAXSEQ jälkeen aloitetaan jälleen 0:sta. Sanotaan, että kyseessä on tällöin numerointi modulo MAXSEQ+1. Riippuen MAXSEQ:n arvosta järjestysnumero vaatii tietyn määrän bittejä DATA-PDU:n otsikkokentässä. Tyypillisesti MAXSEQ:n arvoksi asetetaankin 2 n - 1 jollekin luvulle n, joista käytetyimpiä ovat arvot n = 3, 5, 8, 16 ja 32. Viimeisin arvo tarkoittaa käytännössä yksikäsitteistä numerointia, sillä MAXSEQ on tällöin yli 4 miljardia. Mekanismin oleelliset käsitteet ovat lähetysikkuna ja vastaanottoikkuna. Lähetysikkuna : lähettäjällä oleva lista lähetetyistä, mutta kuittaamattomista DATA-PDU:ista Vastaanottoikkuna : vastaanottajalla oleva lista järjestysnumeroista, jotka se on valmis hyväksymään. Liukuvan ikkunan mekanismi määrittelee lähetysikkunalle maksimikoon MAX S. Normaalissa toiminnassa lähetysikkuna kasvaa aluksi maksimiarvoonsa, sitten saapuvat kuittauksen pudottavat DATA-PDU:ita pois ikkunan alarajalta mahdollistaen uusien DATA-PDU:iden lähetyksen ikkunan maksimikoon puitteissa, jolloin ikkunan yläraja siirtyy vastaavasti. Tästä nimi liukuva ikkuna. Koska järjestysnumerot kiertävät ympäri, ikkunaa havainnollistetaan usein seuraavanlaisella kuviolla Kuva 5.8 Liukuvassa ikkunassa olevat kehysnumerot

26 Tässä esimerkissä lähetysikkunassa ovat järjestysnumerot 2, 3 ja 4. Lähettäjän on pidettävä kuittaamattomat DATA-PDU:t puskurissaan mahdollista uudelleenlähetystä varten. Puskuritilaa tarvitaan enimmillään MAX S DATA-PDU:ta varten. Vastaanottoikkuna edustaa järjestysnumeroita, jotka vastaanottaja on valmis hyväksymään, muilla numeroilla varustetut PDU:t se hylkää. Vastaanottoikkunan koko voidaan tietyissä rajoissa asettaa lähetysikkunan koosta riippumattomasti. Puskuritilaa vastaanottaja tarvitsee enimmillään vastaanottoikkunan koon MAX R verran, sillä saapuvat PDU:t on annettava ylöspäin käyttäjälle numerojärjestyksessä. Väärässä järjestyksessä tulleet PDU:t on niin ollen puskuroitava, kunnes puuttuvat numerot ovat tulleet. Mikäli lähetysikkunan maksimikoko ja vastaanottoikkuna yhteensä ovat niin suuret, että ne voivat kattaa suuremman alueen kuin mitä erilaisia kehysnumeroita on olemassa, voi seurauksena olla vaikeasti havaittavia virhetilanteita. Yleissääntönä voidaan pitää : Lähetysikkunan maksimikoko + vastaanottoikkunan koko MAXSEQ + 1 Sanomakaaviot, jotka valaisevat yllä olevan säännön tärkeyttä, on esitetty liitteessä 1. Tarkastellaan seuraavassa PDU:n katoamisen tai vääristymisen aiheuttamia toipumismekanismeja. Oletetaan, että lähetysikkunan maksimikoko MAX S = W. Toipumismekanismit voidaan jaotella sen mukaan, onko vastaanottoikkunan koko yksi vai suurempi kuin yksi Toipuminen PDU:iden katoamisesta - Go-Back-N ARQ Jos vastaanottoikkunan koko on yksi, vastaanottaja ei hyväksy saapuvia PDU:ita elleivät ne tule järjestyksessä. Jos siis yksi DATA-PDU katoaa matkalla, vastaanottaja hylkää kaikki myöhemmin lähetetyt PDU:t, jotka on lähetetty ennen kuin lähetysikkuna on täyttynyt. Vastaanottajalle tämä menetelmä on yksinkertainen, koska puskuritilaa ei tarvita. Lähettäjä tietää myös, että mikäli kuittausta ikkunan alarajalla olevalle PDU:lle ei tule, kaikki sen jälkeen lähetetyt PDU:t on lähetettävä uudelleen. Näin lähettäjälle riittää vain yksi ajastin, joka käynnistetään aina kun ikkunan alaraja siirtyy. Kun ajastin laukeaa, koko ikkunallinen PDU:ita lähetetään uudestaan. Tästä nimi Go-Back-N. Lyhenne ARQ tulee sanoista automatic repeat request. Oheinen kuva havainnollistaa tilannetta

27 DATA (0) DATA (1) DATA (2) ACK (0) ACK (1) DATA (4) DATA (3) DATA (5) DATA (6) DATA (7) timeout DATA (2) DATA (3) DATA (4) DATA (5) DATA (6) ACK (2) ACK (3) ACK (4) ACK (5) Kuva 5.9 Go-back-N Automatic Repeat Reequest (ARQ) Toipuminen PDU:iden katoamisesta - Selective Repeat Jos vastaanottoikkunan koko on suurempi kuin yksi, yhden kehyksen katoaminen ei välttämättä edellytä seuraavien kehysten uudelleenlähetystä. Mikäli ne ovat saapuneet virheettöminä vastaanottajalle, niin vastaanottaja on puskuroinut niistä ne, jotka ovat mahtuneet vastaanottoikkunaan. Kadonnut tai virheellisenä saapunut kehys jää vastaanottoikkunan alarajalle, eikä vastaanottoikkuna enää siirry ennenkuin puuttuva kehys on vastaanotettu. Lähettäjän päässä kadonnut kehys on jäänyt lähetysikkunan alarajalle. Uudelleenlähetysmekanismin käynnistyessä ajastimen lauettua lähettäjän ei tässä tilanteessa kannata lähettää seuraavia uudelleen. Järkevää yleensä onkin odottaa, tulisiko seuraavassa kuittauksessa ilmoitus, että koko ikkunallinen tai ainakin osa siitä on otettu virheettöminä vastaan.

28 Kuva 5.10 Selective repeat Ajastimen oikea ajoitus voi olla pulmallista etenkin, jos siirtoviive on pitkä. Kanavalle tulee nimittäin tyhjäkäyntiä, jos kuitenkin osoittautuu, että seuraavakin kehys pitää lähettää uudelleen. Siksi kompromissina voi olla esim. edellä olevan kuvan 5.10 tilanne, jossa kadonnutta kehystä seuraavakin kehyksen uudelleenlähetysajastin ehtii laueta, ennenkuin kuittaus koko ikkunallisen vastaanotosta saapuu lähettäjälle. Sitten voidaan siirtyä kokonaan uusien kehysten lähetykseen. Aikaa edelliseen Go-Back-N -mekanismiin verrattuna säästyy selvästi Toipuminen PDU:iden katoamisesta - Negative Acknowledgement Liukuvan ikkunan protokollassa voi uudelleenlähetysajastimeen perustuva toipumismekanismi aiheuttaa tarpeetonta viivettä. Näin erityisesti silloin, kun vastaanottaja kuittaa harvakseen, useita kehyksiä kerralla. Tehokkuutta voidaan lisätä ottamalla käyttöön ns. negatiivinen kuittaus NAK, jonka vastaanottaja lähettää havaitessaan virheellisen kehyksen tai yhden järjestysnumeron jääneen välistä pois. NAK varustetaan tällöin sen kehyksen järjestysnumerolla joka oli virheellinen tai ei tullut ajallaan. DATA (1) DATA (2) DATA (4) DATA (5) DATA (0) ACK (0) ACK (1) DATA (3) NAK (2) Vastaanottaja lähettää NAK:n, koska DATA (2) jäi saapumatta. Se voi lähettää uuden NAK:n vasta kun DATA (2) on saapunut. Lähettäjä havaitsee, että DATA (2) on lähetettävä uudelleen. Se jatkaa sitten (optimistisesti) siitä mihin jäikin. DATA (2) DATA (6) DATA (7) NAK (4) NAK (4) kuittaa DATA (3):n ja DATA (2):n saapuneiksi. Nyt lähettäjä tietää, että DATA (4) on myös lähetettävä uudelleen. DATA (4) DATA (0) DATA (1) DATA (2) ACK (7) Vastaanottaja voi nyt kuitata numeroon 7 asti ja tilanne jatkuu normaalin ikkunamekanismin puitteissa. Kuva 5.11 Negative Acknowledgement Jos vastaanottoikkunan koko on yksi, lähettäjän tulee NAK:n saatuaan lähettää uudelleen kaikki kehykset NAK:ssa mainitusta järjestysnumerosta alkaen. Mikäli vastaanottoikkuna on suurempi kuin yksi, lähettäjä voi tyytyä lähettämään vain

29 mainitun kehyksen, ja uudelleenlähetysajastin tai uusi NAK ilmoittaa, mikäli seuraavien kehysten vastaanotossa on ollut häiriöitä. Mikäli pidetään kiinni periaatteesta, että NAK:ssa tullut järjestysnumero N kuittaa kaikki sitä edeltävät kehykset, on vastaanottajan kannalta riskialtista lähettää uutta NAK:ia esim. järjestysnumerolla N+2 ennenkuin kehys N on tullut virheettömänä perille. Mikäli näin tehdään, niin lähettäjä kuvittelee saadessaan NAK:n, jossa on numero N+2, että hänen uudelleenlähettämänsä kehys numero N on mennyt virheettömänä perille, vaikka vastaanottaja ei ole vielä ko. kehystä saanutkaan lähettäessään jälkimmäisen NAK:n. Se, että NAK:eja voi olla kerrallaan liikenteessä vain yksi, tekee uudelleenlähetysajastimeen perustuvista toipumismekanismeista lähes samanarvoisia NAK:iin perustuvien mekanismien kanssa. Ajallinen etu, joka NAK:lla saavutetaan joudutaan maksamaan monimutkaisemman toimintalogiikan muodossa.

30 Luku 6 puuttuu tarkoituksellisesti

31 7. Kuljetuskerros 7.1 Kuljetuskerroksen tehtävät ja protokollaluokat Kuljetusyhteyttä voidaan luonnehtia termeillä päästä - päähän -yhteys sekä bittiputki (bitpipe). Edellinen termi korostaa kuljetuskerroksen roolia kahden äärijärjestelmän yhdistämisessä. Bittiputkeen liitetään lisäksi ominaisuudet luotettava ja läpinäkyvä. Luotettavuudella tarkoitetaan sitä, että viimeistään kuljetuskerros suorittaa tietynasteiset tarkistukset ja toipumistoimet bittivirheiden ja kadonneiden tai epäjärjestykseen joutuneiden sanomien osalta. Luotettavuus ei välttämättä tarkoita sitä, että ylemmillä kerroksilla ei enää tarvita minkäänlaisia virheentarkistus- tai toipumismekanismeja, vaan siellä voidaan joutua huolehtimaan toisentyyppisistä ilmiöistä, esim. siitä, onko sovellusolio onnistunut tallettamaan saamansa tiedot levylle. Tällaiset asiat eivät koske kuljetuskerrosta. Läpinäkyvyydellä puolestaan tarkoitetaan sitä, että kuljetuspalvelun kautta kuljetuskerroksen siirrettäväksi annettu data saa sisältää millaisia bittikuvioita hyvänsä. Tätä ominaisuutta halutaan sen itsestäänselvyydestä huolimatta korostaa, koska eräät vanhemmat järjestelmät, esim. aikaisempi digitaalinen T1 -palvelu USA:ssa, eivät sallineet tiettyjen verkon sisäiseen merkinantoon käytettyjen oktettien esiintymistä datan joukossa. Kuljetuskerroksen tulisi myös toipua verkkokerroksen signaloimista virheistä (Reseteistä) sekä mahdollisuuksien mukaan yrittää avata uudelleen poikki menneet verkkoyhteydet ilman, että kuljetuspalvelun käyttäjä tulee tietoiseksi yhteyskatkoista. Lisäksi kuljetuskerros voi tarjota useiden kuljetusyhteyksien limitystä yhdelle verkkoyhteydelle tai yhteydettömän verkkopalvelun päälle. Jotta kuljetuskerros voisi joustavasti mukautua erilaatuisten verkkoyhteyksien hyväksikäyttöön, standardoijat ovat määritelleet kuljetuskerrokselle useita vaihtoehtoisia toimintokokonaisuuksia, ns. protokollaluokkia. Näin voidaan keventää kuljetuskerroksen protokollaa, mikäli alemmat kerrokset huolehtivat esim. luotettavuudesta tai multipleksauksesta eli limityksestä. Toisaalta tilanteessa, jossa alemmat kerrokset eivät takaa virheetöntä siirtoa, kuljetuskerroksen protokollasta tulee monipuolinen ja myös raskas (ja kallis). Toimintojen tarkastelua varten verkkoyhteydet jaetaan yleensä kolmeen tyyppiin, A, B ja C: tyyppi A tyyppi B tyyppi C luotettavat verkkoyhteydet, joissa bittivirheiden todennäköisyys on erittäin pieni ja joissa verkon toimintahäiriöitä (N-RESET) ei esiinny, virheistä ilmoittavat verkkoyhteydet, joissa paketit ovat perille tullessaan virheettömiä, mutta verkko voi silloin tällöin kaatua, eli N-RESET:tejä esiintyy, epäluotettava verkkoyhteys, jossa paketit voivat kadota, kahdentua ja korruptoitua, ja N-RESET:tejä esiintyy.

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Digitaalitekniikan matematiikka Luku 13 Sivu 2 (10) Johdanto Tässä luvussa esitetään virheen havaitsevien ja korjaavien koodaustapojen perusteet ja käyttösovelluksia

Lisätiedot

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla Monimutkaisempi stop and wait -protokolla Lähettäjä: 0:A vastaanottaja: ajastin lähettäjälle jos kuittausta ei kuulu, sanoma lähetetään automaattisesti uudelleen kuittaus: = ok, lähetä seuraava uudelleenlähetys

Lisätiedot

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet.

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet. 5. Siirtoyhteyskerros linkkikerros (Data Link Layer) yhtenäinen linkki solmusta solmuun bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta yhteisen

Lisätiedot

Protokollien yleiset toiminnot

Protokollien yleiset toiminnot 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

Lisätiedot

Vuonohjaus: ikkunamekanismi

Vuonohjaus: ikkunamekanismi J. Virtamo 38.3141 Teleliikenneteoria / Ikkunointiin perustuva vuonohjaus 1 Vuonohjaus: ikkunamekanismi Kuittaamattomina liikkeellä olevien segmenttien (data unit) lkm W (ikkuna) Lähetyslupien kokonaismäärä

Lisätiedot

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Hahmon etsiminen syotteesta (johdatteleva esimerkki) Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux

Lisätiedot

Automaatit. Muodolliset kielet

Automaatit. Muodolliset kielet Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten

Lisätiedot

ITKP104 Tietoverkot - Teoria 3

ITKP104 Tietoverkot - Teoria 3 ITKP104 Tietoverkot - Teoria 3 Ari Viinikainen Jyväskylän yliopisto 5.6.2014 Teoria 3 osuuden tärkeimmät asiat kuljetuskerroksella TCP yhteyden muodostus ja lopetus ymmärtää tilakaavion suhde protokollan

Lisätiedot

Kuljetuskerroksen protokollat. Luotettava vai epäluotettava? Kuljetuskerroksen tarkoitus. Tietosähkeen kapselointi. Portit ja (de)multipleksaus

Kuljetuskerroksen protokollat. Luotettava vai epäluotettava? Kuljetuskerroksen tarkoitus. Tietosähkeen kapselointi. Portit ja (de)multipleksaus do what I mean Kuljetuskerroksen protokollat Sovelluskerros Sovelluskerros User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Kuljetuskerros Verkkokerros Linkkikerros TCP, UDP Kuljetuskerros

Lisätiedot

Netemul -ohjelma Tietojenkäsittelyn koulutusohjelma 31.10.2011

Netemul -ohjelma Tietojenkäsittelyn koulutusohjelma 31.10.2011 Tietojenkäsittelyn koulutusohjelma ICT1TN002 1/6 Tietokone ja tietoverkot 1 ICT1TN002 Harjoitus lähiverkon toiminnasta Tässä harjoituksessa tutustutaan lähiverkon toimintaan Netemul ohjelman avulla. Ohjelmassa

Lisätiedot

Kuva maailmasta Pakettiverkot (Luento 1)

Kuva maailmasta Pakettiverkot (Luento 1) M.Sc.(Tech.) Marko Luoma (1/20) M.Sc.(Tech.) Marko Luoma (2/20) Kuva maailmasta Pakettiverkot (Luento 1) WAN Marko Luoma TKK Teletekniikan laboratorio LAN M.Sc.(Tech.) Marko Luoma (3/20) M.Sc.(Tech.) Marko

Lisätiedot

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

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/2003 79. Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja Siltojen haitat sillat puskuroivat ja aiheuttavat viivettä ei vuonsäätelyä => sillan kapasiteetti voi ylittyä kehysrakenteen muuttaminen => virheitä jää havaitsematta Yleisesti edut selvästi suuremmat

Lisätiedot

S-38.118 Teletekniikan perusteet

S-38.118 Teletekniikan perusteet S-38.118 Teletekniikan perusteet Laskuharjoitus 3 Paketoinnin hyötysuhde 1 Harjoitus 3 koostuu: Demoluento (45 min) Datan siirtäminen Internetissä yleensä Laskuesimerkki datan siirtämisestä Äänen siirtäminen

Lisätiedot

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö -asetuksella voidaan muuttaa tulostimen asetuksia, jotka koskevat sarjaportin (Standardi sarja- tai Sarjaportti -asetukset) kautta tulostimeen lähetettäviä töitä. Lisätietoja saat valitsemalla valikon

Lisätiedot

Kuljetuskerros. Kirja sivut: 280-301, 326-330

Kuljetuskerros. Kirja sivut: 280-301, 326-330 Kuljetuskerros Kirja sivut: 280-301, 326-330 Kuljetuskerroksen tehtävä Kuljetuskerros yhdistää sovelluksia Verkkokerros välittää viestejä koneelta toiselle Kuljetuskerros lisää tarkemman osoitteen koneen

Lisätiedot

Chapter 3 Transport Layer. Kuljetuskerros

Chapter 3 Transport Layer. Kuljetuskerros Chapter 3 Transport ayer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

Lisätiedot

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

OSI malli. S 38.188 Tietoliikenneverkot S 2000. Luento 2: L1, L2 ja L3 toiminteet M.Sc.(Tech.) Marko Luoma (1/38) S 38.188 Tietoliikenneverkot S 2000 Luento 2: L1, L2 ja L3 toiminteet OSI malli M.Sc.(Tech.) Marko Luoma (2/38) OSI malli kuvaa kommunikaatiota erilaisten protokollien mukaisissa

Lisätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

Lisätiedot

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

Kuljetuskerros. Matti Siekkinen. T-110.2100 Johdatus tietoliikenteeseen kevät 2011 Kuljetuskerros Matti Siekkinen T-110.2100 Johdatus tietoliikenteeseen kevät 2011 TCP/IP-protokollapino Sovelluskerros Middleware: HTTP, SSL, XML... Kuljetuskerros: TCP, UDP,... Verkkokerros: IPv4, IPv6

Lisätiedot

SDH. Mikä SDH 0DUNR/XRPD

SDH. Mikä SDH 0DUNR/XRPD SDH 0DUNR/XRPD 1988 TVT I / Marko Luoma & Raimo Kantola 1 Mikä SDH Synkronisen digitaalisen hierarkian (SDH) mukaisessa tiedonsiirrossa kaikki tieto on pakattu kehyksiin, jotka toistuvat 8000 kertaa sekunnissa.

Lisätiedot

Tuloperiaate. Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta

Tuloperiaate. Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta Tuloperiaate Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta ja 1. vaiheessa valinta voidaan tehdä n 1 tavalla,. vaiheessa valinta voidaan tehdä n tavalla,

Lisätiedot

S-114.2720 Havaitseminen ja toiminta

S-114.2720 Havaitseminen ja toiminta S-114.2720 Havaitseminen ja toiminta Heikki Hyyti 60451P Harjoitustyö 2 visuaalinen prosessointi Treismanin FIT Kuva 1. Kuvassa on Treismanin kokeen ensimmäinen osio, jossa piti etsiä vihreätä T kirjainta.

Lisätiedot

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

1. Tietokoneverkot ja Internet. 1. 1.Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet 1. Tietokoneverkot ja Internet 1.1. Tietokoneesta tietoverkkoon 1.2. Tietoliikenneverkon rakenne 1.3. Siirtomedia 1.4. Tietoliikenneohjelmisto eli protokolla 1.5. Viitemallit: OSI-malli, TCP/IP-malli 1.6.

Lisätiedot

Liikenneteoriaa (vasta-alkajille)

Liikenneteoriaa (vasta-alkajille) Liikenneteoriaa (vasta-alkajille) samuli.aalto@hut.fi liikteor.ppt S-38.8 - Teletekniikan perusteet - Syksy 000 Sisältö Liikenneteorian tehtävä Verkot ja välitysperiaatteet Puhelinliikenteen mallinnus

Lisätiedot

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää Levyn rakenne Levykössä (disk drive) on useita samankeskisiä levyjä (disk) Levyissä on magneettinen pinta (disk surface) kummallakin puolella levyä Levyllä on osoitettavissa olevia uria (track), muutamasta

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

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

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin

Lisätiedot

3 Raja-arvo ja jatkuvuus

3 Raja-arvo ja jatkuvuus 3 Raja-arvo ja jatkuvuus 3. Raja-arvon käsite Raja-arvo kuvaa funktion kättätmistä jonkin lähtöarvon läheisdessä. Raja-arvoa tarvitaan toisinaan siksi, että funktion arvoa ei voida laskea kseisellä lähtöarvolla

Lisätiedot

Aineistoista. Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin

Aineistoista. Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin Aineistoista 11.2.09 IK Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin Muotoilussa kehittyneet menetelmät, lähinnä luotaimet Havainnointi:

Lisätiedot

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja. IsoInt Tietokoneiden muisti koostuu yksittäisistä muistisanoista, jotka nykyaikaisissa koneissa ovat 64 bitin pituisia. Muistisanan koko asettaa teknisen rajoituksen sille, kuinka suuria lukuja tietokone

Lisätiedot

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21 säilyy Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla c b a 1 2 3 5 1 / 21 säilyy Esimerkkirelaatio R = {(1, b), (3, a), (5, a), (5, c)} c b a 1

Lisätiedot

jakokulmassa x 4 x 8 x 3x

jakokulmassa x 4 x 8 x 3x Laudatur MAA ratkaisut kertausarjoituksiin. Polynomifunktion nollakodat 6 + 7. Suoritetaan jakolasku jakokulmassa 5 4 + + 4 8 6 6 5 4 + 0 + 0 + 0 + 0+ 6 5 ± 5 5 4 ± 4 4 ± 4 4 ± 4 8 8 ± 8 6 6 + ± 6 Vastaus:

Lisätiedot

Teema 4. Homomorfismeista Ihanne ja tekijärengas. Teema 4 1 / 32

Teema 4. Homomorfismeista Ihanne ja tekijärengas. Teema 4 1 / 32 1 / 32 Esimerkki 4A.1 Esimerkki 4A.2 Esimerkki 4B.1 Esimerkki 4B.2 Esimerkki 4B.3 Esimerkki 4C.1 Esimerkki 4C.2 Esimerkki 4C.3 2 / 32 Esimerkki 4A.1 Esimerkki 4A.1 Esimerkki 4A.2 Esimerkki 4B.1 Esimerkki

Lisätiedot

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? 2012-2013 Lasse Lensu 2 Ongelma 2: Voidaanko dataa tai informaatiota tallettaa tiiviimpään tilaan koodaamalla se uudelleen? 2012-2013 Lasse

Lisätiedot

1. FRAME RELAY: RUUHKANHALLINTA

1. FRAME RELAY: RUUHKANHALLINTA 1. FRAME RELAY: RUUHKANHALLINTA Frame Relay on kehitelty nimenomaan uusille nopeammille, virheettömämmille verkoille. Se on tarkoitettu puhtaasti tehokkaaseen tiedonsiirtoon eikä sinänsä sisällä vuohallintaa

Lisätiedot

PANKKILINJAN FTP - KUVAUS

PANKKILINJAN FTP - KUVAUS PANKKILINJAN FTP - KUVAUS 2 Sisällysluettelo SISÄLLYSLUETTELO...2 YLEISTÄ...3 YHTEYSKÄYTÄNTÖ...4 YHTEYDEN AVAAMINEN JA FTP-SISÄÄNKIRJAUS...4 ASIAKKAAN JA PANKIN TODENNUS...5 PALVELUN PYYNTÖ...5 AINEISTON

Lisätiedot

1 Määrittele seuraavat langattoman tiedonsiirron käsitteet.

1 Määrittele seuraavat langattoman tiedonsiirron käsitteet. 1 1 Määrittele seuraavat langattoman tiedonsiirron käsitteet. Radiosignaalin häipyminen. Adaptiivinen antenni. Piilossa oleva pääte. Radiosignaali voi edetä lähettäjältä vastanottajalle (jotka molemmat

Lisätiedot

Opus SMS tekstiviestipalvelu

Opus SMS tekstiviestipalvelu Opus SMS tekstiviestipalvelu Sivu 1 / 17 1. Yleistä toiminnosta Opus SMS tekstiviestipalvelun avulla voidaan Opus Dental potilashallintaohjelmasta Lähettää muistutuksia tekstiviestillä Lähettää tiedusteluita

Lisätiedot

1 Kannat ja kannanvaihto

1 Kannat ja kannanvaihto 1 Kannat ja kannanvaihto 1.1 Koordinaattivektori Oletetaan, että V on K-vektoriavaruus, jolla on kanta S = (v 1, v 2,..., v n ). Avaruuden V vektori v voidaan kirjoittaa kannan vektorien lineaarikombinaationa:

Lisätiedot

Esimerkki 1: Kahviautomaatti.

Esimerkki 1: Kahviautomaatti. Esimerkki 1: Kahviautomaatti. ÄÄRELLISET AUTOAATIT JA SÄÄNNÖLLISET KIELET 2.1 Tilakaaviot ja tilataulut Tarkastellaan aluksi tietojenkäsittelyjärjestelmiä, joilla on vain äärellisen monta mahdollista tilaa.

Lisätiedot

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

Internet ja tietoverkot 2015 Harjoitus 5: (ISO/OSI-malli: Verkkokerros, TCP/IP-malli: internet-kerros) Internet ja tietoverkot 2015 Harjoitus 5: (ISO/OSI-malli: Verkkokerros, TCP/IP-malli: internet-kerros) Tämän harjoituksen tarkoituksena on tutustua IP-protokollaan. Kertausta - Harjoitus 4: Erään sovelluksen

Lisätiedot

Sonyn suomenkielisen Web-portaalin käyttöohjeet

Sonyn suomenkielisen Web-portaalin käyttöohjeet Sonyn suomenkielisen Web-portaalin käyttöohjeet Sonyn Web-portaalin käyttöohjeet Seuraavilla sivuilla esiteltävien käyttöohjeiden yhteenveto: Sisäänkirjautuminen Uuden tai vaihtosalasanan hankkiminen.

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

Lisätiedot

Referenssit ja näytteenotto VLBI -interferometriassa

Referenssit ja näytteenotto VLBI -interferometriassa Referenssit ja näytteenotto VLBI -interferometriassa Jan Wagner, jwagner@kurp.hut.fi Metsähovin radiotutkimusasema / TKK Eri taajuuksilla sama kohde nähdään eri tavalla ts. uutta tietoa pinta-ala D tarkkuustyötä

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Nokeval No 280701. Käyttöohje. Tekstinäyttö 580-ALF

Nokeval No 280701. Käyttöohje. Tekstinäyttö 580-ALF Nokeval No 28070 Käyttöohje Tekstinäyttö 580-ALF Nokeval Oy Yrittäjäkatu 2 3700 NOKIA Puh. 03-342 4800 Fax. 03-342 2066 2 Kenttänäytttösarja 580 sarjaviesteille 5820 580 Sarjaviesti RS-232 tai RS-485 PC

Lisätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

Lisätiedot

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen rakentamisessa? 2012-2013 Lasse Lensu 2 Transistori yhdessä

Lisätiedot

S-38.1105 Tietoliikennetekniikan perusteet. Piirikytkentäinen evoluutio. Annukka Kiiski

S-38.1105 Tietoliikennetekniikan perusteet. Piirikytkentäinen evoluutio. Annukka Kiiski S-38.1105 Tietoliikennetekniikan perusteet Piirikytkentäinen evoluutio Annukka Kiiski Verkon topologia Kuvaa verkon rakenteen Fyysinen vs looginen topologia Tähti asema keskitin Perustopologioita Kahdenvälinen

Lisätiedot

Tietoturva 811168P 5 op

Tietoturva 811168P 5 op 811168P 5 op 6. Oulun yliopisto Tietojenkäsittelytieteiden laitos Mitä se on? on viestin alkuperän luotettavaa todentamista; ja eheyden tarkastamista. Viestin eheydellä tarkoitetaan sitä, että se ei ole

Lisätiedot

Siirtoprosessiin kuuluu neljä vaihetta: 1. Aloitus (vanha seura) 2. Vastaanotto (uusi seura) 3. Maksu (uusi seura) 4. Hyväksyminen (SJL)

Siirtoprosessiin kuuluu neljä vaihetta: 1. Aloitus (vanha seura) 2. Vastaanotto (uusi seura) 3. Maksu (uusi seura) 4. Hyväksyminen (SJL) SEURASIIRROT Seurasiirtoprosessilla pelaajan edustusoikeus siirretään seurasta toiseen. Varsinaisen siirtoprosessin voi käynnistää vain se seura, jossa pelaajan edustusoikeus on voimassa. Sen lisäksi pelaajan

Lisätiedot

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio:

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio: Inversio-ongelmista Craig, Brown: Inverse problems in astronomy, Adam Hilger 1986. Havaitaan oppositiossa olevaa asteroidia. Pyörimisestä huolimatta sen kirkkaus ei muutu. Projisoitu pinta-ala pysyy ilmeisesti

Lisätiedot

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat J. Virtamo 38.3143 Jonoteoria / Jonojärjestelmät 1 JONOJÄRJESTELMÄT Yleistä Jonojärjestelmät muodostavat keskeisen mallinnuksen välineen mm. tietoliikenne- ja tietokonejärjestelmien suorituskyvyn analysoinnissa.

Lisätiedot

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki Tietoliikenteen perusteet Langaton linkki Kurose, Ross: Ch 6.1, 6.2, 6.3 (ei:6.2.1, 6.3.4 ja 6.3.5) Tietoliikenteen perusteet /2007/ Liisa Marttinen 1 Sisältö Langattoman linkin ominaisuudet Lnagattoman

Lisätiedot

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki Tietoliikenteen perusteet Langaton linkki Kurose, Ross: Ch 6.1, 6.2, 6.3 (ei:6.2.1, 6.3.4 ja 6.3.5) Tietoliikenteen perusteet /2007/ Liisa Marttinen 1 Sisältö Langattoman linkin ominaisuudet Lnagattoman

Lisätiedot

MASSER Loader V2.00. käyttö- ja asennusohje 5.5.2014

MASSER Loader V2.00. käyttö- ja asennusohje 5.5.2014 MASSER Loader V2.00 käyttö- ja asennusohje 5.5.2014 Masser Oy Tel. +358 400 904 500 BID No 0665142-9 Jämytie 1 Fax. +358 16 282 554 VAT No. FI06651429 FI-96910 Rovaniemi, Finland Domicile Rovaniemi OHJELMAN

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro1 29.10.2013

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro1 29.10.2013 Protokollat Pertti Pennanen OSI 1 (4) SISÄLLYSLUETTELO Protokollat... 1 OSI-mallin kerrokset ovat... 2 Fyysinen kerros (Ethernet) hubi, toistin... 2 Siirtoyhteyskerros (Ethernet) silta, kytkin... 2 Verkkokerros

Lisätiedot

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 11.6.2012 klo 10 13 Ratkaisut ja pisteytysohjeet

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 11.6.2012 klo 10 13 Ratkaisut ja pisteytysohjeet Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 11.6.01 klo 10 13 t ja pisteytysohjeet 1. Ratkaise seuraavat yhtälöt ja epäyhtälöt. (a) 3 x 3 3 x 1 4, (b)

Lisätiedot

Ohjeet autosuunnistuksen AT-asemalle

Ohjeet autosuunnistuksen AT-asemalle Ohjeet autosuunnistuksen AT-asemalle Olet tässä kilpailussa aikatarkastus- eli AT-asema numero (ei välttämätön tieto). Ensimmäiset kilpailijat saapuvat asemallesi noin kello. asemapaikaltasi ennen purkuauton

Lisätiedot

kaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja

kaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja Renkaat Tarkastelemme seuraavaksi rakenteita, joissa on määritelty kaksi binääristä assosiatiivista laskutoimitusta, joista toinen on kommutatiivinen. Vaadimme muuten samat ominaisuudet kuin kokonaisluvuilta,

Lisätiedot

Stabilointi. arvosana. arvostelija. Marja Hassinen

Stabilointi. arvosana. arvostelija. Marja Hassinen hyväksymispäivä arvosana arvostelija Stabilointi Marja Hassinen Helsinki 28.10.2007 Hajautetut algoritmit -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö 1 1 Johdanto 1 2 Resynkroninen

Lisätiedot

Chapter 5 Link Layer and LANs

Chapter 5 Link Layer and LANs Chapter 5 Link Layer and LANs A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

Lisätiedot

T-110.250 Verkkomedian perusteet. Tietoliikennekäsitteitä Tiedonsiirron perusteet

T-110.250 Verkkomedian perusteet. Tietoliikennekäsitteitä Tiedonsiirron perusteet T-110.250 Verkkomedian perusteet Tietoliikennekäsitteitä Tiedonsiirron perusteet Luennon aiheet Tietoliikennekäsitteitä Kerrosmallit Digitaalinen tiedonsiirto Siirtomediat Virheet ja virheenkorjaus Modulaatio

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: A Numeropeli Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: 1 2 3 4 5 6 7 8 9 Voit jokaisella siirrolla vaihtaa keskenään kaksi vierekkäistä lukua vaaka- tai

Lisätiedot

Tietosuojatyöryhmä. Työryhmän 23 päivänä helmikuuta 1999 hyväksymä. suositus 1/99

Tietosuojatyöryhmä. Työryhmän 23 päivänä helmikuuta 1999 hyväksymä. suositus 1/99 5093/98/FI/lopullinen WP 17 Tietosuojatyöryhmä Työryhmän 23 päivänä helmikuuta 1999 hyväksymä suositus 1/99 ohjelmistojen ja laitteistojen Internetissä suorittamasta ei-havaittavasta ja automaattisesta

Lisätiedot

Reaalifunktioista 1 / 17. Reaalifunktioista

Reaalifunktioista 1 / 17. Reaalifunktioista säilyy 1 / 17 säilyy Jos A, B R, niin funktiota f : A B sanotaan (yhden muuttujan) reaalifunktioksi. Tällöin karteesinen tulo A B on (aiempia esimerkkejä luonnollisemmalla tavalla) xy-tason osajoukko,

Lisätiedot

Nollasummapelit ja bayesilaiset pelit

Nollasummapelit ja bayesilaiset pelit Nollasummapelit ja bayesilaiset pelit Kristian Ovaska HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Seminaari: Peliteoria Helsinki 18. syyskuuta 2006 Sisältö 1 Johdanto 1 2 Nollasummapelit 1 2.1

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

Älypuhelinverkkojen 5G. Otto Reinikainen & Hermanni Rautiainen

Älypuhelinverkkojen 5G. Otto Reinikainen & Hermanni Rautiainen Älypuhelinverkkojen 5G Otto Reinikainen & Hermanni Rautiainen Johdanto [1][2] Viimeisen 30 vuoden aikana mobiiliverkkojen markkinaosuus on kasvanut merkittävästi Langattomia laitteita on joillain alueilla

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Littlen tulos. Littlen lause sanoo. N = λ T. Lause on hyvin käyttökelpoinen yleisyytensä vuoksi

Littlen tulos. Littlen lause sanoo. N = λ T. Lause on hyvin käyttökelpoinen yleisyytensä vuoksi J. Virtamo 38.3143 Jonoteoria / Littlen tulos 1 Littlen tulos Littlen lause Littlen tuloksena tai Littlen lauseena tunnettu tulos on hyvin yksinkertainen relaatio järjestelmään tulevan asiakasvirran, keskimäärin

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 1 1 Matemaattisesta päättelystä Matemaattisen analyysin kurssin (kuten minkä tahansa matematiikan kurssin) seuraamista helpottaa huomattavasti, jos opiskelija ymmärtää

Lisätiedot

Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto

Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto Parinmuodostuksesta tietojenkäsittelytieteen silmin Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto Suomalainen Tiedeakatemia Nuorten Akatemiaklubi 18.10.2010 Sisältö Mitä tietojenkäsittelytieteessä

Lisätiedot

Reaaliluvut 1/7 Sisältö ESITIEDOT:

Reaaliluvut 1/7 Sisältö ESITIEDOT: Reaaliluvut 1/7 Sisältö Reaalilukujoukko Reaalilukujoukkoa voidaan luonnollisimmin ajatella lukusuorana, molemmissa suunnissa äärettömyyteen ulottuvana suorana, jonka pisteet ja reaaliluvut vastaavat toisiaan:

Lisätiedot

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä Tiedonsiirto VMS-, Alpro- tai DelProtuotannonohjausjärjestelmästä Ammuohjelmistoon 5/2014 Asennettavat ohjelmat ja versiot VMS-Management

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

Malliratkaisut Demo 1

Malliratkaisut Demo 1 Malliratkaisut Demo 1 1. Merkitään x = kuinka monta viikkoa odotetaan ennen kuin perunat nostetaan. Nyt maksimoitavaksi kohdefunktioksi tulee f(x) = (60 5x)(300 + 50x). Funktio f on alaspäin aukeava paraaeli,

Lisätiedot

Julkinen sanomarajapinta. 4.9. ja 11.9.2009

Julkinen sanomarajapinta. 4.9. ja 11.9.2009 4.9. ja 11.9.2009 1 Asiakkaiden nykyiset sanomaliikenneyhteydet Tulliin Nykytilassa sanomaliikenneyhteydet Tullin asiakkaiden tietojärjestelmistä Tullin sovelluksiin välillä hoidetaan operaattoreiden kautta,

Lisätiedot

Sanomakuvausten järjestelmäkohtaiset tiedostot

Sanomakuvausten järjestelmäkohtaiset tiedostot Sanomakuvausten järjestelmäkohtaiset tiedostot Tullihallitus Päivitys 17.9.2012 Tullihallitus Sanomakuvausten järjestelmäkohtaiset tiedostot 1/8 Sanomakuvausten järjestelmäkohtaiset tiedostot Järjestelmäkohtaiset

Lisätiedot

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end 3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot

Successive approximation AD-muunnin

Successive approximation AD-muunnin AD-muunnin Koostuu neljästä osasta: näytteenotto- ja pitopiiristä, (sample and hold S/H) komparaattorista, digitaali-analogiamuuntimesta (DAC) ja siirtorekisteristä. (successive approximation register

Lisätiedot

Todennäköisyys (englanniksi probability)

Todennäköisyys (englanniksi probability) Todennäköisyys (englanniksi probability) Todennäköisyyslaskenta sai alkunsa 1600-luvulla uhkapeleistä Ranskassa (Pascal, Fermat). Nykyisin todennäköisyyslaskentaa käytetään hyväksi mm. vakuutustoiminnassa,

Lisätiedot

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? 2013-2014 Lasse Lensu 2 Algoritmit ovat deterministisiä toimintaohjeita

Lisätiedot

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

..128.214.4.29.. itää saada selville P-osoitetta vastaava erkko-osoite. leislähetyksenä ysely: Kenen IPsoite. IP-paketissa on vain vastaanottajan ..128.214.4.29.. IP-paketissa on vain vastaanottajan IPosoite A B:n verkkoosoite..128.214.4.29.. B 128.214.4.29 66-55-44-33 22-11 itää saada selville P-osoitetta vastaava erkko-osoite. leislähetyksenä

Lisätiedot

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle.

Lisätiedot

Johdanto. Tiedonsiirtoverkkojen perusteista

Johdanto. Tiedonsiirtoverkkojen perusteista Tiedonsiirtoviiveet Johdanto Internetissä liikkuva tieto siirretään pienissä paketeissa. Se kuinka nämä paketit liikkuvat siirtotiellä vaikuttaa suoraan käyttäjän kokemukseen internetyhteyden laadusta.

Lisätiedot

Jatkuvat satunnaismuuttujat

Jatkuvat satunnaismuuttujat Jatkuvat satunnaismuuttujat Satunnaismuuttuja on jatkuva jos se voi ainakin periaatteessa saada kaikkia mahdollisia reaalilukuarvoja ainakin tietyltä väliltä. Täytyy ymmärtää, että tällä ei ole mitään

Lisätiedot

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3 Suorat ja tasot Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3.1 Suora Havaitsimme skalaarikertolaskun tulkinnan yhteydessä, että jos on mikä tahansa nollasta

Lisätiedot

HARJOITUSTYÖ: LabVIEW, Liiketunnistin

HARJOITUSTYÖ: LabVIEW, Liiketunnistin Tämä käyttöohje on kirjoitettu ESR-projektissa Mikroanturitekniikan osaamisen kehittäminen Itä-Suomen lääninhallitus, 2007, 86268 HARJOITUSTYÖ: LabVIEW, Liiketunnistin Tarvittavat laitteet: PC Labview

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

5.3 Ensimmäisen asteen polynomifunktio

5.3 Ensimmäisen asteen polynomifunktio Yllä olevat polynomit P ( x) = 2 x + 1 ja Q ( x) = 2x 1 ovat esimerkkejä 1. asteen polynomifunktioista: muuttujan korkein potenssi on yksi. Yleisessä 1. asteen polynomifunktioissa on lisäksi vakiotermi;

Lisätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

Lisätiedot

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio 21.11.2008 Harri Laine 1 Joidenkin järjestelmien sisältömallissa on erotettavissa luokkia, joiden ilmentymien käyttäytymisen kuvaaminen, kirjaus

Lisätiedot

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8) WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8) 1 UUDEN KILPAILUTIEDOSTON AVAUS Avaa Wcondes ohjelma tuplaklikkaamalla wcondes.lnk ikonia. Ohjelma avaa automaattisesti viimeksi tallennetun kilpailutiedoston.

Lisätiedot