581333-1 Tietoliikenne I
Erilliskuulustelu 24.9.2004
Kirjoita jokaisen vastauspaperisi yläreunaan kurssin nimi ja kokeen päivämäärä sekä nimesi, syntymäaikasi ja allekirjoituksesi.

  1. Helsingin yliopiston opiskelija A. Innokas lähettää lyhyen sähköpostiviestin ystävälleen B. Eagerille, joka opiskelee Lontoossa.(24 p)

    1. Mitä tapahtuu sovelluskerroksella? Mitä sovelluskerroksen protokollia käytetään ja missä vaiheessa, jotta A. Innokkaan laatima viesti saadaan toimitettua B. Eagerin postilaatikkoon, josta tämä sitten voi sen lukea kotikoneeltaan? Mitä viestejä näissä protokollissa vaihdetaan? (Tässä ei tarvitse osata sanomien tarkkaa muotoa ja syntaksia, merkitys riittää.) (10 p)

      DNS-protokolla

    2. Kyselyviestejä ja vastausviestejä

      SMTP-protokolla sähköpostin toimittamiseen omalta koneelta omalle postipalvelimelle ja samoin omalta postipalvelimelta vastaanottajan postipalvelimelle

      • yhteyden muodostus: HELO

      • lähetyslupa: MAIL FROM, RCPT TO, DATA

      • varsinaisen sähköpostiviestin lähettäminen

      • yhteyden lopettaminen: QUIT

      Sähköpostin lukeminen omalta koneelta: IMAP, POP3, HTTP

      Arvostelusta:

      • DNS: 2-3 p

      • SMTP: 4-6 p

      • IMAP, POP3, HTTP: 2-4 p


      Arvostelussa on hieman otettu huomioon vastauksen painottuminen. Jos on selvittänyt jotakin asiaa erityisen perusteellisesti, niin siitä on voinut saada suuremman pistemäärän, mutta kokonaispistemäärä on kuitenkin maksimissaan 10 p.

    3. Mitä tapahtuu kuljetuskerroksella? Mitä kuljetuskerroksen segmenttejä ja missä järjestyksessä tarvitaan kuljettamaan sovelluskerroksen viestit? (10 p)

      DNS-kyselyviestit käyttävät UDP-protokollaa. Viesti laitetaan UDP-kehykseen ja lähetetään vastaanottajalle.

      Sähköpostiprotokolla SMTP käyttää TCP-protokollaa sanomiensa välittämiseen:

      • ensin TCP-yhteyden muodostaminen SYN-segmenteillä (kolmivaiheinen kättely)

      • Sähköpostin lähettäminen TCP-segmenteissä:

        • Lähetetään sekä SMTP-protokollaan liittyvät yhteyden muodostus- ja purkamissanomat että se varsinainen sähköpostisanoma

        • TCP pyrkii toimimaan luetettavasti

          • kuittaukset ja uudelleenlähettämiset

          • vuonvalvonta

          • hidas aloitus aina lähetyksen alussa

      • TCP-yhteyden purkaminen SMTP-yhteyden päätyttyä

      Arvostelusta:

      • UDP-protokollan käyttö 2 p

      • TCP-protokollan käyttö 8 p

      • yhteyden muodostus 2

      • sanomien lähettäminen (4 p)

      • kuittaukset ja uudelleen lähettäminen1-2 p

      • vuonvalvonnan maininta 1 p

      • hidas aloitus 1-2 p

      • yhteyden purku 2 p

    4. Mitä sanomille tapahtuu verkkokerroksella? (4 p)

      TCP-segmentit muodostetaan IP-paketeiksi (datasähkeiksi) liittämällä niihin IP-otsake.
      IP-otsakkeessa on m.m. vastaanottajan IP-osoite, josta tiedetään mikä kone on paketin määränpää. IP-paketit annetaan reitittimelle eteenpäin kuljetettaviksi. Reititystaulunsa avulla reititin osaa ohjata IP-paketit seuraavalle reititimelle, joka puolestaan taas löytää omasta reititystaulustaan avulla seuraavan kohteen. Matkalla liian suuri paketti voidaan joutua paloittelemaan ja lähettämään eteenpäin paloina, jotka sitten kootaan määränpäässä. Mikäli paketti ei matkalla pahasti vaurioidu tai joudu ruuhkan takia poisheitetyksi, se aikanaan saavuttaa vastaanottajan koneen, jossa IP-otsake puretaan ja paketti annetaan TCP-kerrokselle.

      Arvostelusta:

      • sanomat ohjataan määränpäähän 1 p

      • sanomat IP-paketteina 1p

      • IP-otsakkeessa on vastaanottajan IP-osoite 1 p

      • reititin ja sen toiminta, reititystaulu 1 p

      • tarvittaessa IP-paketin paloittelu ja kokoaminen määränpäässä 1 p

      • ARP ½ p

      • Etäisyysvektorireititys (Distance vector routing) (18 p)

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

          • mittaavat oman etäisyytensä naapurireitittimiin. Yleisesti mittana käytetään hyppyä eli kukin naapuri on yhden hypyn päässä.

          • Saavat naapureiltaan tiedot näiden etäisyyksistä niiden tietämiin reitittimiin. Vastaavasti lähettävät naapureilleen tiedot omista etäisyyksitään eri solmuihin.

          • Laskevat reitit eri solmuihin eri naapureittensa kautta (reitin pituus X:ään = oma etäisyys naapuriin + naapurin ilmoittama etäisyys siitä X:ään) ja valitsevat näistä lyhyimmät.

          • Reititystauluun tulee kohteen tunniste, reitin pituus ja seuraava reititin reitillä.

        • Oletetaan, että reititin A on juuri lisätty kuvan verkkoon. Muut verkon reitittimet ovat olleet toiminnassa jo jonkin aikaa. Miten A:n reititystaulun sisältö nyt päivittyy, kun reititykseen käytetään etäisyysvektorireititystä? Miten A:n lisääminen verkkoon vaikuttaa muiden reitittimien reititystauluihin? (8 p)

           
             A  
             |    .   1
             |        .
             |1            .
             |       5        .
             B -------------  C
             |            .   |
             |2      .        |
             |   .    1       | 1
               .              |
             D  --------------E
                    3

          Tilanne ennen A:n lisäämistä:

          B:n reititystaulu: 
              kohde  etäisyys seuraava
               C       3       D
               D       2       D
               E       4       D
               
               
          C:n reititystaulu
              kohde etäisyys seuraava
               B       3       D
               D       1       D
               E       1       E 
          
          D:n reititystaulu
              kohde  etäisyys seuraava
               B       2       B
               C       1       C
               E       2       C
               
          E:n reititystaulu
              kohde  etäisyys seuraava
               B       4       D
               C       1       C
               D       2       C 
          

          1. A:n reitystaulun päivittyminen:
          Aluksi A:n reitystaulu on tyhjä. A 'mittaa' (tai muuten saa tietää) omat etäisyydensä naapureihinsa ja laittaa tiedot omaan reititystauluunsa.

          A:n reititystaulu
              kohde etäisyys seuraava 
                B      1        B
                C      1        C

          A saa naapureiltaan B ja C niiden reitystaulut ja oppii tuntemaan D:n ja E:n.

          Etäisyys D:hen  B:n kautta 2 + 1 = 3 ja C:n kautta 1 + 1 = 2.
          Etäisyys E:hen  B:n kautta 4 + 1 = 5 ja C:n kautta 1 + 1 = 2.
          
          A:n reititystaulu
              kohde etäisyys seuraava 
                B      1        B
                C      1        C
                D      2        C
                E      2        C
                

          2. Vaikutus muiden reititystauluihin:
          Kun A lisätään verkkoon B ja C huomaavat sen heti naapureikseen ja niille etäisyys A:han = 1 suoraan A:n kautta.
          D ja E saavat tiedon A:sta naapureiltaan B ja C ja osaavat päivitttää reittitauluunsa solmun A ja etäisyyden siihen sekä tiedon, mille reitittimelle lähetetään.

          D:n reititystaulu:
              kohde   etäisyys  seuraava  
                 A       2         C   
                                        
          E:n reititystaulu
              kohde   etäisyys  seuraava 
                A        2         C

          Lisäksi A:n lisääminen muuttaa etäisyyden B:n ja C:n välillä: etäisyys = 2 ja kulkee A:n kautta ja B ja E huomaamat lyhyemmän reitin toisiinsa.

          • Kun A lähettää omat reititystaulunsa naapureilleen B ja C, nämä huomaavat lyhyemmän reitin toisiinsa kulkevan A:n kautta.

          • Samalla B huomaa myös pääsevänsä A:n kautta lyhyempää reittiä E:hen.

          • Myös E huomaa lyhyemmän reitin B:hen saatuaan C:n uuden reititystaulun.

          Arvostelusta:

          • Miten A:n reititystaulu päivittyy (4 p)
            Aluksi saa selville naapurinsa eli tietää B:n ja C:n (1 p)
            Naapurit B ja C lähettävät omat tietonsa, joista A saa tietää D:n ja E:n ja etäisyydet näihin. Tästä on saanut 1 -3 p sen mukaan, miten asian on selvittänyt ja miten A:n lopullisen reititystaulun on esittänyt. Pelkän lopputuloksen toteaminen eli A:n reititystaulun viime tilanteen esittäminen tuo yhden pisteen!

          • Miten A:n liittäminen vaikuttaa muihin (4 p)
            B ja C huomaavat itse ja merkkaavat A:n omaan tauluunsa
            A:n lähettämistä tauluista B ja C huomaavat lyhemmän reitin toisiinsa kulkevan A:n kautta.
            Samoin B huomaa pääsevänsä lyhempää reittiä A:n kautta E:hen.
            D ja E saavat ensin tiedon A:sta B ja C:n lähettämistä reititystiedoista.
            Kun E saa C:ltä uudet tiedot, joissa etäisyys C-B on 2, niin E päivittää oman etäisyytensä B:hen = 2+1 = 3

          Kukin vaihe 1 p.

        • 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? ( 6 p)

          Esimerkki: Oletetaan, että kustannus A-B on aluksi 10 ja kaikkien muiden linkkien kustannus on 1.

                          10         1       1
                      A ------  B ------ C ------- D 
                             
          Etäisyyskustannuksetlinkkiin A ovat aluksi:
             
                        A       B       C          D
                        -      10      11         12
                        
          Kun  kustannus A-B vähenee 1:een, niin B huomaa sen heti 
          
                        A       B       C          D                      
                        -       1      11         12 
          ja B:n uusien reititystietojen myötä C saa tiedon asiasta ja päivittää omat tietonsa
                        
                        -       1       2         12        
          ja C:n lähetettyä uudet reititystietonsa, myös D saa tietää reitin nopeutuneen. 
          
                        -       1       2          3         

          Huomataan, että uusi hyvä tieto etenee nopeasti, aina yhden askeleen kunkin tiedonvaihdon yhteydessä.

          Kun yhteys A-B huononeekin takaisin 10:ksi, niin reittikustannus kasvaa paljon hitaammin.

                          1         1       1
                      A ------  B ------ C ------- D 
                             
          Etäisyyskustannuksetlinkkiin A ovat aluksi:
             
                        A       B        C          D
                        -       1        2          3
                        
          Kun  kustannus A-B kasvaa 10:een, niin B huomaa sen heti, mutta C tarjoaa parempaa reittiä 
          ja B valitsee tietysti sen:
          
                        A       B       C          D                      
                        -       3       2          3
                        
          ja B:n uusien reititystietojen myötä C huomaa reitin hidastuneen 
                        
                        -       3       4          3        
          C:n lähetettyä uudet reititystietonsa, myös D saa tietää reitin  hidastumisesta. 
          Samoin  B:n reitti vastaavasti hidastuu
          
                        -       5       4          5
                        

          Näin arvio reitin kustannuksista kierros kierrokselta hieman huononee, mutta kestää useita kierroksia ennenkuin kaikki uskovat kustannuksen A:han olevan B:ltä 10, C:ltä 11 ja D:ltä 12. (Se, missä järjestyksessä eri reitittimien reititystaulujen kustannukset muuttuvat, riippuu etäisyystietojen vaihtamisen ajoituksesta.)

          Eräs ratkaisu ongelmaan on ns. halkaistu horisontti ja myrkytetty vastasuunta (split horizon with poisoneus reverse), jossa sille solmulle, jonka kautta oma reitti kulkee valehdellaan kustannus äärettömäksi.

          Esimerkissä siis C kertoo B:lle kustannuksen A:han olevan ääretön, koska C:n reitti A:han kulkee B:n kautta. Tällöin B saa kustannuksen 10 A:lta ja kustannuksen ääretön C:ltä, joten B valitsee niistä pienimmän eli 10:n. Samoin D kertoo C:lle kustannuksen A:n olevan ääretön. Saadessaan kustannuksen 10 B:ltä ja kustannuksen ääretön D:ltä se valitsee niistä pienemmän 10 +1. Näin huono uutinen eli tieto uudesta suuremmasta kustannuksesta etenee samalla tavoin kuin hyvä uutinen eli yhden askeleen kunkin tiedonvaihdon yhteydessä.

          Ongelmana on, että ratkaisu ei toimi kaikissa verkkotopologioissa:

                              A ------------- B
                               \             /
                                \           /
                                 \         /
                                  \       /
                                   \     /
                                    \   /
                                     \ /
                                      C
                                      |
                                      |    Jos tässä  linkki C-D katkeaa tai hidastuu 
                                      |    merkittävästi, niin väärä ja vain hitaasti 
                                      |    huononeva kustannus jää pyörimään  solmujen
                                      D    reititystauluihin.

          Arvostelusta:

          • hyvien tietojen eteneminen 2 p

          • huonojen tietojen eteneminen 2 p

          • ratkaisu ongelmaan 2 p

      • Lähiverkkojen yhdistäminen (18 p)

        • Verkko koostuu useista tuntumattomilla silloilla (transparent bridge) yhteenliitetyistä lähiverkoista. Verkon eräässä lähiverkossa oleva asema A lähettää kehyksen usean sillan takana olevan toisen lähiverkon asemalle B. Miten aseman A lähettämä kehys saadaan toimitettua siihen lähiverkkoon, jossa asema B sijaitsee? Mitä tietoja tähän tarvitaan ja miten tiedot kerätään? (10 p)

          Tehtävässä piti selvittää lähinnä tuntumattoman sillan toiminta:

          • silta oppii keräämällä tietoja (=lähettäjä ja mistä portista sanoma tuli) kaikista sen kautta kulkevista paketeista (2 p)

          • Näistä tiedoista silta rakentaa siltataulunsa, joiden avulla silta osaa ohjata sille tulleet paketit eteenpäin oikeaan porttiin(1 p)

          • siltataulujen tiedot 'vanhenevat' tietyn ajan kuluttua (yleensä muutama minuutti), jollei niitä päivitetä (1 p)

          • tauluissa on siis tiedot: koneosoite ja portti, johon tälle osoiteelle lähetetty paketti ohjataan + aika jolloin viimeksi päivitetty (2 p)

          • Kun silta saa paketin, se näkee siltataulustaan, minne porttiin paketti on ohjattava. Jos paketti on oikealla puolella siltaa (omassa verkossa tai menossa jollekin toiselle sillalle), niin silta ei puutu sen reitittämiseen (2 p)

          • Jos paketin osoitetta ei löydy siltataulusta, niin paketti tulvitetaan kaikkiin portteihin.(1 p)

          • Jotta tulvitetut paketit eivät jäisi pyörimään verkkoon ikuisesti, niin siltojen verkossa ei saa olla silmukoita, vaan siitä on muodostettava ns. virittävä puu.(1 p)

          Arvostelusta:
          Monissa vastauksissa käsiteltiin lähes pelkästään ARP-protokollan toimintaa. Asema A on tässä lähiverkkoom liitetty asema, joka siis lähettäessään kehyksen, lähettää sen lähiverkon MAC-protokollaa noudattaen. Aseman A on ylemmät kerrokset ovat jo tehneet omat tehtävänsä ja IP-kerros on jo selvittänyt vastaanottajn MAC-osoitteen. ARP-protokollan selvittämisestä on saanut vain muutaman pisteen.

        • Lähiverkkojen yhdistämiseen voidaan käyttää myös ns. Ethernet-kytkimiä (switch)? Millainen laite on Ethernet-kytkin ja miten se eroaa sillasta? (4 p)
          Kytkimet selitetty kurssikirjan (2. painos) sivuilla 476-478.

        • Lähiverkkoja voidaan yhdistää myös keskittimillä (hub). Millainen laite on keskitin ja millaisia rajoituksia se asettaa lähiverkkojen yhdistämiselle? (4 p)
          Keskitintä ja keskitinyhdistelyä on käsitelty kurssikirjan (2. painos) sivuilla 467-468

      581333-1 Data Communications I

      Separate examination 16.4.2002

      Write the name of the course, date, your name, identity number and signature on every separate sheet. Books and calculators are not allowed.

      • Student A. Innokas at the University of Helsinki sends a short email message to his friend B. Eager who studies in London.(24 p)

        • What happens in the application layer? What application layer protocols are used and when are they used, so that the message composed by A. Innokas can be delivered to the mailbox of B. Eager and that he can read the message from his home PC? What messages are sent by these protocols? (Not necessary to know the exact format of the messages. It is enough to tell the meaning.) (10 p)

        • What happens in the transport layer? What transport layer segments and in which order are needed to transport the messages of the application layer? (10 p)

        • What happens to the messages in the network layer? (4 p)

      • Distance vector routing (18 p)

        • How do routers using distance vector routing update their routing tables? (4 p)

        • Suppose that the router A has just been added to the network in the picture below. Other routers have already been functional for quite a while. How is the routing table of the router A updated when distance vector routing is used? How does the adding of the router A affect the routing tables of other routers? (8)

             |    .   1
             |        .
             |1            .
             |       5        .
             B -------------  C
             |            .   |
             |2      .        |
             |   .    1       | 1
               .              |
             D  --------------E
                    3
                    
        • Show by examples that when using distanse vector routing, 'Good news travels fast and bad news travels slowly'. What are the proposed solutions to this problem? (6 p)

      • Connecting LANs (18 p)

        • A net consists of several Ethernets that connected by transparent bridges. A station A in one Ethernet sends a frame to a station B in another Ethernet across several bridges. How is a frame, sent by station A, delivered to that networks where the station B is located? What information is needed and how is it collected? (10 p)

        • It is possible to connect LANs using Ethernet switches. What kind of device is an Ethernet switch and how does it differ from a bridge? (4 p)

        • LANs can be connected also by hubs. What kind of a device is a hub and what kind of restrictions does it imply to the connection of LANs? (4 p)