Tietoliikenne II

Kurssikoe 9.11.2004

  1. Parannuksia TCP:n ruuhkanvalvontaan (14 p) TCP:n ruuhkanvalvontaan (congestion control) on ehdotettu useita parannuksia. Selvitä, mitä ruuhkanvalvontaan liittyviä ongelmia seuraavat ehdotukset pyrkivät ratkaisemaan ja millä keinoin ne ongelman ratkaisevat eli kerro toiminta pääpiirteissään.

    (Tarkastajana Markku Kojo)

    1. Rajoitettu lähetys (Limited Transmit) (4 p) a. Rajoitettu lähetys (Limited Transmit) (4 p)
       
         Ongelma:  Mikäli TCP:n ruuhkaikkuna on pieni (pienempi kuin  4) tai ikkunasta
                   katoaa runsaasti paketteja, ei vastaanottajalle perille
                   tulevia paketteja ole tarpeeksi kolmen toistokuittauksen
                   aikaansaamiseksi. Tällöin lähettäjä ei voi käyttää nopeaa
                   uudeleenlähetystä, vaan joutuu odottamaan ajastimen
                   laukeamista. Tällöin toipuminen on hitaanpaa ja joudutaan
                   hitaaseen aloitukseen.
      
         Ratkaisu: RFC3042: Kahden ensimmäisen toistokuittauksen saapuessa 
                   lähetetään uusi segmentti, jolloin näiden saapuminen 
                   mahdollistaa tarvittaessa uusien toistokuittausten
                   lähettämisen.
      
         Pisteytys: ongelma 2p, ratkaisu 2p
       
    2. ECN (Explicit Congestion Notification) (5 p)
         Ongelma:  Tavallisesti lähettäjä saa tiedon ruuhkasta vasta, kun
                   segmentti/segmenttejä on kadonnut, jolloin joudutaan
                   toipumaan katoamisesta. Hidasta, tuhlaa resursseja.
                   ECN-mekanismilla ruuhkaan pyritään reagoimaan ilman,
                   että paketteja tarvitsee kadottaa.
      
         ratkaisu: RFC3168: Otetaan käyttöön 2 bittiä IP-otsakkeesta
                   (CE, ECT lipuke) ja TCP-otsakkeessa ECN Echo ja 
                   CWR -lipukkeet. TCP-yhteyden osapuolet sopivat ECN-
                   käytöstä yhteyttä muodostettaessa (SYN:ECN Echo ja CWR;
                   SYN ACK: ECN Echo).
      
                   Reititin käyttää jotakin aktiivista jononhallintamenetelmää
                   (alkavan) ruuhkatilan havaitsemiseksi (tyypillisesti RED,
                   jolloin paketin pudottamisen sijaan se merkitään). 
                   Ruuhkautuessaan reititin asettaa CE-lipukkeen pakettiin
                   (edellyttäen että ECT-lipuke asestettu) ruuhkan merkiksi.
                   Kun TCP-vastaanottaja saa CE-merkityn paketin, se asettaa
                   ko. paketin kuittaukseen (sekä sitä seuraavien pakettien
                   kuittauksiin) ECN Echo-lipukkeen, jolla ilmoittaa lähetäjälle
                   ruuhkasta. Kun lähetäjä saa ECN Echo -merkityn kuittauksen
                   se hidastaa lähetystahtia samoin kuin paketin kadotessa
                   eli puolittaa ruuhkaikkunan sekä ssthresh-kynnysarvon.
                   Tämän lisäksi lähettäjä asettaa CWR-lipukkeen seuraavaksi
                   lähteviin segmentteihin ilmoittaakseen vastaanottajalle,
                   että on reagoinut ruuhkaan ja vastaanottaja voi lopettaa
                   ECN Echo-lipukeen lähettämisen.
      
      
    3. New Reno (5 p)
       Ongelma:  Tavallisessa (Reno) nopean toipumisen ratkaisu toipuu vain
                  yksittäisestä segmentin katoamisesta. Mikäli samasta ikkunasta
                  katoaa useita segmenttejä, joudutaan odottamaan uudelleen- 
                  lähetysajastimen laukeamista. Hidasta.
      
      
        Ratkaisu: RFC3782 (tai RFC 2582): Kun tulee 3 toistokuittausta
                  suoritetaan nopea uudelleenlähetys ja asetetaan cwnd ja 
                  sstresh kuten tavallisesti. Lisäksi talletetaan viimeksi
                  lähetetty järjestysnumero muuttujaan "recover". Kun saadaan
                  kuittaus ja jos se kattaa recover-muuttujaan talletetun 
                  järjestysnumeron, niin nopea toipuminen valmis (vain yksi
                  segmentti katosi). Mikäli kuittaus kuittaa uusia numeroita,
                  muttei recover-arvoon asti, niin kyseessä on osittainen 
                  kuittaus. Tällöin uudelleenlähetetään ensimmäinen kuittaamaton
                  segmentti ja näin jatketaan nopeaa toipumista lähettämällä 
                  kullakin osittaisella kuittauksella ens. kuittaamaton
                  uudelleen kunnes recover-arvo tulee katetuksi.
               
        Pisteytys: ongelma 2p, ratkaisu 3p
      
      


  2. Vastaa seuraaviin kysymyksiin (12 p)

    (Tarkastajana Markku Kojo)

    1. Miksi analogisella puhelinlinjalla on hyvä käyttää melko kapeaa kaistanleveyttä? Miksi taas digitaaliseen lähetykseen tarvitaan mahdollisimman paljon kaistanleveyttä? (4 p)
            Laajempi kaistanleveys sisältää useita taajuuksia. Eri taajuudet 
            etenevät eri nopeudella ja vaimenevat eri tavoin. Täten kapea
            kaistanleveys tuottaa vähemmän virheitä (häiriötä) puhelinlinjan
            analogiselle signaalille, jolla useita tasoja. Linja lisäksi usein
            pitkä. Toisaalta puheen esittämiseen riittää kapea kaista.
      
            Digitaalinen "kantti"-signaali taas sisältää vähemmän tasoja, jotka
            tulee säilyttää vastaanottajalla tunnistettavaksi. Mitä suurempi
            kaistanleveys sitä useampi Fourier-termi kaistaan mahtuu ja siten
            auttaa säilyttämään signaalin muodon oikeampana ja
            tunnistettavana. Lisäksi tietysti suurempi kaistanleveys salii
            suuremmat nopeaudet.
        
         Pisteytys: analoginen 2p, digitaalinen 2p
       
    2. Miten toimii vuoromerkkiämpäri (token bucket)? Entä miten toimii vuotava ämpäri (leaky bucket)? Mihin näitä ämpäreitä voidaan käyttää? (4 p)
            Vuotava ämpäri sisältää rajatun puskurin ja se lähettää (vuotaa) 
            puskuriin tullutta dataa vakionopeudella. Jos datan (pakettiien)
            saapumistiheys on suurempi (esim. isona purskeena) kuin mitä 
            puskuri pystyy tallettamaan, niin ylimenevä data (paketit) katoaa.
      
            Vuoromarkkiämpäri generoi vuoromerkkejä tasaisella tahdilla ja
            kukin vuoromerkki sallii tietyn datamäärän lähettämisen. Mikäli
            lähetettävää ei ole, niin vuoromerkkejä varastoituu ämpärin
            koon määräämä määrä, loput katoavat. Varastoituneet vuoromerkit
            sallivat maksimissaan ämpärin kokoisen purskeen, joka voidaan
            lähettää lähtevän linjan maksiminopeudella. Jos vuoromerkkejä ei
            ole varastoituneena, data lähtee vuoromerkkien generointitahdissa.
            
            Ämpäreitä voidaan käyttää liikenteen tasaamiseen. Vuotava ämpäri
            takaa tasaisen lähetysvauhdin (mikäli lähetettävää), mutta 
            vuoromerkkiämpäri sallii rajoitetun kokoiset purskeet.
          
         Pisteytys: Käyttö 1p, ämpärin toiminnan kuvaus a 1 1/2p 
      
      
    3. Miten kodekki toimii (codec)? Mihin sitä tarvitaan? (4 p)
            Kodekkia tarvitaan muuntamaan puhelinverkon analoginen signaali
            digitaaliseksi (ja päinvastoin). Osa verkosta analooginen, osa
            digitaalinen. Analogisesta signaalista otetaan näytteitä ja
            näytteen arvo (analoogisen signaalin taso) esitetään binääri-
            lukuna (kiinteä bittimäärä). Näytteet koodataan vakiomittausten
            binäärilukujen jonoksi. Mitä enemmän tasoja analogisesta
            signaalista halutaan erottaa (tarkkuus), sitä pidempi binääri-
            luku tarvitaan (esim. 8-bittiä riittää 256 tason esittämiseen).
            Näytteitä pitää ottaa riittävän tiheästi (Nyquist:
            2*maksimitaajuus), jotta saadaan riittävä tarkkuus.
      
         Pisteytys: tarve 2p, toiminta 2p
      
            Melko paljon annettiin myös ei suoraan kurssin aihealueeseen
            kuuluvana compressor/decompressor (codec) vastauksia. Näistä sai 
            pisteitä, muttei täysiä. Tällöin piti osata selittää myös toiminta.
      

  3. Langaton lähiverkko (WLAN) (12 p)

    (Tarkastajana Liisa Marttinen)

    1. Mitä ongelmia, langalliseen Ethernet-verkkoon verrattuna, langattomuus aiheuttaa langattomien lähiverkkojen lähetysvuorojen koordinointiin? (4 p)
      	
           Langallisessa Ethernet-verkossa  lähettäjä  kuuntelee ensin väylää, jotta ei 
           lähettäisi jonkin jo käynnissä olevan lähetyksen päälle. Yhteentörmäys voi tapahtua  
           vain, jos asemat aloittavat lähetyksen niin samanaikaisesti, etteivät niiden lähetykset
           ole etenemisviipeen takia vielä kuultavissa toisessa päässä verkkoa.
           Lähettämisen jälkeen  asema jatkaa linjan kuuntelua ja  heti jos havaitsee yhteentörmäyksen
           (=linjan jännite normaalia suurempi) keskettää lähettämisen. 
           Siis törmäykset ovat harvinaisia  ja lyhytkestoisia.
            
           Langattomassa verkossa ei pelkällä kuuntelulla pystytä yhtä tehokkaasti huomaamaan 
           muiden  häiritseviä ja törmäyksiä aiheuttavia lähetyksiä. 
           Piiloaseman ongelma: Vaikka halukas lähettäjä ei itse kuule lähetystä, niin silti 
           vastaanottajan  ympäristössä voi olla lähetys käynnissä. Piiloaseman ongelman voi 
           aiheuttaa fyysinen este tai signaalin normaali heikkeneminen.
           (Vastaavasti on exposed station-ongelma, jossa kuuntelija havaitsee lähetyksen, 
           mutta todellisuudessa se ei häiritse vastaanottajaa.)
      
           Myös törmäysten havaitseminen langattomassa verkossa  on vaikeaa: pitäisi samanaikaisesti  
           kyetä itse lähettämään (voimakas signaali) ja vastaanottamaan toisen lähettämä 
           signaali (heikko signaali). => Mitään törmäyksen havaitsemista ei käytetä.
           Siis törmäykset ovat melko yleisiä ja pitkäkestoisia (tuhoavat koko sanoman) ja näin 
           paljon kalliimpia kuin langallisessa lähiverkossa. => tarvitaan erilainen protokolla.
      
           Kurose & Ross: ss. 508-509, 518.
           
        Pisteytys: 
           - piiloaseman ongelma (2-3 p)
           - törmäysten havaitsemisen vaikeus (1 p)
           - törmäysten kalleus (1 p)
      
    2. Miten lähetysvuorojen koordinointi hoidetaan langattomassa IEEE 802.11b -standardin mukaisessa lähiverkossa? (8 p)
             
           Koordinoinnissa käytetään CSMA/CA-protokollaa, joka pyrkii mahdollisimman paljon 
           välttämään törmäyksiä eli toimimaan niin, ettei samanaikaisia lähetyksiä pääsisi 
           syntymään. Kun sitten lähetetään, lähetetään koko kehys kerralla. Koska törmäyksiä 
           usein  kuitenkin sattuu ja langaton linkki on muutenkin häiriöalttiimpi, vastaanottaja 
           kuittaa kaikki virheettöminä saapuneet lähetykset. Jos kuittausta ei tule ajoissa, 
           niin kehys lähetetään uudelleen.
        
           Lähettävän aseman toiminta:
           Asema kuuntelee ensin, onko kanava vapaa. Vaikka kanava on vapaa, niin asema 
           ei kuitenkaan lähetä heti, vaan odottaa pienen, kiinteän aikavälin ennen lähettämistä. 
           Jos lähetettävänä on itse sanoma, odotetaan hieman pitempi ns. DIFS-aikaväli. 
           Jos lähetetään kuittaus, odotusaika on lyhyempi ns. SIFS-aikaväli. Näin 
           kuittaukset ovat  etuoikeutettuja.
           
           Jos kanava on varattu eli ympäristössä on lähetys käynnissä, asema arpoo itselleen 
           satunnaisen odotusajan ja  asettaa lähetysajastimen. 
           Tätä odotusaikaa kuluu vain silloin, kun kanava on vapaa. Kun kanava on varattu, 
           odotusaikaa ei kulu. Kun ajastin laukeaa, asema lähettää. Lähetys onnistuu, 
           jos siihen saadaan vastaanottajan kuittaus.
           
           Jos lähetys epäonnistuu, valitaan uusi lähetysaika, mutta nyt pidemmästä aikavälistä
           satunnaisesti. 
           
           Hyvin pitkille sanomille voidaan myös käyttää lähetysajan varausprotokollaa:
           - lähettäjä lähettää ensin RTS-sanoman, jossa on ilmoitettu lähetyksen kesto 
             => kaikki lähettäjän ympäristössä olevat aseman osaavat olla lähettämättä.
           - vastaanottaja kuittaa  pyynnön CTS-sanomalla, jolla vahvistaa ottavansa vastaan 
             ilmoitetun pituisen lähetyksen => kaikki vastaanottajan ympäristössä olevat 
             asemat osaavat olla lähettämättä. Kaikki asemat pystyvät laskemaan lähetyksen 
             aloitusjajan ja tietävät sen keston.   
      
          Kurose & Ross: ss. 517-522 (The 802.11 MAC Protocol)
          
        Pisteytys:
           -  CSMA/CA -protokollan nimi 1 p
           -  perustoiminta 0-4 p (jopa  5 p, jos oikein hyvin selitetty)
                   - kuuntelu
      	     - odotusajat DIFS ja SIFS ennen lähettämistä
      	     - satunnainen odotusaika kanavan ollessa varattuna
      	     - lähetyksen epäonnistuessa, pidempi väli, josta odotusaika arvotaan 
      	       (binary backoff)
           - kanavan varaaminen RTS- ja CTS-sanomilla (0-4 p)
           Maksimi pistemäärä kuitenkin 8 pistettä!	         
      
      

  4. Monilähetyksestä (12 p) Oletetaan, että C on valittu alla olevalle verkolle keskussolmuksi keskuspohjaisessa monilähetysreitityksessä. Monilähetyksessä mukana olevat reitittimet A, D, E ja F liittyvät keskussolmuun pienimmän kustannuksen polkua pitkin.

    (Tarkastajana Liisa Marttinen)

    	            1           1
                  B  ---------  C ------- D
    	      | \                    /|
    	      |  \                  / |
    	      |   \                /  |
    	    2 |    \ 2          4 /   | 2
    	      |     \            /    |
    	      |      \          /     |
    	      |       \        /      |
    	      |        \      /       |
    	      |         \    /        |
    	      |          \  /         |
    	      A --- G ----F ----------E 
    	         1    2        1
    	                        
    
    1. Millainen reitityspuu tällöin syntyy? (6 p)

      Pienimmän kustannuksen polkua liittymiseen käytettäessä syntyy seuraava reitityspuu eli kukin solmu liittyy keskussolmuun C 'halvinta' reittiä pitkin. A liittyy B:n kautta, D suoraan, E D:n kautta ja F B:n kautta.

      Koko reitityspuun kustannus on sen reittien yhteenlaskettu summa eli 8.

      	            1           1
                    B  ---------  C ------- D
      	      | \                     |
      	      |  \                    |
      	      |   \                   |
      	    2 |    \ 2                | 2
      	      |     \                 |
      	      |      \                |
      	      |       \               |
      	      |        \              |
      	      |         \             |
      	      |          \            |
      	      A           F           E 
      	             
      	                        
      
    2. Onko tuloksena pienimmän kustannuksen virittävä puu? (2 p) Pelkkä vastaus ei ole, ei riitä. Pitää olla perustelu. Perusteluksi riittää esittää jokin pienempi virittävä puu.

      Ei ole, sillä allaolevan puun kustannus on 7.

      	            1           1
                    B  ---------  C ------- D
      	      |                       |
      	      |                       |
      	      |                       |
      	    2 |                       | 2
      	      |                       |
      	      |                       |
      	      |                       |
      	      |                       |
      	      |                       |
      	      |                       |
      	      A           F---------- E 
      	                       1          
      	                        
      
      Kurose & Ross: ss. 387-390 (SpanningTree Broadcast)
    3. Miten reitittimet tietävät, mitkä isäntäkoneet milloinkin haluavat vastaanottaa monilähetyksiä? (4 p)
            Isäntäkoneet kommunikoivat lähimmän reitittimensä kanssa käyttäen IGMP-protokollaa. 
            - reititin kyselee isäntäkoneilta membership_query-sanomalla niiden ryhmäjäsennyyksiä
            - isäntäkone vastaa membership_report-sanomalla kuuluvansa (yhä) ryhmän vastaanottajiin
            - isäntäkone ilmoittaa leave_group-sanomalla lopettavansa jonkin ryhmän vastaanottamisen
            Protokollan toimintaa  on selvitetty kurssikirjassa (Kurose & Ross: ss. 393-395 
            (Internet Group Management Protocol).
            
            Yhdessä  reitittimet rakentavat monilähetysreititystä käyttäen lähetyspuun, 
            joka yhdistää kaikki ne reitittimet, joiden isäntäkoneet haluavat vastaanottaa tiettyä
            monilähetystä (kuuluvat tiettyyn monilähetysryhmään)
            
         Pisteytys:
          - IGMP-protokolla 2-3 p
          - monilähetysreititys 1-2 p   
      

==============================================================================================================

Data Communications II

Course examination 9.11.2004

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

  1. TCP congestion control improvement (14 p)
    There have been several proposals to improve the TCP congestion control. Explain what TCP congestion control related problems the following proposals try to solve and how they do it i.e. explain their functionality in principal. (14 p)
    1. Limited Transmit (4 p)
    2. ECN (Explicit Congestion Notification) (6 p)
    3. New Reno (6 p)

  2. Answer the following questions (12 p)
    1. Why, for an analog telephone line, it is better to use a pretty narrow bandwidth channel? Why, for a digital transmission, as much as possible bandwidth is needed? (4 p)
    2. What is a token bucket? How does it function? What about the functionality of a leaky bucket? For what purposes can these 'buckets' be used? (4 p)
    3. How does the codec function? Where is it used?(4 p)

  3. Wireless LAN (WLAN) (12 p)
    1. What problems, compared to wired networks such as Ethernet, does wirelessness bring to the coordination of transmissions in wireless LANs?(4 p)
    2. How is the coordination of sending turns handled in wireless IEEE 802.11b LANS?

  4. About multicast (12 p)
    Assume that the node C in the network below is chosen as the center in a center-based multicast routing algorithm. Routers A, D, E and F want to participate in a multicast sending and connect to the central node C using their least-cost path.
    	            1           1
                  B  ---------  C ------- D
    	      | \                    /|
    	      |  \                  / |
    	      |   \                /  |
    	    2 |    \ 2          4 /   | 2
    	      |     \            /    |
    	      |      \          /     |
    	      |       \        /      |
    	      |        \      /       |
    	      |         \    /        |
    	      |          \  /         |
    	      A --- G ----F ----------E 
    	         1    2        1
    	                        
    
    1. Show the resulting center-based multicast routing tree. (6 p)
    2. Is the resulting tree a minimum-cost spanning tree? (2 p)
    3. How do the routers know what hosts want to receive a certain multicast sending? (4 p)