Tietoliikenne I, syksy 2000

Harjoitus 3 (3.-6.10.2000)

  1. Kehyksistä ja virhetarkistuksista.
    1. Millaisena bittijono 0111101111101111110 lähetetään linjalla, kun käytössä on 'bitin lisäys' (bit stuffing)?
    2. Käytössä on CRC-tarkistus ja virittäjäpolynomi on X**3 +1. Vastaanotettu kehys on 110101011. Onko kehys virheellinen?
    3. Jos käytetään 'bitin lisäämistä', voiko yhden bitin virhe eli bitin katoaminen, muuttuminen toiseksi tai kahdentuminen aiheuttaa sellaisen virheen, jota tarkistussumma ei huomaa? Perustele vastauksesi. Onko tarkistussumman bittien lukumäärällä merkitystä?

  2. Virheetön 64 kbps satelliittikanava (geostationäärinen satelliitti, etenemisviive 250 ms yhteensuuntaan) lähettää 512-tavun kehyksiä yhteensuuntaan, lyhyet kuittaukset tulevat takaisin toiseen suuntaan. Mikä on suurin mahdollinen nopeus, kun ikkunan koko on 1, 7, 15 tai 127 kehystä?

  3. Stop and wait -protokolla.
    1. Perustele, miksi 1-bittinen järjestysnumero (käytössä siis numerot 0 ja 1) riittää stop and wait -protokollassa?
    2. Onko myös kuittaukset ACK ja NAK numeroitava stop and wait -protokollassa? Perustele vastauksesi.

  4. Ikkunoista ja ikkunaprotokollista.
    1. Yhden bitin liukuvan ikkunan protokollassa samanaikainen aloitus tai liian lyhyt lähettäjän ajastimen laukeamisaika voi aiheuttaa paljon turhia lähetyksiä. Tanenbaumin kirjassa (s. 207) on esimerkki siitä, kuinka samanaikainen aloitus voi aiheuttaa turhia lähetyksiä. Anna esimerkki siitä, kuinka liian lyhyt lähettäjän ajastin voi johtaa samaan tilanteeseen.
    2. Jos ikkunan koko on K, niin valikoiva toisto (Selective Repeat) tarvitsee järjestysnumeroita 2K verran. Anna esimerkki tilanteesta, jossa pienempi järjestysnumeroiden määrä johtaa virheeseen.

  5. Tutkitaan liukuvan ikkunan protokollien toimintaa.
    Oletetaan, että häiriöpurske tuhoaa datakehyksen I(N+1) ja kuittauksen ACK(N) sekä vielä sitä seuraavan kuittauksen. Simuloi tilanteessa
    1. Go-Back-N -protokollan toimintaa,
    2. implisiittistä uudelleenlähetystä käyttävän Selective Repeat -protokollan toimintaa (NAK ei käytössä),
    3. NAK-kuittausta käyttävän Selective Repeat -protokollan toimintaa (NAK(N) ilmoittaa, että kehystä I(N) ei ole saatu).
    4. Onko ajastin välttämätön kaikissa em. protokollissa?

  6. HDLC-protokolla eroaa jossain määrin PPP-protokollasta. HDLC-protokollan toimintaa on selvitetty mm. Tanenbaumin kirjassa s.225-228.
    1. Miksi HDLC-protokolla käyttää osoitekenttää (address)?
    2. Millaisia välineitä HDLC-protokollassa on virheiden käsittelemiseen?
    3. Entä onko HDLC-protokollassa välineitä vuonvalvontaan? Jos on, niin millaisia?
    4. Miksi PPP-protokolla pärjää ilman control-kenttää, vaikka HDLC-protokollassa kontrollikenttä on oleellisen tärkeä? Mihin kaikkiin tehtäviin HDLC-protokollan kontrollikenttää käytetään?