Tietoliikenne I, kevät 2004

Harjoitus 4 (17.-20.2.2004)

  1. Vastaa lyhyesti seuraaviin kysymyksiin. Vastaukset yleensä löytyvät suoraan luennosta tai kurssikirjasta.
    1. Mikä on kolminkertainen kättely (three-way handshake)? Miksi TCP:ssä tarvitaan kolminkertainen kättely? Eikö kaksinkertainen kättely riitä?
    2. Mikä on hidas aloitus (slow start) ja nopea toipuminen (fast recovery)?
    3. Miksi TCP:n ruuhkanvalvonnassa on niin tärkeää, että uudelleenlähetysajastimen arvo on asetettu oikein? Miten arvo saadaan? Mitä tapahtuu, jos arvo on liian pieni tai liian suuri?

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

  3. TCP-protokollan suorituskyvyn rajoituksia
    1. TCP-protokollassa oletusarvoinen segmentin koko on 536 tavua, elinaika 4 minuuttia ja järjestysnumerolle on varattu 32 bittiä. Lisäksi TCP-protokollassa käytetään tavunumerointia. Mikä tällöin on yhden TCP-yhteyden maksimaalinen linjanopeus? 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 535 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?

  4. 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 yhdessä segmentissä voidaan lähettää korkeintaan 2 KB (= maximum segment size). 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.

  5. 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.

  6. Tulvitus (flooding)
    1. Oletetaan, että allaolevassa verkossa solmu A lähettää paketin tulvittamalla. Oletetaan vielä, että jokaisen linkin (kaaren) ylittäminen kestää yhden aikayksikön eikä paketin lähettämiseen ja vastaanottamiseen kulu lainkaan aikaa. Kuinka pakettien lähettäminen jatkuu? Kuinka monta pakettia on kaikkiaan lähetetty neljän aikayksikön jälkeen?
    2. Mitä erilaisia tapoja voisi käyttää estämään pakettien jatkuva ja yhä lisääntyvä tulvitus verkkoon?
    3. Missä tilanteissa tulvituksesta ylipäänsä voi olla hyötyä?