582202 Tietoliikenteen perusteet (4 op)

Liisa Marttinen

Kurssikuulustelu 25.2.2009
Kirjoita jokaisen vastauspaperisi yläreunaan nimesi, opiskelijanumerosi tai syntymäaikasi ja allekirjoituksesi.

*********************************************
Arvosteluperusteet, tehtävä 1
arvostelija: Harri Hämäläinen
************************************************
1. Internetin osoitteista [20 p]
  1. Millaisia osoitteita on käytössä Internetin protokollapinon eri kerroksissa? (8 p)
    Tehtävän ydinsisältö:
     * Sovelluskerros: yleisemmin domain-nimet, sähkäpostiosoitteet,
       URL-osoite tai suora IP-osoite. Sovelluskerroksella voidaan kuitenkin 
       käyttää pitkälti millaisia osoitteita tahansa.
    
     * Kuljetuskerros: porttinumerot tai pistokeosoite (IP-osoite, porttinumero) 
       -pari, esim. http:n yleisesti käyttämä porttinumero 80, ssh 22
    
     * Verkkokerros: IP-osoitteet (IPv4 osoitteen pituus 32 bittiä, IPv6 osoitteen
       pituus 128 bittiä), luokaton tai luokallinen osoite
    
     * Linkkikerror: MAC-osoitteet verkkolaitteissa (esim. 48-bittinen
       Ethernet-osoite), valmistajatunnus + yksilöllinen laitetunnus
    
    Pisteytys:
     1 p / kerros - oikea kerros ja osoitteen tyyppi
     1 p / kerros - lyhyt kuvaus millainen osoite tai esimerkki
    
  2. Miten ylemmässä kerroksessa selvitetään alemman, sille palvelua tarjoavan kerroksen käyttämä osoite? Toisin sanoen kun tiedetään kerroksella n käytetty vastaanottajan osoite, niin miten saadaan selville kerroksen n-1 käyttämä osoite? (10 p)
    Tehtävän ydinsisältö:
      * Porttinumeron selvittäminen mahdollista esim.
         * eksplisiittisesti sovelluksella tiedossa
         * käyttöjärjestelmän tarjoaa palveluna palvelu<->porttinumero -kuvauksen
         * Verkossa olevien palvelun löytämiseen omia protokollia
      * Domain Name System (DNS) 
      * Address Resolution Protocol (ARP) linkkikerroksella
        * IP-osoite ARP-kyselyssä yksilöi keltä kysytään
        * Linkkikerros sinänsä ei tiedä tuon taivaallista IP-osoitteista, 
          ARP käyttääkin hyväkseen verkkokerroksen tietoja
    
    Pisteytys:
     1-2 p - porttinumeron selvittäminen sovelluskerroksella
     1-4 p - DNS
        2 p   - verkkokerroksen osoitteen selvittäminen DNS:llä
        1-2 p - lyhyt selostus miten tapahtuu
     1-4 p - ARP
        2 p   - linkkikerroksen osoitteen selvittäminen ARP:lla
        1-2 p - lyhyt selostus miten tapahtuu
    
  3. Miten DHCP-protokolla liittyy osoitteisiin? (2 p)
    Tehtävän ydinsisältö:
     * DHCP (Dynamic Host Control Protocol) on protokolla, jonka avulla verkon
       koneet saavat tarvittavat verkkoasetukset (esim. IP-osoite, DNS-palvelijoiden
       osoitteet, ...) verkkoon kuuluvalta DHCP-palvelijalta. 
    
    Pisteytys:
     1 p - DHCP:n tarkoitus kerrottu
     1 p - DHCP:n toimintaa / käyttöä avattu lauseella tai parilla.
    




*********************************************
Arvosteluperusteet, tehtävä 2
arvostelija: Jaakko Sorri
************************************************

