582202 Tietoliikenteen perusteet (4 op, 2 ov)
Liisa Marttinen

Erilliskoe 14.11.2008
Kirjoita jokaisen vastauspaperisi yläreunaan nimesi, opiskelijanumerosi tai syntymäaikasi ja allekirjoituksesi.

  1. Internetin protokollapinosta ja protokollista [20 p]
    1. Piirrä Internetin protokollapino ja nimeä sen eri kerrokset sekä kerro lyhyesti kunkin kerroksen tehtävistä.(6 p)
            sovelluskerros (application layer)
            kuljetuskerros (transport layer)
            verkkokerros (network layer)
            linkkikerros (link layer)
            fyysinen kerros (physical layer)
      
      Lyhyt selvitys eri kerrosten toiminnasta tyyliin:
      • Sovelluskerros: eri sovellusten omaa viestintää
        (esim. verkkoselailu (HTTP), sähköposti (SMTP), tiedostonsiirto (FTP), nimipalvelu (DNS)) (Näitä ei tarvinnut mainita)
      • Kuljetuskerros: huolehtii sovelluskerrosten viestien toimittamisesta lähettäprosessilta vastaanottajaprosesille.
      • Verkkokerros: toimittaa kuljetuskerroksen segmentit lähettäjäkoneelta vastaanottajakoneelle yli koko Internetin.
      • Linkkikerros: siirtää paketteja solmulta toiselle. Erilaisia linkkejä varten erilaisia protokollia
      • Fyysinen kerros: siirtää bittejä solmulta toiselle.

      Arvostelusta:

      • kerrosten nimet ja sijainti (3 p)
        väärä nimi - 1/2 p tai väärä paikka -1 p
      • kerrosten toiminta (3 p)
        puutteellinen (-1/2 -1 p) tai väärä (-1p) selvitys

    2. Sijoita seuraavat protokollat oikeisiin kerroksiin: DHCP, UDP, DNS ja IMAP sekä MAC-protokollat. Kerro myös muutamalla sanalla mihin näitä protokollia käytetään (10 p)
      • DHCP sovelluskerroksella; IP-osoitteen (+ muiden tietojen) saamista varten
      • UDP kuljetuskerroksella; kuljetuskerroksen 'epäluotettava' protokolla
      • DNS sovelluskerroksessa; nimipalvelin mm. domain-nimi IP-osoittteeksi
      • IMAP sovelluskerroksella; sähköposti lukua varten
      • MAC-protokolla (ei siis MAC-osoite)linkkikerroksella; esim. ethernet-protokolla yhteisen median käyttöön

    3. Mitkä Internetin protokollapinon kerrokset on toteutettu seuraavissa laitteissa? (4 p)
      1. kytkin (switch): linkkikerros ja fyysinen kerros
      2. isäntäkone (host): Kaikki kerrokset: sovelluskerros ... fyysinen kerros
      3. reititin (router): verkkokerros, linkkikerros ja fyysinen kerros
      4. keskitin (hub): fyysinen kerros
  2. Lähiverkoista [20 p] Kuva verkosta
    Kuvan reititin (router) R2 vastaanottaa toiselta reitittimeltä R1 oman Ethernet-lähiverkkonsa koneelle A osoitetun paketin (datagrammin), joka sisältää HTTP-vastauksen koneen lähettämään HTTP-kyselyyn. Vastauksen lähettäjä on kone B jossain Internetissä. Reitittimen R2 oma lähiverkko koostuu kytkimillä (switch) ja keskittimillä (hub) yhdistetyistä lähiverkoista.

    1. Minkä eri protokollien otsakkeita ja dataa reitittimen R2 vastaanottama paketti sisältää? Piirrä kuva. (3 p)
      
              |-------------------|
              |  IP-otsake        |
              |-------------------|
              |  TCP-otsake       | 
              |-------------------|
              | HTTP-response:    |
              |   otsaketiedot +  |
              |   vastaustiedosto |    
              --------------------
      
      Jos on vielä laittanut tämän linkkitason kehykseen, niin siitä ei ole mennyt pisteitä, jos kehyksen sisällä on ylläolevat asiat.
      Reititin sinänsä käsittelee vain verkkokerroksen datagrammeja, mutta reitittimessa on myös linkkitason toiminnot ja protokolla.

      Arvostelusta:
      Jokaisesta oikeassa järjestyksessä olleesta ja oikean nimisestä otsakkeesta yksi piste.

    2. Minkä muotoisena reititin R2 lähettää paketin kytkimelle? Piirrä kuva, josta selviää erityisesti eri kerroksilla käytetyt osoitteet. (5 p)

      R2 lähettää saamansa paketin kytkimelle Ethernet-kehyksessä:

                                
                                    
              |-------------------|  Ethernet-otsake: 
              | MAC-kehys         |    Source: 1A-23-F6-CD-06-9B  (=R2)
              | (Ethernet)             Destin: 88-B2-2F-54-1A-0F   (=A) 
              |-------------------|    
              |                   |  IP-otsake:
              |  IP-otsake        |    Source: 222.11.6.7 (=B)     
              |                   |    Destin.: 22.35.41.3 (=A)  
              |-------------------|
              |  TCP-otsake       | (TCP-otsake:
              |                   |   Source port: B:n portti 80
              |                   |   Destin. port: A:n portti abc)
              |-------------------|
              | HTTP-response:    |
              |   otsaketiedot +  |
              |   vastaustiedosto |    
              --------------------
      
      Tässä tärkeitä ovat MAC- ja IP-osoitteet. Porttinumeroista ei niinkään ole väliä, niitähän ei edes tiedetä.
      IP-paketti on matkalla B:ltä A:lle. Sille reititin on 'tuntumaton'. Ethernet-kehys siirtyy R2:lta A:lle. Sille sekä kytkin että keskitin ovat 'tuntumattomia'.

      Arvostelusta:

      • 2 p IP-paketti Ethernet-kehyksessä
      • 1 p kukin osoite

    3. Miten aliverkkoja yhdistävä kytkin (switch) osaa ohjata saamansa kehyksen oikeaan aliverkkoon? (5 p)

      Tässä haluttiin selvitystä kytkintaulusta, sen sisällöstä ( MAC-osoite, sitä vastaava linkki ja elinaika), tietojen keräämisestä eli takaperin oppimisesta (backward learning, self-learning) (= kaikista kytkimen kautta kulkevista kehyksistä talteen lähettäjän MAC-osoite ja linkki, josta kehys tuli), kytkintaulun käytöstä ( = etsitään MAC-osoitetta vastaava linkki ja lähetetään kehys sinne) sekä toiminnasta tilanteessa, jossa tietoa ei löydykään taulusta (= tulvitetaan kehys kaikkialle). Jos kehyksen lähettäjä on saman linkin takana kuin vastaanottaja, kehystä ei välitetä mihinkään.

      Tässä tapauksessa A on juuri lähettänyt kyselyn B:lle, joten sen tiedot ovat varmaankin vielä kytkintaulussa.

      Arvostelusta:

      • 2 p kytkintaulun sisältö
      • 1-2 p kytkintaulun päivittäminen ('takaperin oppiminen')
      • 1-2 p kytkintaulun käyttö (ohjaus linkkiin tai tulvitus, jos ei löydy taulusta)

      Yleisiä virheitä:

      • kytkin lähettää kyselyn, johon etsitty kone vastaa
      • Kytkin käyttää ARP-taulua.
      • Kykin lähettää automaattisesti kaikkiin linkkeihin

    4. Miten keskitin toimii, kun se vastaanottaa kehyksen? (1 p)

      Keskitin vain toistaa saamansa bitit kaikkiin muihin linkkeihin paitsi siihen, mistä ne tulivat. (Tämä on siis fyysisen tason laite, joka ei tiedä mitään kehyksistä tai MAC-osoitteista.)

      Tämän asian olivat lähes kaikki osanneet!

    5. Missä vaiheessa ja miksi voidaan tarvita ARP-protokollaa? Miten sitä käytetään ja mitkä laitteet käyttävät? (5 p)

      Aina kun on muutettava IP-osoite MAC-osoitteeksi, voidaan tarvita ARP-protokollaa. Jos tietoa (= IP-osoitetta ja sitä vastaavaa MAC-osoitetta) ei löydy ARP-taulusta, osoitetta kysytään ARP -protokollaa käyttäen.
      Kyselijä lähettää lähiverkkoon yleislähetyksenä linkkikerroksen kehyksen, jonka sisällä on verkkokerroksen ARP-kysely “Kenellä on IP-osoite: a.b.c.d?” ja se kone, joka tunnistaa oman osoitteensa vastaa suoraan kyselijälle ja kertoo näin oman MAC-osoitteensa.

      Esimerkiksi, kun R2 haluaa selvittää A:n MAC-osoitteen, se lähettää ARP-kyselyn, johon A vastaa kertomalla oman MAC-osoitteensa:

             |---------------------------------|
             |  Ethernet-kehys:                |
             |                                 |
             | S:1A-23-F6-CD-06-9B (=R2)       |
             | D:FF-FF-FF-FF-FF-FF (kaikille)  |
             |                                 |
             |---------------------------------|
             |  ARP-paketti:                   |
             |                                 |
             | "Kenellä IP-osoite: 11.35.41.3?"|
             |                                 |          
             |---------------------------------|
      
       
      
             |---------------------------------|
             |  Ethernet-kehys:                |
             |                                 |
             | S:  88-B2-2F-54-1A-0F (= A)     |
             | D:  1A-23-F6-CD-06-9B (=R2)     |
             |                                 |
             |---------------------------------|
             |  ARP-paketti:                   |
             |                                 |
             | "IP-osoitetta 11.35.41.3 vastaa |
             |  MAC-osoite   88-B2-2F-54-1A-0F"|          
             |---------------------------------|
      
      (Näitä nyt ei tarvinnut piirtää! Näin tarkkaan tätä ei tässä tarvinnut selittää. Ja todellisessa ARP-paketissa on paljon muutakin tietoa.)

      Koska ARP-kysely toimii verkkokerroksella, niin sitä voivat käydä vain ne laitteet, joissa on verkkokerros eli reitittimet ja isäntäkoneet. Kuvan laitteista mm. A ja B sekä R1 ja R2.

      Arvostelusta:

      • 1 p: IP-osoite => MAC-osoite
      • 2-3 p: ARP-protokollan toiminta: kysely, vastaus, ARP-taulu, verkkokerroksen protokolla
      • 1-2 p: Mitkä laitteet käyttävät yleensä ja/tai tässä

  3. Ruuhkanhallinta Intenetissä [20 p]

    1. TCP-protokollan ruuhkanhallinta perustuu hitaaseen aloitukseen (slow start), ruuhkan välttelyyn (congestion avoidance) ja nopeaan toipumiseen (fast recovery). Mitä näillä termeillä tarkoitetaan? (6 p)

    2. Käytetään TCP-protokollaa, jossa segmentin maksimikoko 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? (5 p)

      Aloitetaan hitaalla aloituksella: aina kun saadaan kuittaus yhdestä segmentistä lähetetään tilalle kaksi (tai sama asia: kun lähetetty ikkunallinen on kuitattu, kaksinkertaistetaan lähetysmäärä)

                        Ikkunallinen   Kaikkiaan lähetetty
       1 segmentti        2 KB                2 KB
      
       2 segmenttiä       4 KB                6 KB    
      
       4 segmenttiä       8 KB               14 KB
      
       8 segmenttiä      16 KB               30 KB    Kynnysarvo => ruuhkan välttely
      
       9 segmenttiä      18 KB               48 KB    Vastaanottoikkuna rajoittaa!
      
       9 segmenttiä      18 KB               66 KB
      
       9 segmenttiä      18 KB               84 KB
      
       9 segmenttiä      18 KB              102 KB
      
        ........         jos ei muutosta  vastaanottoikkunaan eikä virheelllisiä tai kadonneita segmentteja
      
      Tämän on voinut esittää myös eri tavalla, kunhan esityksestä käy selväksi samat asiat.

    3. Oletetaan, että verkkovirhe hävittää sen segmentin, jossa siirretään 50. kilotavu, mutta muuten segmentit siirtyvät virheettöminä vastaanottajalle.
      1. segmentti sisältää tavut 0 -1999 (
      2.                          2000-  3999
      25. segmentti  sisältää tavut 48000- 49999. eli on se segmentti jossa siirretään 50. kilotavu. 
          Eli tämä  segmentti katoaa.
      
      
      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)

        Koska muut segmentit menevät (26., 27. ja 28. segmentti) virheettöminä perille ja niistä tulee kuittauksia, niin jonkin ajan kuluttua (kun saadaan segmentistä 28. lähetetty kuittaus ack 48000) saadaan kolmas toistokuittaus tälle puuttuvalle segmentille. Kadonnut segmentti lähetetään heti uudestaaan.
        Ja siirrytään ruuhkan välttelyvaiheeseen (ei siis aloiteta hitaalla aloituksella). Kynnysarvo = 9%2 =4 ja samoin ruuhkaikkuna = 4 ja heti kun ruuhkaikkuna sen sallii, lähetetään uusia segmenttejä verkkoon ja saatujen kuittausten myötä kasvatetaan ruuhkaikkunaa lineaarisesti.

        Arvostelusta:

        • kolme toistokuittausta 1p
        • kadonneen uudelleenlähettäminen (nopea uudelleenlähetys) 1/2
        • ruuhkaikkunan uusi arvo 1p
        • ruuhkanvälttely 1/2 p

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

        Kun uudelleenlähetysajastin laukeaa, niin siirrytään hitaaseen aloitukseen. Kynnysarvo = 9%2 =4 Lähetetään ensin puuttuva segmentti ja kun siihen on saatu kuittaus (tämä kuittaa myös kaikki jo lähetetyt), niin voidaan lähettää seuraavaksi 2 segmenttiä, sitten 4 ja sitten 5 (koska kynnysarvo saavutettu).

        Arvostelusta:

        • ajastimen laukeaminen 1/2
        • hidas aloitus 1 p
        • kynnysarvon asettaminen 1/2

    4. Miksi uudelleenlähetysajastimen arvon oikea asetus on ruuhkanvalvonnassa niin tärkeää? Miten uudelleenlähetysajastimelle osataan asettaa sopiva arvo? Mitä tapahtuu, jos arvo on liian pieni? Entä mitä tapahtuu, jos arvo on liian suuri? (4 p)