Tietoliikenne II, syksy 2001
Harjoitus 1 (tiistai 30.10.2001)
-
TCP-kerros saa sovellukselta dataa lähetettäväksi. Oletetaan, että dataa on
15 Ktavua ja verkossa voidaan lähettää 1500 datatavun segmenttejä. Esitä, mitä
kaikkia TCP-segmenttejä lähettävän ja vastaanottavan TCP-olion välillä lähetetään ja
missä järjestyksessä niitä lähetetään. Selvitä myös segmenttien oleellisten
kenttien sisältö. Voit olettaa, etteivät vastaanottoikkuna ja ruuhkaikkuna
rajoita tiedon lähettämistä.
-
TCP-yhteydellä linjan siirtonopeus on 100 MBps ja edestakainen viive (RTT)
on 100 ms.
-
Mikä on yhteydellä saavutettava maksiminopeus ilman TCP-protokollan optioita?
-
Millä ikkunaskaalaus (window scale) -option arvolla tällä TCP-yhteydellä
päästään hyödyntämään linjan täyttä siirtonopeutta?
-
Miten ikkunaskaalaus-option käytöstä sovitaan?
-
Esitä kaaviokuvana, miten 'perus'TCP (slow start, retransmission timer,
fast retransmit, fast recovery) selviää seuraavista tilanteista. MSS:n koko
on MSS:n oletusarvo eli 536 tavua (RFC 879) ja lähetysnopeus 100 kbps.
-
Ollaan lähetyksen alussa. Ruuhkaikkunan koko on 2 MSS ja heti ensimmäinen
paketti tulee virheellisenä vastaanottajalle.
-
Ruuhkaikkuna on 8 MSS ja ensin onnistutaan lähettämään yksi segmentti kunnolla
perille, sen jälkeen virheryöppy vääristää 3 seuraavaa segmenttiä.
-
Ruuhkaikkuna on 8 MSS ja toinen segmentti joutuu hieman ruuhkautuneelle
yhteydelle ja se tule vastaanottajalle viivästyneenä vasta neljännen
lähetetyn segmentin jälkeen. Muut segmentit tulevat kyllä järjestyksessä.
Oletetaan kaikissa tapauksissaa, että kiertoaika (round-trip-time) on 200 ms ja
uudelleenlähetysajastimen arvo 3*kiertoaika. Lähetystä rajoittaa vain
ruuhkaikkuna.
-
Esitä kaaviokuvana, miten edellisen tehtävän tapauksista selvitään, jos
käytössä on rajoitettu lähetys (limited transmit). Missä tilanteissa
rajoitetusta lähetyksestä näyttää olevan hyötyä?
-
Esitä kaaviokuvana, miten lähetykset tapahtuvat tehtävän 3 tilanteissa, jos
käytössä on SACK-optio. Missä tilanteissa tästä näyttää olevan hyötyä?
-
Lähettävä TCP noudattaa Naglen algoritmia.
-
Sovellus lähettää dataa tavu kerrallaan. Miten TCP voidaan pakottaa lähettämään
data aina heti, kun se on saapunut? Onko tilanteita, joissa tällainen nopea,
mutta tehoton tiedonsiirto voi olla tarpeellista, jopa välttämätöntä?
-
Voiko Naglen algoritmista olla hyötyä myös "silly window syndroma"
-ongelmaan?