2. Reitityksestä [20 p]
Paketit reititetään Internetissä lähettäjän koneelta vastaanottajan koneelle.

  1. Mikä on reititystaulu, missä se sijaitsee ja miten sitä käytetään? Mikä on reititysalgoritmi ja mihin sitä tarvitaan? (6 p)
  2. Selvitä etäisyysvektorireitityksen (distance vector routing) toiminta pääpiirteissään. (4 p)
    - aluksi solmut tuntevat etäisyyden vain naapureihinsa (mitataan) ja alkavat
      sitten vaihdella tietojaan toistuvasti (1p)
    - solmut vaihtavat tietojaan VAIN naapuriensa kanssa (1p)
    - jos tietojenvaihdossa löytyy uusi solmu tai halvempi reitti, päivitetään tietoja (1p)
    - selitys siitä, miten halvempi reitti löydetään (1p)
    
    Tässä kohdassa oli harmillisen paljon vastauksia, jotka VAIKUTTIVAT siltä, kuin algoritmi olisi ymmärretty oikein, mutta selitys jäi puutteelliseksi ja seurauksena oli pistemenetyksiä. Esimerkit olivat valttia!

  3. Oletetaan, että kuvan verkon solmut B, C, D ja E ovat jo saaneet omat reititystaulunsa lasketuksi, kun verkkoon lisätään solmu A. Esitä yksityiskohtaisesti, miten ja miksi solmun A reititystaulun sisältö muuttuu, kun käytetään etäisyysvektorireititystä. (10 p)
    kuva
    
    10p: alku- ja lopputilanne oikein, välivaiheet käyty läpi ja perusteltu selkeästi
     7p: alku- ja lopputilanne oikein, välivaiheetkin näkyvissä, mutta perustelut epätäsmällisiä
     5p: alku- ja lopputilanne oikein, mutta välivaiheet eivät näkyvissä TAI 
         periaate selvästi ymmärretty, mutta lopputuloksessa jotain vikaa
     3p: oikean suuntaisia ajatuksia, mutta algoritmin toiminta
         ei tule esiin, tai selitys on virheellinen
     0p: esim. pelkkä lopputilanne
    


