Tietoliikenne I, kevät 2001

Harjoitus 4 (perjantaina 30.3.2001)

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

  2. Segmentin maksimikoko (MSS) on 2000 tavua. Lähettäjä haluaa lähettää 10 000 tavua dataa linjalle, jonka siirtonopeus on 1 Mbps, ja kiertoviive (round-trip time) lähettäjän ja vastaanottajan välillä 100 ms.
    1. Kauanko kestää tämän datamäärän lähettäminen UDP-protokollaa käytettäessä?
    2. Kauanko kestää, jos sama datamäärä lähetetään käyttäen TCP-protokollaa? TCP-protokollaa käytettäessä ensin on muodostettava yhteys ja sitten datan lähettämistä rajoittaa hidas aloitus.

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

  4. 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?

  5. Verkossa on maksimi TPDU:n koko 128 tavua, maksimi TPDU:n elinikä 30 sekuntia ja 8-bittinen järjestysnumero. Mikä on yhden yhteyden suurin mahdollinen datanopeus?

  6. Mihin UDP-protokollaa tarvitaan? Eikö sovellus voisi käyttää suoraan IP-protokollaa?

  7. Eri verkoissa on erilainen maksimi paketin koolle. Kun paketti Internetissä kulkee verkosta toiseen, niin se voi olla liian suuri seuraavaan verkkoon. Tällöin paketti paloitellaan pienemmiksi osiksi (fragment), jotta se voidaan kuljettaa ko. verkossa.
    1. Kun paketti kulkee erikokoisia paketteja sallivien verkkojen läpi, kannataisiko se aina kahden verkon välisessä reitittimessä koota uudelleen ja sitten tarvittaessa taas paloitella uudelleen? Mitä hyötyä ja haittaa tästä uudelleenkokoamisesta on verrattuna siihen, että paketti aina tarvittaessa paloitellaan pienemmäksi, mutta kootaan vasta vastaanottajsolmussa?
    2. Jokin alkuperäisen paketin (datasähkeen) osa eli fragmentti voi siirrossa kadota. Tämän takia fragmenttien kokoajalla on yleensä ajastin, jonka lauettua keskeneräinen datasähke tuhotaan. Oletetaan, että eräs datasähke kuljetetaan neljänä fragmenttina. Kolme saapuu ajoissa, mutta neljäs myöhästyy, jolloin ajastin laukeaa ja datasähke hävitetään. Jonkin ajan kuluttua se neljäs kuitenkin saapuu paikalle. Mitä sille pitäisi tehdä?
    3. IP-datasähke käyttää "strict source routing" -optiota, joka määrää datasähkeen kulkemaan tiettyä reittiä. Tietosähke joudutaan fragmentoimaan. Pitääkö ko optiotieto kopioida jokaiseen fragmenttiin, vai riittääkö tiedon sijoitus vain ensimmäiseen? Miksi?