Tietoliikenne I, kevät 2001

Harjoitus 3 (lauantaina 24.3.2001)

  1. Opiskelija T. Terävä Helsingin yliopistosta lähettää sähköpostia ystävälleen M. Smartille Kaliforniaan Berkeleyn yliopistoon. Hän käynnistää sähköpostisovelluksen, kirjoittaa lyhyen sanoman "Hello! How are you? osoitteena M.Smart@cs.berkeley.edu ja lähettää sen. Mitä sanomalle tapahtuu tämän jälkeen?
    1. Mitä lähettäjän sähköpostisovellus tekee sanomalle?
    2. Mistä postisovellus tietää, minne sanoma on menossa?
    3. Miten ja missä muodossa sovellus luovuttaa sanoman kuljetuskerrokselle?

  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. Miksi 1-bittinen järjestysnumero (käytössä siis numerot 0 ja 1) riittää stop and wait -protokollassa? Tutki protokollan toimintaa ja päättele sen perusteella, että useampia numeroita ei tarvita erottamaan lähetykset toisistaan.
    2. Onko myös kuittaukset ACK ja NAK numeroitava stop and wait -protokollassa? Tutki taas protokollan toimintaa eri tilanteissa ja selvitä, löytyykö tilannetta, jossa numeroimaton ACK tai NAK aiheuttaa ongelmia.

  4. 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. UDP ja TCP käyttävät yhden komplementtia tarkistussummissaan.
    1. Laske UDP-tarkistussumma seuraaville kolmelle 8-bitin sanalle: 0101 0101, 0111 0000, 1100 1100.
    2. Miksi tarkistussummassa ei käytetä suoraan sanojen summaa, vaan summasta otetaan vielä yhden komplementti?
    3. Kuinka vastaanottaja havaitsee siirrossa tapahtuneen virheen?
    4. Onko mahdollista, että vastaanottaja ei havaitse yhden bitin virhettä (eli yhden bitin muuttumista nollasta ykköseksi tai päinvastoin)? Entä kahden tai useamman bitin virhettä?

  6. Tutkitaan liukuvan ikkunan protokollien toimintaa.
    Oletetaan, että häiriöpurske tuhoaa datakehyksen D(n+1) ja edellisen kehyksen D(n) ACK-kuittauksen sekä vielä sitä seuraavan kuittauksen. Simuloi tilanteessa
    1. Go-Back-N -protokollan toimintaa,
    2. Selective Repeat -protokollan toimintaa
    3. Olisiko NAK-kuittauksen käytöstä mitään hyötyä kummankaan protokollan tilanteesa? Mitä haittaa NAK-kuittauksesta voisi olla?
    4. Onko ajastin ihan välttämätön molemmissa protokollissa?