Kurssikokeen 7.3.2003 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 kerää siltatauluunsa ohjaustietoja: eri koneiden MAC-osoitteita ja osoitteen lisäksi tiedon portista, jonka kautta ko. koneiseen pääsee. (1 p) Silta nuuskii tiedot seuraamalla kaikkien omien lähiverkkojensa liikennettä ja jokaisesta verkossa kulkevasta kehyksestä tutkii lähettäjän osoitteen (takaperin opppiminen) (1 p) jos ei ole tiedossa tallettaa sekä osoitteen että verkon portin jos on tiedossa päivittää aikaleiman ja mahdollisesti muuttuneen portin tiedot vanhenevat tietyn ajan kuluttua ja poistetaan siltataulusta (1 p) 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) Jotta tulvitus aikanaan loppuisi eikä täyttäisi koko verkkoa, niin siltojen tulee muodostaa virittävä puu (siltojen välillä ei saa olla silmukoita) (1 p) Pisteitä on saanut suunnilleen edellä olevan mukaisesti. Miinuspisteitä on tullut mm. seuraavista: tulvitetaan kysely kaikille ja sitten kun saadaan vastaus päivitetään siltataulu ja lähetetään kehys oikeaan osoitteeseen ARP-kyselyjen käyttö IP-osoitteiden käyttö 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) Aluksi A:n reititystaulu on tyhjä. Kohde kustannus mitä kautta Sitten A mittaa kustannukset naapurireitittimiinsä => B 1 B:n kautta C 5 C:n kautta A saa B:n reititystaulun sisällön: 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 ja päivittää sen avulla oman taulunsa: 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 ) A saa C:n reititystaulun sisällön: 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 ja päivittää sillä oman taulunsa: 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 miinupisteitä on tullut (1-2), jos ei ole selkeästi esittänyt A:n lopullista reititystaulua miinuspisteitä (2) on saanut, jos laskenut Dijkstran algoritmilla tai jollain muulla tavalla miinuspisteitä (1) on saanut, jos reititystaulu on hieman virheellinen tai esitys muuten hieman puutteellinen 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