Tietoliikenne I, kevät 2002

Harjoitus 4 (12.-15.2.2002)

  1. Vastaa lyhyesti seuraaviin kysymyksiin. Vastaukset yleensä löytyvät suoraan luennosta tai kurssikirjasta.
    1. Mitä tarkoitetaan kahden armeijan ongelmalla (two-army problem)?
    2. Mikä on kolminkertainen kättely (three-way handshake)? Miksi TCP:ssä tarvitaan kolminkertainen kättely eikö kaksinkertainen kättely riitä?
    3. Mikä on hidas aloitus (slow start) ja nopea toipuminen (fast recovery)?
    4. Miten vuonvalvonta hoidetaan TCP-protokollassa?
    5. Mitä ovat Tahoe, Reno ja Vegas? Miten ne eroavat toisistaan?

  2. 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.
    3. Osoita, että "go back N":ää käytettäessä ikkunan koko saa olla korkeintaan N-1, missä N on käytettyjen sanomanumeroiden määrä.

  3. 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 tilanteessa? Mitä haittaa NAK-kuittauksesta voisi olla?
    4. Onko ajastin ihan välttämätön molemmissa protokollissa?

  4. TCP-protokollan suorituskyvyn rajoituksia
    1. Verkossa on segmentin maksimi koko 128 tavua, maksimi elinaika (time to live) 30 sekuntia ja käytetään 8 bitin mittaista järjestysnumeroa. Mikä on yhden yhteyden suurin mahdollinen datanopeus? Vihje: Numeroita voi käyttää uudestaan vasta, kun edellinen saman numeroinen segmentti on varmasti poissa verkosta.
    2. TCP-protokollaa käyttävä kone lähettää kerrallaan 65 435 tavun määrän (= yhden täyden ikkunan) dataa linjalla, jonka kapasiteetti on 1 Gbps ja viive yhteen suuntaan 10 ms. Mikä on maksiminopeus, jolla kone voi lähettää? Mikä on tällöin linjan käyttötehokkuus? Vihje: Ikkunan koon ilmoittamista varten varatun kentän koko rajoittaa lähettämistä pitkän edestakaisen viiveen omaavilla linkeillä. Linkin suurta kapasiteettia ei pystytä hyödyntämään.

  5. Hidas aloitus (slow start)
    1. Mihin hidasta aloitusta käytetään? Mitä hyötyä siitä on? Voiko siitä olla haittaa? Jos, niin missä tilanteissa?
    2. Käytetään hidasta aloitusta linjalla, jonka kiertoviive (round-trip time) on 100 ms. Linjalla ei ole ruuhkaa ja kuittaukset saapuvat ajoissa. Vastaanottajan ikkuna on 18 KB ja segmentin maksimikoko (MSS) 2 KB. Kynnysarvo (threshold) on aluksi 30 KB. Kauanko kestää, ennenkuin voidaan lähettää ensimmäinen täysi ikkunallinen?
    3. Kun täysi ikkunallinen on lähetetty, siihen ei saadakaan kuittausta ajoissa, vaan uudelleenlähetysajastin (retransmission timer) laueta. Miten lähettämistä jatketaan tämän jälkeen.

  6. Sähköpostisovellus siirtää suurehkon kuvia sisältävän sähköpostin vastaanottajan postijärjestelmään TCP-protokollaa käyttäen. Oletetaan, että siirrossa ei esiinny mitään virheitä tai muita ongelmia. Selvitä, esim. 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.