*********************************************
Arvosteluperusteet, tehtävä 3
arvostelija: Liisa Marttinen
************************************************
3. Ruuhkanhallintaa [10 p]
Käytetään TCP-protokollaa ja segmentin maksimikoko (MSS) on 2 kB. Kynnysarvo (threshold) on 18 kB. Vastaanottajan ikkunan koko on 20 kB.
  1. Esitä kaaviokuvana, kuinka lähettäjä heti yhteyden alussa lähettää 100 kB dataa, kun kuittaukset lähetettyihin segmentteihin saapuvat ajoissa eikä vastaanottaja muuta vastaanottoikkunan arvoa. (5 p)
      1 segmentti       hidas aloitus
      2 segmenttiä          ="=
      4 segmenttiä          ="=
      8 segmenttiä          ="=
      9 segmenttiä (olisi 16 segmenttiä, mutta kynnysarvo rajoittaa ruuhkaikkunan)
     10 segmenttiä (ruuhkan välttelyä: ruuhkaikkuna kasvaa yhdellä)
     10 segmenttiä (kasvaisi taas yhdellä, mutta nyt rajoittaa vastaanottoikkuna)
     10 segmenttiä  (tai 6 segm. jos lähetys päättyy tähän)
    

    Kun TCP-yhteys on muodostettu, niin datan lähetys aloitetaan hitaalla aloituksella ja kun kynnysarvo on saavutettu jatketaan ruuhkan välttämisellä. Ruuhkaikkuna kertoo, paljonko lähettävä TCP saa lähettää ennenkuin sen täytyy jäädä odottamaan kuittausta. Mutta myös vastaanottoikkuna rajoittaa lähettämistä: lähetysikkuna = minimi{ruuhkaikkuna, vastaanottoikkuna}.

    Hitaassa aloituksessa ruuhkaikkuna kasvaa eksponentiaalisesti eli aina kun saadaan kuittaus yhdestä segmentistä, saa lähettää kaksi uutta.

    Ruuhkan välttelyssä ruuhkaikkuna kasvaa lineaarisesti eli aina yhtä RTT:tä kohden yhdellä segmentillä. Toteutus voi olla joko: joka kuittauksella kasvattaa hieman ruuhkaikkunan kokoa (esim. MSS(MSS/CongWin) tai aina yksi segmentti lisää, kun ruuhkaikkunallinen on kuitattu.

    Kuvia, jotka ehkä selventävät asiaa.

    Arvostelusta: Pisteitä on saanut karkeasti seuraavista asioista:

    Vääristä numeroarvoista on voitu ottaa -1/2 tai -1 piste riippuen asian vakavuudesta.

  2. Oletetaan, että lähetetyn datan 50. kilotavun sisältävä segmentti katoaa, mutta muuten segmentit ja kuittaukset siirtyvät virheettöminä vastaanottajalle. Esitä kaaviokuvana, miten lähettäjä jatkaa lähetystä, jos
    1. käytössä on nopea uudelleenlähetys (fast retransmission) ja nopea toipuminen (fast recovery) eli Reno-versio. (3 p)
      Puuttuva segmentti lähetetään heti, kun saadaan kolmas toistokuittaus. Uusi kynnysarvo on puolet lähetysmäärästä, samoin ruuhkaikkunan uusi koko. Lähetystä jatketaan ruuhkan välttelyvaiheella.
      Jos ajastin ehtii laueta, niin toimitaan kuin Tahoe-versiossa.

      Puuttuva segmentti on 26. segmentti, joka sisältää tavut 50000-51999. Tässä vaiheessa lähetysikkuna on 10 segmenttiä => uusi ikkuna = uusi kynnysarvo = 5 segmenttiä. Segmentin 26. kuittaus kuittaa mahdollisesti myös kaikki sen jälkeen lähetetyt eli 27.-35. segmentit. (TCP tallettaa myös 'väärässä järjestyksessä' saadut kelvolliset tavut.) Kun segmentti + sen jälkeiset on kuitattu, niin jatketaan lähettämällä segmentit 36. - 40. eli tavut 70000-79999. Ruuhkaikkuna kasvaa yhdellä = 6.

      Puuttuva segmentti   2 kB
      5 segmenttiä        10 kB 
      6 segmenttiä        12 kB  
      7 segmenttiä        14 kB  (Tämä jo riittää, jos kaikki oikein tulleet kuitataan samalla 
      8 segmenttiä        16 kB   kuin se puuttuva!)
      
      
      Arvostelusta:
      • edellytyksenä kolme toistokuittausta 1/2-1 p
      • uusi kynnysarvo 1/2 p
      • uusi ruuhkaikkunan koko 1/2 p
      • ruuhkan välttely 1/2 p
      • ajastimen laukeaminen 1/2 -1 p

    2. käytössä on Tahoe-versio (ei nopeaa uudelleenlähetystä eikä nopeaa toipumista). (2 p)

      Nyt vasta ajastimen laukeaminen (timeout) aiheuttaa puuttuvan segmentin uudelleen lähettämisen. Tässäkin uusi kynnysarvo on puolet lähetysmäärästä (=5 segmenttiä eli 10 kB), mutta nyt aloitetaan hitaalla aloituksella (slow start). Hidasta aloitusta jatketaan kynnysarvoon saakka ja sen jälkeen siirrytään ruuhkan välttelyvaiheeseen (congestion avoidance).

      Puuttuva segmentti   2 kB
      1 segmentti          2 kB
      2 segmenttiä         4 kB
      4 segmenttiä         8 kB
      5 segmenttiä        10 kB eli siirrytään välttelyvaiheeseen
      6 segmenttiä        12 kB (Tämä jo riittää, jos kaikki oikein tulleet kuitataan samalla 
      7 segmenttiä        14 kB  kuin se puuttuva)
      
      Arvostelusta
      Noin 1/2 pistettä jokainen asia.
      Yhden pisteen on saanut, kun aloittaa ajastimen laukeamisen jälkeen hitaalla aloituksella.
      Toisen pisteen on saanut, kun muistaa kynnysarvon ja sen jälkeisen ruuhkan välttelyn.
Kuvia, jotka ehkä selventävät asiaa.

Tehtävän pistejakauma:

Tehtävän pistejakauma:
0: xxxxxxxxxxx
1: xxx
2: xx
3: xxxxx
4: xxxxxx
5: xxxxxxxxxxxxxxxx
6: xxxxxxxxxx
7: xxxxxxxxxx
8: xxxxxxxxxxxxx
9: xxxxxxxxxxx
10:xxxx
Tehtävän keskiarvo oli 5,6 p

Toistuvia virheitä: