58069-8 Tietoliikenne (4ov) 1. Vastaa lyhyesti seuraaviin kysymyksiin: (14 p) a) Miten baudi liittyy tiedonsiirtoon? (2 p) Katso Tanenbaun s. 79 Baudi on signallointinopeus eli kertoo kuinka monta signaalitason muutosta on sekunnissa. Tiedonsiiron nopeus (bittejä /sekunnissa) riippuus ignallointinopeuden lisäksi tasojen määrästä. Jos käytössä on kaksi tasoa, niin bittinopeus on sama kuin signallointinopeus. Yhteen signaaliin voidaan koodata myös useampia bittejä esim. 8 tasolla voidaan esittää 3 bittiä yhdellä signaalilla. b) Miten Nyquist liittyy tiedonsiirtoon? (2 p) Nyquist määrittelee teoreettisen ylärajan häiriöttämän kanavan tiedonsiirtonopeudelle = 2H log2 V, missä H = kaistanleveys ja V signaalitasojen määrä.eli kaistanleveys rajoittaa tieedonsiirtonopeutta. Samalla Nyquist antaa myös ylärajan järkevälle näytteenottotaajuudelle => kun kaistanleveys on H, niin riittää ottaa näytteitä taajuudella 2H. Näytetaajuuden kasvattaminen ei tuo mitään lisäinformaatiota. c) Miten Fourier-analyysi liittyy tiedonsiirtoon? (2 p) Mikä tahansa jaksollinen signaali voidaan esittää siniaaltojen summana. Esim. digitaalinen 'kanttiaalto' koostuu äärettömästä määrästä siniaaltoja. Kanavalle mahtuvien termien (harmonien) määrä määrää , kuinka tarkkaan signaali, esim. digitaalista signaalia vastaava kanttiaalto pystytään esittämään => rajoitus tiedonsiironopeuteen. d) Mitkä tekijät aiheuttavat sen, ettei vastaanotettu bitti aina olekaan sama kuin lähetetty? (4 p) lähetetty bitti muuttuu siirtovälineessä Bitti vaimenee siirtovälineessä, sitä ei enää havaita (1 p) Bitin vääristyy, koska sen eri komponentit etenevät eri nopeudella ja myös vaimenevat eri tavoin.(1 p) Taustakohina sotkee bittiä esittävää signaalia ja vaikeuttaa sen erottamista ja tunnistamista ykkös- tai nollabitiksi (1 p) terminen kohina, ylikuuluminen, impussikohina lähettäjän ja vastaanottajan kellot eivät ole synkronissa => ajoitusvirheitä ja signaalin arvo otetaan väärästä kohtaa (1 p) väärä arvo liian tiuhaan => ylimääräisiä bittejä liian harvaan => liian vähän bittejä e) Miten toimii deltamodulointi? Mihin sitä käytetään? (2 p) Käytetään analogisen signaalin muutttamiseen digitaaliseksi bittijonoksi. Otetaan näytteitä analogisesta signaalista 2H välein. Eli mitataan signaalin amplitudi pyöristettynä johonkin esim 1-128 käytetystä tasosta. Jos mitattu arvoi on pienempi (tai sama) kuin edellinen tulostetaan 0-bitti ja jos suurempi 1-bitti. Pienempi määrä bittejä kuin PCM:ssä . Ongelmana nopeiden muutosten hidas havaitseminen. (Katso Tanenbaum 123-124) f) Mikä on SONET (2 p) SONET on optisen aikajakokanavoinnin standardi fyysisellä kerroksella. Se on tarkoitettu tarkalla kellolla tahdistettuun lähettämiseen. SONET määrittelee myös standardoidun kanavointihierarkian optisille verkoille. Peruskanava lähettää yhden SONET-kehyksen eli 810 tavua 125 mikrosekunnin välein =>51.84 Mbps. (Katso Tanenbaum s 125-130 ) Arvostelussa on saanut 1/2-pistettä jokaisesta oikeasta SONETiin liittyvästä asiasta . 2. Mitä ruuhkalla tarkoitetaan? (2 p) Verkon (tai sen osan) kuormitus suurempi kuin verkon käsittelykapasiteetti, niin että verkon suorituskyky laskee. Miksi vuonvalvontaa hankalampaa? (3p) Vuonvalvonta vain kahden osapuolen välinen, siinä on vain yksi kuormitusta aiheuttava tekijä, ruuhkan syntymiseen vaikuttaa monta tekijää. Vuonvalvonnassa suora palaute, ruuhkanvalvonnassa ei suoraa palautetta. Myös palaute voi vaikuttaa ruuhkaan. (joka kohdasta yksi piste) Menetelmät verkkokerroksella (Tanenbaum ss 374-392) toimet ruuhkan estämiseksi 1. suunnittelu ruuhkaa kestäväksi => 2p reititys pakettien käsittely (puskurointi, hävittäminen, elinikä) virtuaalipiiri/datagrammi 2.liikenteen muokkaus ja liikenteestä sopiminen => 3 p käyttäjä lupaa käyttää vain sovitulla tavalla purskeisen liikenteen tasoittaminen vuotava ämpäri vuoromerkkiämpäri 3.resurssien varaukset ennen hyväksymistä => 1 p ruuhkasta ilmoittaminen 4.hillintäpaketit (choke) ja niiden käyttö => 2p ruuhkan purlkaminen 5. kuormituksen purkaminen (load shedding) => 2p Pistemäärät eri kohdista ovat vain suuntaa antavia. Yleensä on saanut pisteen jokaisesta ilmoitetusta keinosta ja jos selvitys on ollut hyvä ja perusteltu 2-3 pistettä. 3: IPv6 (Tanenbaum ss. 437-449) osoitekoon kasvattaminen => 4 p osoite 16 tavua, => hyvin runsaasti osoitteita lisätietoja osoitteiden käytöstä IPv4 -osoitteet maantieteelliset osoitteet palveluntarjoajien osoitteet multicast osoitteiden esitysmuoto kehyksen käsittelyn nopeuttaminen => 3 p * yksinkertaisempi, kiinteämittainen kehys,jossa optiot erikseen * tarkistussumman laskeminen pois *paloittelu (fragmentation) pois soveltuvuus erilaisiin tarpeisiin => 4 p * lisää optioita * superkoneen jumbogrammi * multimedia ja tosiaikaisuus turvallisuuspiirteet => 4p * autentisointi salaus 4.Sovellus A siirtää suurehkon, esimerkiksi kuvia sisältävän tiedoston toisessa tietokokeessa olevalle sovellukselle B TCP-protokollaa käyttäen. a)Oletetaan, että siirrossa ei esiinny mitään virheitä tai muita ongelmia. Selvitä kaaviokuvan avulla, mitä tällöin TCP-tasolla tapahtuu eli mitä TCP-segmenttejä, missä järjestyksessä ja milloin lähettäjän ja vastaanottajan järjestelmien välillä vaihdetaan. (10 p) Ennnen kuin tietoa voidaan siirtää on muodostettava koneiden välille TCP-yhteys. Tässä käytetään kolminkertaista kättelyä eli lähetetään segmentit: Connection Request(seq =x) = TCP-segmentti, jossa SYN-bitti asetettu ja ACK- bitti nolla. Järjestysnumero SEQ = x ilmoittaa yhteydellä käytetyn järjestysnumeron ja on samalla tämän segmentin järjestysnumero. Connection Accepted( seq = y, ACK =x+1) = TCP-segmentti, jossa SYN-bitti asetettu ja jossa kuitataan saatu saatu yhteydenpyyntösegmrentti (siis ACK on myös asetettu). SEG = y ilmoittaa tämän puolen käyttämän järjestysnumeron. Ensimmäinen datasegmentti DATA(seq=x+1, ACK = Y+1) kuittaa sitten saadun vastauksen ja aloittaa varsinaisen tiedon siirron. Yhteydenpyynnössä ja vastauksessa ei ollut mitään dataa, mutta tässä segmentissä on. Datan lähettämisessä käytetään hidasta aloitusta (slow start). Ensin lähetetään yhden maksimisegmentin verran dataa. Kun siihen on saatu kuittaus, lähetään kaksi segmenttiä. Taas kun on saatu kuittaus, niin voidaan lähettää neljä segmenttiä ja niin edelleen, kunnes saavutetaan kynnysarvo. Kynnysarvo, jonka alkuarvo on 64 K. Tämän jälkeen jatketaan kasvattamista lineaarisesti segmentti kerrallaan, kunnes vastaanottajan ikkuna rajoittaa lähettämisen tai törmätään ruuhkaan, jolloin aloitetaan uudestaaan hidas aloitus. Ruuhka huomataan siitä, että lähetettyyn segmenttiin ei saada kuittausta ajoissa, vaan segmentti joudutaan lähettämään uudestaan. Lopuksi puretaan yhteys ja käytetään taas kolminkertaista kättelyä nyt yhteyden purkuun: Disconnect Request, Disconnect Request, ACK Segmentti, jossa FIN-bitti on asetettu purkaa yhteyden TCP-segmentit. Oletetaan, että maksimi segmentinkoko on 1 KB. TCP:ssä numeroidaan tavut eikä lähetetyt sanomat, mutta tässä tätä tavunumerointia ei ole käytetty. CR(SYN =1, seq = x) ----> <---- CA(SYN=1, seq = y, ack = x+1) DATA(SYN=0, seq =x+1, ack = y+1, data = 1. KB dataa) ---> <---- ACK(SYN=0, seg=y+1, ack=x+2 DATA(data = 1 KB) ----> DATA(data = 1 KB) ----> <---- ACK DATA(data = 1 KB) ----> DATA(data = 1 KB) ----> DATA(data = 1 KB) ----> DATA(data = 1 KB) ----> <---- ACK kahdeksan maksimisegmenttiä-----> <---- ACK 16 maksimisegmenttiä ------> <---- ACK 32 maksimisegmenttiä ------> <---- ACK 64 maksimisegmenttiä -------> <---- ACK 65 maksimisegmenttiä -----> <---- ACK 66 maksimisegmenttiä -----> <---- ACK jne. Näin jatketaan kunnes vastaanottajan ikkuna (kentässä window size) on pienempi kuin lähetettävien segmenttien määrä, jolloin lähetetään vain vastaanottajan hyväksymä määrä. Huom! Vastaanottaja kuittaa yleensä yksittäisen segmentin heti sen saavuttua, jolloin eksponentiaalisessa kasvuvaiheessa jokaista vastaanotettua kuittausta kohden voidaan lähettää kaksi uutta segmenttiä. Kun kaikki data on lähetetty, niin vielä puretaan yhteys: DR(FIN =1) ----> <---- DR(FIN=1) ACK() ----> b)Entä jos datan siirrossa tapahtuu virhe. Mitä silloin tapahtuu? Kuinka virheestä toivutaan? Kuvaa selkeällä kaaviokuvalla, kuinka tiedonsiirto tällöin jatkuu. (6 p) Jos datan siirrossa tapahtuu virhe eikä kuittausta saavu ajoissa, niin tämä tulkitaan ruuhkaksi. Aloitetaan uudestaan hidas aloitus ja kynnysarvoksi tulee puolet sen hetkisen ruuhkaikkunan arvosta. Uudemmissa toteutuksissa (Reno)on käytössä myös fast retransmission ja fast recovery , joilla havaitaan nopeammin virheellinen tai puuttuva segmentti ja virhetilanteessa ei aloiteta uudestaan hitaalla aloituksella. Näistä ei ole Tanenbaumin kirjassa. Arvostetusta: a)-kohdassa sai 2-3 pistettä yhteyden muodostamisesta, 5-6 pistettä datansiirrosta, josta hitaasta aloituksesta 4 pistettä ja 2 pistettä yhteyden purkamisesta. jos hidas aloitus puuttu => -4 p jos yhteyden avaaminen ja sulkeminen puuttuu => -4 p b)-kohdassa virheen tulkinta ruuhkaksi (1p) ja hidas aloitus (2 p) ja kynnysarvon uudeksi arvoksi puolet sen hetkisestä ruuhkaikkunasta (2 p) Pelkkä virheellisestä segmentistä ilmoittaminen tai ajastimen laukeaminen ja siitä johtuva uudelleen läheys => 2-3 p