Kurssikokeen 7.3.2002 arvostelusta


Tehtävien arvostelijat:

  1. Auvo Häkkinen

  2. Jukka Heiskanen

  3. Liisa Marttinen

  4. Liisa Marttinen



1. TCP/IP-protokollapino ja TCP/IP-verkko (14 p)

a) Piirrä TCP/IP-protokollapino ja nimeä sen eri kerrokset sekä aseta TCP/IP-protokollapinon oikeissin kerroksiin seuraavat protokollat PPP, DNS, UDP, ARP? (6p)


tasot nimetty oikein = 2p, kukin protokolla = 1p

- protokollapino: kurssikirja kuva 1.23

- DNS sovelluskerroksella, UDP kuljetuskerroksella, ARP verkkotasolla ja PPP

linkkikerroksessa


b) Piirrä kuva TCP/IP-verkosta, jossa on sekä reitittimiä, runkoverkko, silloilla ja keskittimillä yhteenliitettyjä lähiverkkoja ja isäntäkoneita. (2 p)


2p: kaikki komponentit mukana ja sijoittelu oikein

-1p: joku osa puuttuu tai sijoitettu selvästi väärin

-2p: paljon puutteita / virheitä, tai ei mitään tolkkua..


- kurssikirja kuva 5.28, 5.35


c) Mitkä TCP/IP-protokollapinon kerrokset on toteutettava keskittimissä, silloissa, isäntäkoneissa ja reitittimissä? (4p)


1p: silta = fyysinen ja linkkitaso

1p: reititin = fyysinen, linkki ja verkkotaso

1p: isäntä = kaikki tasot

1p: keskitin = fyysinen taso


Pisteen sai vain täysin oikeasta vastauksesta.


d) Mitä tarkoittaa pakettikytkentäinen (packet switched) verkko? Millä tavoin pakettikytkentä on parempi kuin piirikytkentä? (2 p)


d) Kumpikin kysymys a' 1p.

Erityisesti piti selittää pakettien reitittymisestä sekä siitä, että pakettikytkentä varaa linjakapasiteettia vain siirron ajaksi. Vertailu!


Tehtävän 1 keskiarvo 9.36/14


Pistejakautuma:

0: XX

1: X

2: X

3: XXX

4: XXXX

5: XXX

6: XXXXXX

7: XXXXXX

8: XXXXXXXXXXXX

9: XXXXXXXXXXXX

10: XXXXXXXXXXXXXXXXXX

11: XXXXXXXXXXXXXXXXXXX

12: XXXXXXXXXXXXXXXXXXXXXXXXXXX

13: XXXXXXXXXXXXXXX

14: XXXXXXXXXXXXXXXX


2. Hidas aloitus (slow start) (18 p)

a) Käytetään TCP-protokollaa, jossa segmentin maksimi koko on 2 KB ja kynnysarvo (threshold) on 16 KB. Vastaanottajan ikkunan koko on 18 KB. Esitä kaaviokuvana, kuinka lähettäjä lähettää yhteyden alussa ensimmäiset 100 KB, kun kuittaukset lähetettyihin segmentteihin saapuvat ajoissa eikä vastaanottaja muuta vastaanottoikkunan arvoa? (6 p)



läh. määrä kok. määrä

2 kb 2 kb

4 kb 6 kb

8 kb 14 kb

16 kb 30 kb

------------------------ kynnysarvo 16 kb

18 kb 48 kb

18 kb 66 kb

18 kb 84 kb

16 kb 100 kb


Hitaalla aloituksella ruuhkaikkunaa kasvatetaan segmentin maksimikoosta (MSS) 2 kb aloittaen. Lähetettävää määrää aina kaksinkertaistetaan kynnysarvoon 16 kb asti, jolloin ruuhkaikkunaa kasvatetaan lineaarisesti vain MSS:n verran. Koska vastaanottajan ikkunan koko on 18 kb, ruuhkaikkunan kasvatus lopetetaan siihen.


b) Esitä kaaviokuvana, miten lähettäjä jatkaa lähetystä, jos kuittausta ei saada ollenkaan siihen

lähetykseen, jossa siirretää 50. kilotavu ja käytössä on pelkkä hidas aloitus. (4p)


18 kb 48 kb

18 kb ---------X

|

|

|-> Ajastin laukeaa


2 kb 50 kb

4 kb 54 kb

8 kb 62 kb

------------------------- kynnysarvo 8 kb

10 kb 72 kb

12 kb 84 kb

14 kb 98 kb

2 kb 100 kb


Kun uudelleenlähetysajastin laukeaa, lähetetään kaikki 50 kb sisältäneet paketit uudestaan hitaalla aloituksella. Sammalla kynnysarvoksi asetetaan puolet uudelleenlähetystä edeltäneen ruuhkaikkunan arvosta eli 18/2 kb = 9 kb


