58069-8 Tietoliikenne Loppukoe 17.8.1999 1. Vastaa lyhyesti seuraaviin kysymyksiin: (kukin kohta a' 3 pistettä => 15 p) a) Tiedonsiirron suorituskykyyn liittyvät mitat bps ja baudi. Mitä ne ovat? Miten ne riippuvat toisistaan? Baudi kertoo linjan signaalin tasomuutosten (signaalielementtien )määrän sekunnissa. Bps ilmoittaa, kuinka monta bittiä sekunnissa linjalla siirtyy. Näiden suhde riippuu bittien koodauksesta ja signaalin tasojen määrästä. Jos signaalissa on vain kaksi tasoa, jotka vastaavat bittejä 0 ja 1, niin linjan suorituskyky bps ja baudeina on yhtä suuri. Jos tasoja on enemmän, niin kukin tasomuutos ei vastaakaan enää yhtä bittiä, vaan usean bitin jonoa. Tällöin bps on suurempi kuin baudien määrä. Neljällä tasolla voidaan muutos voi esittää kahta bittiä, kahdeksalla kolmea bittiä eli yleisesti log2 (tasojen lukumäärä). Esim. modeemien nopeutta on kasvatettu lisäämällä signaalin tasoja. Joissakin tapauksissa voi baudimäärä voi olla suurempi kuin bps. Tällöin kunkin bitin esittämiseen käytetään useaa signaalinmuutosta. Esim. CDMA:ssa (Tanenbaum s. 271-275) yhden bitin lähetämiseen voidaan käyttää 64 tai 128 signaalinmuutosta. b) Mikä on Nyquistin ja Shannonin lakien oleellinen sisältö? Nyquist määrää teoreettisen ylärajan tiedonsiirtotiheydelle yli häiriöttömän kanavan: * suoraan verrannollinen kaistanleveyteen * suoraan verrannollinen siihen, kuinka monta bittiä yhteen signaalielementtiin voidaan koodata Shannon määrää teoreettisen ylärajan ottaen huomioon kohinan vaikutuksen tiedonsiirtotiheyteen: * signaalitehon kasvaesssa yläraja kasvaa signaali-kohina -suhteen logaritmin mukana c) Kuvaa lyhyesti, mitä ovat amplitudimodulointi, taajuusmodulointi ja vaihemodulointi. Piirrä asiaa selventävät kuvat. Kaikissa näissä, amplitudimoduloinnissa, taajuusmoduloinnissa ja vaihemoduloinnissa binääritieto eli digitaalisessa muodossa oleva tieto koodataan analogiseksi. Menetelmästä riippuen tieto koodataan siniaallon (kantoaallon) amplitudiin, taajuuteen tai vaiheeseen. Vastauksessa kukin tapa tuli esittää kuvana, josta selkeästi käy ilmi koodausperiaate. 1 p kustakin => 3 pistettä d) Selvitä Pulse Code Modulation -tekniikan toiminta periaate. Mihin tekniikkaa käytetään? PCM-tekniikalla koodataan analoginen data eli mielivaltainen aaltoliike digitaaliseksi tiedoksi. Aaltoliikkeen amplitudista otetaan näytteitä määrävälein ja havaittu amplitudin arvo muutetaan digitaaliseksi. Jos näytteitä otetaan riittävän tiuhaan eli Nyquistin kaavan perusteella 2 *W (kaksi kertaa aaltoliikkeen korkein frekvenssi), niin saadaan talteen kaikki aaltoliikkeen informaatio. Digitalisointi tapahtuu siten, että aaltoliikeen amplitudin mahdolliset arvot on jaettu n:ään peräkkäiseen tasoon (n on jokin kakkosen potenssi esim. 64, 128, 256, ..) ja se mihin näistä tasoista havaittu amplitudi kuuluu määrää sen arvon bitteinä. Esim. jos tasoja on 256 niin tasoon 16 tasoon kuuluvat amplitudiarvot koodataan bittijonoksi 00010000. Mitä enemmän tasoja, sitä tarkemmin aaltoliike pystytään esittämään. Toisaalta sitä enemmän bittejä joudutaan käyttämään yhden arvon esittämiseen. Tasoja on aina rajallinen määrä. Käytetään esim. puhelinlinjoilla koodattaessa analoginen signaali digitaaliseen muotoon. Tällöin näytteitä otetaan 8000 sekunnissa eli näyte 125 mikrosekunnin välein ja käytössä tasoja 128 tai 256. e) Mitä ovat HIPPI ja FDDI? Mitä niillä tavoitellaan? HIPPI (Tanenbaum s. 325-326): datakanavastandardi supertietokoneiden ja niiden oheislaitteiden väliin. Lyhyet etäisyydet, suuret nopeudet: kaapeli, jossa 50 kierrettyä paria => 800 Mbps, kaksi kaapelia => 1600 Mps. FDDI (Tanenbaum s. 319-322) kuituoptiikkaan perustuva vuororengas, jossa tavallista lähiverkkoa paljon suurempi nopeus (100 Mbps), laajempi peittoalue ( etäisyydet yli 200 km) ja johon voidaan liittää paljon enemmän koneita (jopa 1000). Tarkoitettu lähinnä MAN-verkoksi. Toistaiseksi käytössä lähinnä runkoverkkona. Kaksi kuiturengasta, joissa tieto siirtyy eri suuntiin. Aseman vikaantuessa se voidaan poistaa renkaasta ja kahdesta renkaasta muodostuu yksi pitkä rengas. Perusprotokolla hyvin samantapainen kuin vuororenkaassa. Suurin ero siinä, että renkaassa voi kiertaa samanaikaisesti useita vuoromerkkejä. Tavoitellaan tavallista lähiverkkoa paljon suurempia nopeuksia (vähintään 100 Mbps) ja FDDI:llä lisäksi laajempaa aluetta palvelevaa luotettavaa verkkoa. 2. Lähiverkkoja yhdistetään silloilla (bridge). Tärkeimpiä siltoja ovat tuntumaton silta (transparent bridge) ja lähdereitittävä silta (source routing bridge). Kuvaa, miten kummassakin sillassa kehys reititetään lähiverkon A solmusta N1 lähiverkon B solmuun N2. Millä periaatteella reititystiedot on muodostettu? Miten tiedot hankitaan ja miten niitä ylläpidetään? (15 p) Tuntumaton silta (Tanenbaum s. 310-313) ---------------- Lähiverkossa A kiinni oleva silta B1 huomaa verkossa A kulkevan kehyksen, joka on osoitettu toiseen verkkoon solmulle N2. Koska silta B1 on tuntumaton silta se tutkii kaikki kehykset, jotka kulkevat niissä verkoissa, joihin silta on yhdistetty. Silta B1 päivittää omia tietojaan näiden kehysten avulla. Koska paketti (B.N2) ei ole vielä oikeassa verkossa, silta tutkii 'reititystaulukoistaan' mihin verkkoon kehys tulee välittää. Jos tieto löytyy, niin silta välittää kehyksen ko. verkkoon. Jos ei löydy, niin silta välittää kehyksen kaikkiin muihin verkkoihinsa paitsi siihen, mistä se tuli. Lähettäjän ei tarvitse tietää mitään verkon topologiasta. Silta ylläpitää taulukkoa, johon se kerää tietoa siitä, mistä portista kukin kone löytyy. Solmun N2 osoite löytyy sillan taulukoista, jos solmu N2 on aikaisemmin lähettänyt jotain sillan B1 verkkoihin. Taulukon ylläpito eli tietojen keruu: Aluksi sillan taulukot tyhjät. Silta kuuntelee kaikkea siihen liittyvissä verkoissa kulkevaa liikennettä ja tutkii kaikki kehykset. Se poimii kehyksistä niiden lähettäjät ja vie taulukkoonsa tiedon lähettäjästä ja lisää portin siihen verkkoon, jossa kehys kulki. Takaperin oppiminen: Kun verkkoon A on tullut kehys koneelta N, niin jatkossa koneelle N menevät paketit voi lähettää verkkoon A. Tietoja päivitetään koko ajan ja vanhentuneet (aikaleima) tiedot poistuvat muistista. Tulvituksen käyttö tuo ongelmia: sillat eivät saa muodostaa silmukkaa, jossa tulvitetut kehykset koko ajan vain lisääntyisivät. Jotta tuntumaton silta toimisi oikein, silloista täytyy muodostaa ns. virittävä puu. Tämä varmistaa sen, että sillat eivät muodosta silmukoita. Toisaalta virittävä puu ei toimi mitenkään optimaalisestii, vaan jättää monia siltojen välisiä yhteyksiä hyödyntämättä. Lähdereitittävä silta (Tanenbaum s. 314-315) --------------------- Koska silta B2 on lähdereitittävä silta, se tutkii kehyksessä olevaa reittiosoitetta LAN A, B2, LAN N, Bn, ... Bb, LAN B ja löytää siitä oman osoitteensa. Koska sen osoitetta seuraa LAN N, silta ohjaa kehyksen verkkoon N. Vastaavasti aikanaan silta Bb tutkii osoitetta ja ohjaa kehyksen verkkoon LAN B. Lähdeosoitteen suurin bitti ilmoittaa, onko kehys jo oikeassa verkossa vai pitääkö se ohjata eteenpäin toiseen verkkoon. Reittitietojen keruu ja ylläpito: Lähettäjän tulee itse tietää reitti vastaanottajalle. Silta vain tutkii reittiä ja selvittää, onko se itse reitillä eli tuleeko sen välittää kehys eteenpäin. Jos on, se siirtää kehyksen reitin ilmoittamaan verkkoon. Jos lähettäjä ei tiedä reittiä, se lähettää yleislähetyksenä selvityskehyksen (discovery frame), jonka kaikki sillat välittävät eteenpäin. Näin kehys tavoittaa kaikki kohdekoneet. Kun vastaukset tulevat takaisin jokainen silta lisää siihen reititystietoja (oman tunnuksensa ja lähiverkon). Lähettäjä saa vastauksissa eri reittejä ja voi valita niistä parhaan reitin, jonka se sitten tallettaa tulevia tarpeita varten. Vanhentuneet tiedot (silta ei enää toiminnassa, asema on siirtynyt muualle) => väärä reitti => vastaanottajaa ei tavoiteta eli ei tule kuittausta ajoissa. Muutaman yrityksen jälkeen uskotaan, että ongelmana on virheellisen reittitieto ja selvityskehyksellä etsitään uusi reitti. Arvostelusta: ------------ tuntumaton silta 8 pistettä, toiminta reititystilanteessa 3 pistettä: - taulukon käyttö - tulvitus tuntemattomille tietojen hankinta ja päivitys 4 p - aluksi ei mitään tietoja - kehysten kuuntelu - lähettäjätietojen keruu - vanhojen tietojen poistaminen silmukoiden poistaminen virittävällä puulla 1 p lähdereitittävä silta 7p toiminta reititystilanteessa: -lähettäjä antaa reitin 2 p -silta tutkii ja tarvittaessa välittää 2 p tietojen hankinta ja ylläpito: 3 p - tietojen kerääminen selvityskehyksen avulla - kehyksen lähetys tulvittamalla - vastausten saaminen - parhaan reitin valinta ja talletus 3. Mitä tarkoitetaan ruuhkalla? Miksi vuonvalvonta on paljon helpompaa kuin ruuhkanvalvonta? Kuinka ruuhkanvalvonta hoidetaan atm-verkossa? Kuinka ruuhkanvalvonta hoidetaan TCP-verkossa? Kerro vain ruuhkan valvonnan pääperiaatteet ja keinot, älä kaikkia yksityiskohtia. (15 p) Mitä ruuhkalla tarkoitetaan? (1 p) Verkon (tai sen osan) kuormitus suurempi kuin verkon käsittelykapasiteetti niin että verkon suorituskyky laskee. Miksi vuonvalvontaa on hankalampaa? (2 p) Vuonvalvonta vain kahden osapuolen välinen,vain yksi vaikuttaja, ruuhkanvalvontaan vaikuttaa monta tekijää. Vuonvalvonnassa suora palaute, ruuhkanvalvonnassa ei suoraa palautetta. Myös palaute vaikuttaa ruuhkaan. TCP-verkko ( 6p) (Tanenbaum s. 536-542) TCP-verkossa varsinainen ruuhkanvalvonta hoidetaan kuljetuskerroksella (alemmilla kerroksilla pyritään myös kaikin tavoin (Tanenbaum s. 378) estämään ja vähentämään ruuhkaa. Lähettäjää säätelee kaksi ikkunaa ns. ruuhkaikkuna ja vuonvalvontaikkuna ja lähetystä rajoittaa pienempi näistä ikkunoista. (1 p) Ruuhkaikkunan koko: jos ei ruuhkaa, aluksi pieni ikkuna kasvaa ensin eksponentiaalisesti ja sitten tietyn kynnysarvon ylitytty„ lineaarisesti, (ns. slow start). Kun havaitaan ruuhkaa, niin kynnysarvo puolittuu ja ikkunan arvo alkaa uudelleen kasvaa pienestä alkuarvosta. (2 p) Ruuhka havaitaan siitä, että kuittaukset lähetettyhin sanomiin eivät saavu tarpeeksi ajoissa ja uudelleenlähetysajastin laukeaa. (1 p) Uudelleenlähetysajastimen arvoa päivitetään koko ajan mittaamalla, kuinka kauan kestää ennenkuin lähetettyihin sanomiin saadaan kuittaukset ja laskemalla saatujen arvojen perusteella uudelleenlahetysajastimelle uusi arvo. (2 p) Atm-verkko (6 p) (Tanenbaum ss.379-392) - liikenteen muokkaus => 2 p purskeisen liikenteen tasoittaminen vuotava ämpäri vuoromerkki ämpäri - liikenteestä sopiminen => 1 p - resurssien varaukset ennen hyväksymistä => 1 p - hillintäpaketit (choke) ja niiden käyttö => 1 p - kuormituksen purkaminen (load shedding) => 1p Pistemäärät eri kohdista ovat vain suuntaa antavia. Yleensä on saanut pisteen jokaisesta ilmoitetusta keinosta. 4. Millaisia menetelmiä käytetään tietoliikennevirheiden havaitsemiseen ja virheestä toipumiseen? Arvioi menetelmien sopivuutta erilaisiin tietoliikenneympäristöihin, kuten lähiverkko, GSM-verkko, puhelinverkko, satelliittiverkko, erittäin nopea verkko (High Speed Network) ja erilaisille sovelluksille kuten tilisiirto, tilausvideo, etäkokous, www-selailu. (15 p) Miten tietoliikennevirheet havaitaan? (Mitä tietoliikennevirheet tässä oikein ovat?) Liitetään tarkistusbittejä: data kehystetään ja kehykseen lisätään tiedon oikeellisuuteen liittyvää lisäintietoa * pariteettibitit, * Hamming-koodi, * CRC (tarkistussumma) Miten toivutaan? * yleensä virheet vain havaitaan ja niistä toivutaan uudelleenlähettämisellä * vastaanottaja ilmoittaa virheestä ja lähettäjä lähettää virheellisen kehyksen uudelleen * lähettäjä ei saa hyväksyvää kuittausta ajoissa ja lähettää sanoman uudelleen * tunnetuimmat menetelmät: valikoiva toisto / go-back * virheen korjaava koodi (Hamming-koodi) * vastaanottaja pystyy itse myös jossain määrin korjaamaan sattuneen virheen (lähetyksessä on riittävästi tarkistustietoa) Miten eri tavat sopivat erilaisiin tietoliikenneympäristöihin? * lähiverkko: vähän virheitä, pieni siirtoviive => melko yksinkertainen tarkistusumma ja uudelleenlähetys: go-back N tai valikoiva toisto sopivat * GSM: melko paljon virheitä, kohtalaisen hidas => korjaava koodi ei kykene toipumaan niin hyvin virhepurskeista, virhetarkistukset ja uudelleenlähetykset ehkä parasta * puhelinverkko: ääntä varten ei tarvita tarkistuksia, datasiirrossa vastaa jossain määrin lähiverkkoa, tosin virheitä enemmän ja ne purskeisempia * satelliittiverkko: pitkät etäisyydet (pitkä viive), suuri kapasiteetti, purskeisia virheitä, joten korjaava koodi toimii huonosti => valikoiva toisto käy, tosin vaatii runsaasti puskuritilaa, go-back N ei ole hyvä (verkon suuri kapasiteetti hukkakäytössä) * erittäin nopea verkko: suuri kapasiteetti, suuri nopeus => valikoiva toisto vaatii runsaasti puskurikapasiteettia, vähän virheitä ja yleensä yhden bitin virheitä, jotka korjaava koodi melko helposti pystyy korjaamaan, kapasiteetti ja nopeus riittää myös korjaavan koodin vaatiman suuremman datamäärän siirtämiseen Miten eri tavat soveltuvat erilaisille sovelluksille? * tilisiirto:ehdottomasti virheetön, ei välttämättä täysin tosiaikainen => melko monimutkainen tarkistussumma ja uudelleenlähetys * tilausvideo: tosiaikainen, mutta voidaan hieman viivyttää / tasoittaa puskuroinnilla => pahasti virheellinen: aloitetaan lähetys uudestaan jostain sopivasta kohtaa, hieman virheellinen: 'paikataan' siedettäväksi * etäkokous: ääni ja kuva tahdistettava => korjaava koodi, jos tarpeen, uudelleenlähetys yleensä ei onnistu * www-selailu: yhteydenmuodostus ja tiedon siirto yleensä melko hidasta, virhetarkistukset ja uudelleenlähetys tarvittaessa, dataa siirretään paljon, monasti virheillä ei suurta merkitystä (esim. kuvia), korjaava koodi turha. Arvostelu: mitä menetelmiä käytetään => 6 p, miten soveltuu eri tilanteisiin : 1 p /tilanne, jos vastaus tarpeeksi järjellinen