c) Miten lähettäjä jatkaisi lähetystä, jos käytössä olisi nopea uudelleenlähetys (fast retransmission) ja nopea toipuminen (fast recovery)? (4 p)



Kun lähettäjä saa kolme toistokuittausta samalle paketille, lähettäjä tulkitsee paketin kadonneen ja se lähettää sen heti uudestaan ilman uudelleenlähetysajastimen laukeamisen odotusta (Nopea uudelleenlähetys). Tällöin myös ruuhkaikkuna pudotetaan puoleen ( 8 kb) ja jatketaan lähetystä kasvattamalla ruuhkaikkunan kokoa lineaarisesti segmentin koolla ( 10 kb, 12 kb, 14 kb, 16kb, 18 kb) aina vastaanottajan ikkunan kokoon asti (nopea toipuminen).


d) Miksi uudelleenlähetysajastimen arvon oikea asetus on ruuhkanvalvonnassa niin tärkeää? Miten TCP-protokollassa sen arvo saadaan? (4 p)


Uudelleenlähetysajastimen arvon (UAA) asettaminen oikeaksi on tärkeää ruuhkan havaitseminen ja siihen reagoimisen kannalta. Jos UAA on liian lyhyt, tulkitsee lähettäjä kuittausten saapumisen ”myöhässä” ruuhkaksi vaikka kyse olisi siitä, että kuittauksen perilletulo kestää kauemmin kuin UAA. Tämä taas aiheuttaa toistuvia hitaita aloituksia ja verkon kapasiteetin vajaakäyttöä.


Jos UAA on liian pitkä, lähettäjä jatkaa pakettien lähettämistä verkkoon vaikka niitä olisikin hukkunut matkalla (ruuhkan takia), sillä lähettäjä olettaa kuittausten olevan vielä matkalla. Tämä aiheuttaa lisää ruuhkaa jo ennestään ruuhkaiseen verkkoon


UAA arvo muuttuu dynaaminen ja sen laskeminen perustuu kiertoviiveeseen (RTT). Sen laskukaavoissa painotetaan aikaisempia kietoviiveen arvoja seuraavien kaavojen mukaisesti


RTT = RTT + (1 – )M = 7/8 M = viimeisen segmentin RTT


D = D + (1 – ) | RTT –M|


UAA = RTT + 4 * D


Tehtävän 2 keskiarvo = 10.63/18


Pistejakautuma:

0: XXXXX

1:

2: XXXXX

3:

4: XXXXX

5: XX

6: XXXX

7: XXXXX

8: XXXXX

9: XXXXXXXXXXX

10: XXXXXXXXX

11: XXXXXXXXXXXXXXXXXXXXXX

12: XXXXXXXXXXXX

13: XXXXXXXXXXXXX

14: XXXXXXXXXXX

15: XXXXXXXXXXXXX

16: XXXXX

17: XXXXXXXXXXX

18: XX



Tehtävä 3.

Miten ns. tuntumaton silta (transparent bridge) osaa ohjata kehyksen oikeaan lähiverkkoon? (6 p)


Sillalla on siltataulu:


Silta välittää eteenpäin vain kehyksiä, joiden vastaanottaja on eri puolella siltaa kuin missä kehys kulkee. Jos välitettävän kehyksen vastaanottajakone löytyy sillan siltataulusta, kehys lähetetään osoitetta vastaavaan porttiin. (1 p)


Jos vastaanottajakonetta ei löydy siltataulusta, niin kehys tulvitetaan kaikkiin muihin portteihin paitsi siihen, josta se on vastaanotettu. (1 p)


Pisteitä on saanut suunnilleen edellä olevan mukaisesti.

Miinuspisteitä on tullut mm. seuraavista:


Tehtävän 3 keskiarvo 2.99/6 pistettä.


Pistejakautuma:

0: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 31 (yllättävän moni jätti vastaamatta)

1: XXXXXXXXXXX 11

2: XXXXXXXXXXXXXXXXXX 18

3: XXXXXXXXXXXXXXXXX 17

4: XXXXXXXXXXXXXXXXXXXXX 21

5: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 30

6: XXXXXXXXXXXXXXXXX 17



4. Etäisyysvektorireititys(Distanse vector routing) (12 p)

a) Miten reitittimet päivittävät reititystaulunsa etäisyysvektorireititystä käytettäessä? (4p)

  1. Mittaavat kustannuksen välittömiin naapurireitittimiin ja rakentavat näistä reititystaulua: reititin, kustannus, minkä naapurin (portin) kautta (1 p)

  2. Vaihtavat reititystaulujensa tiedot välittömien naapureittensa kanssa asynkronisesti, tietyin väliajoin ja/tai oman reititystaulun muuttuessa => saavat tietoja muista reitittimistä ja kustannuksista niihin (1 p)

  3. Laskevat uudet reititystaulut naapureitten kertomien tietojen avulla: muihin reitittimiin pienimmän kustannuksen tarjoaman naapurin kautta (kustannus X:ään naapurin Y kautta = kustannus naapuriin Y + naapurin Y ilmoittama kustannus X:ään) (2 p)


b) Esitä, miten kuvan reitittimen A reititystaulun sisältö muuttuu, kun reititykseen käytetään etäisyysvektorireititystä. Oletetaan aluksi, että A:n reititystaulu on tyhjä. (4p) (4 p)









C 5 C:n kautta


oletetaan esim. että myös B ja C aloittavat alusta.

B: Kohde kustannus mitä kautta

A 1 A:n kautta

C 3 C:n kautta

D 2 D:n kautta


A:

Kohde kustannus mitä kautta

B 1 B:n kautta

C 4 B:n kautta ( 1+3; C:n kautta olisi 5!)

D 3 B:n kautta (1+2; uusi tuttavuus )


C:

kohde kustannus mitä kautta

A 5 A:n kautta

B 3 B:n kautta

D 1 D:n kautta

E 1 E:n kautta


A:

kohde kustannus mitä kautta

B 1 B:n kautta (C:n kautta olisi 5+3 =8)

C 4 B:n kautta (C:n kautta 5)

D 3 B:n kautta (C:n kautta 4+1 = 5)

E 5 B:n kautta (4+1 =5)



Päivitys voisi tapahtua myös toisessa järjestyksessä: ensin C ja sitten B, mutta lopputulos olisi sama.

Tai voi myös olettaa, että B:llä ja C:llä on jo valmiit reititystiedot kaikkiin muihin reitittimiin paitsi A:han. Lopputulos on tällöinkin sama.


Pisteitä on saanut karkeasti seuraavanlaisesti:

1 p, jos on yrittänt jotain oikean suuntaista

2 p, jos jonkinlainen reititystaulu saatu A:lle laskettua

3p, jos saatu lähes oikeat reititystaulutA:lle

4 p , jos reititystaulut oikeat ja hyvin perustellut



c) Näytä esimerkeillä, kuinka etäisyysvektorireititystä käytettäessä 'hyvät uutiset leviävät nopeasti ja huonot uutiset hitaasti'. Miten tätä ongelmaa on pyritty ratkaisemaan?( 4 p)


Esimerkeissä voi käyttää joko yksinkertaistettuja verkkoja tai kuvan verkkoa, mikä on hieman hankalampaa.

A B C D E



Kustannus A:han:

1 2 3 4


Kun yhteys A-B katkeaa (= 'huonot uutiset')

B C D E

ääretön <--> 2 <--- > 3 <---- > 4

3 4 3 4

5 4 5 4

5 6 5 5

7 6 7 6

7 8 7 8

9 8 9 8

jne eli hitaasti kustannukset A:han kasvavat kohti ääretöntä

('count to infinity')


Tätä voidaan nopeuttaa, jos reititin valehtelee kustannuksen (tässä A:han) äärettömäksi sille reitittimelle, jonka kautta sen reitti kulkee. (split horizon with poisonous reverse)


Kustannus A:han:


B C D E

ääretön ääretön ääretön

ääretön <= 2 <= 3 <= 4

ääretön ääretön 3 4

ääretön ääretön ääretön 4

ääretön ääretön ääretön ääretön



Nyt 'huonot uutiset' leviävät yhtä nopeasti kuin 'hyvät uutiset' eli joka vaihdolla yhden hypyn eteenpäin.


Tämä ei tosin aina toimi, mutta sitähän tässä ei kysytty!


Arvostelu:

1 p jos osannut selittää hyvän uutisen leviämisen

1 p jos osannut esittää huonon uutisen leviämisen suurinpiirtein, 2 p jos ihan oikein

1 p jos selittänyt ehdotetun ratkaisun. (Jos on esittänyt oikein perusteellisen selvityksen, niin tällä

on voinut hieman korvata pieniä puutteita uutisten leviämiskohdissa ja saada tehtävästä

täydet 4 pistettä.)



Tehtävän 4 keskiarvo oli 6.72/12 pistettä

Pistejakautuma:

0: XXXXXXXXXXXXXXX

1: X

2: XXXXX

3: XXXXX

4: XXXXXXXXXXXX

5: XXXXXXXXXXXXXX

6: XXXXXXXXXXXX

7: XXXXXXX

8: XXXXXXXXXXXXXXXXXX

9: XXXXXXXXXXXXXXXXXXX

10: XXXXXXXXXXXXXXXXXX

11: XXXXXXXX

12: XXXXXXXXX