Tietoliikenne loppukoe 5.2.1999

1. a)
Valikoiva toisto
===========
Vastaanottaja hyväksyy myös virheellisen / puuttuvan jälkeiset virheettömät kehykset niin pitkään kuin puskuriin
 (ikkunaan) mahtuu.  Nämä kehykset talletetaan vastaanottajan puskuriin, mutta ne luovutetaan käyttäjälle
 järjestyksessä eli vasta kun  puuttuva tai virheellinen kehys on saatu lähettäjältä. Puskurin koko yleensä ikkunan koko.

Vastaaottaja voi kuitata hyväksymänsä kehykset yksitellen tai sitten kuitata kaikki saadut kehykset ns. kumulatiivisella
kuittauksella, kun välistä puuttuvat kehykset on vastaanotettu virheettöminä.

Lähettäjän tarvitsee lähettää uudelleen vain virheelliset ja puuttuvat kehykset.Lähetyshetkellä asetettu lähetysajastin l
 aukeaa, kun kehyksestä ei ole saatu kuittausta ja lähettäjä lähettää kehyksen uudelleen.

Vastaanottaja voi myös ilmoittaa puuttuvasta ja virheellisestä kehyksestä NAK-kuittauksella.Tämä yleensä nopeuttaa uudelleenlähetystä. Myös myöhemmän kehyksen ACK-kuittaus (yksitäistä kuittausta käytettäessä) tai aikaisemman
kehyksen  toistuva  kuittaus  (kumulatiivistä kuittausta käytettäessä) voi olla merkkinä  puuttuvasta tai  virheellisestä
kehyksestä.

Lähettäjä säilyttää lähetyspuskurissaan lähettämänsä kehykset siihen asti, kun on saanut niistä kuittauksen.
Lähettäjä saa lähettää vain ikkunaan mahtuvat kehykset

Paluu n:ään
=========
Vastaanottaja hyväksyy kehykset vain oikeassa järjestyksessä.
Kun  vastaanottaja saa viallisen kehyksen tai havaitsee kehyksen puuttuvan,  se hylkää kaikki virheellisen /puuttuvan j
 älkeiset  virheettömätkin kehykset ja hyväksyy vain odottamansa kehyksen.

Lähettäjä lähettää uudestaan kaikki virheellisen tai puuttuvan kehyksen jälkeen lähettämänsä kehykset.

Lähettäjän lähetyspuskurissa on lähetetyt kehykset, joista ei ole tullut kuittausta.

Vastaanottajan puskurissa on kehykset, joita ei ole vielä luovutettu käyttäjälle.
Paluu n:ään -menetelmässä vastaanottajan puskuriin mahtuu vain yksi kehys. Jos kehys on kunnossa ja se on
 odotettu kehys, se luovutetaan käyttäjälle. Muuten se hävitetään.

Kuten valikoivassa toistossa lähettäjä asettaa ajastimen kullekin lähettämälleen kehykselle.
Jos kehykselle ei tule kuittausta ja ajastin ehtii laueta, niin kehys lähetetään uudelleen ja jatketaan lähettämistä
 sitä seuraavasta kehyksestä.

Vastaanottaja lähettää ACK-kuittauksen hyväksymistään kehyksistä.
Myös NAK-kuittausta voi käyttää ilmoittamaan virheellisestä tai puuttuvasta kehyksestä.
 ACK-kuittaus implisiittisesti merkitsee, että kuitattuun kehykseen asti kaikki kehykset on kunnolla vastaanotettu.
 
 

Arvostelusta
==========

Jos vastauksessa kävi ilmi kummankin tavan peruspiirteet => 4 pistettä.
Puskureiden käyttö => 3 p
- Mihin käytetään kumpaakin puskuria?
- Miten lähettäjä tietää, että kehyksen voi poistaa puskurista?
- Puskureiden sisältö?

Miten vastaanottaja sai tiedon puuttuvasta tai virheellisestä kehyksestä =>2p
- ajastin (yleensä aina)
- eksplisiittisesti NAK-kuittauksella
- implisiittisesti ACK-kuittauksella
- ja näiden  järkevä käyttö

Yleensä tapahtumien oikea järjestys => 1 p
- tieto puuttuvasta kehyksestä, vasta virheellisen tullessa
- kuittaukset vasta kehysten saavuttua

Muuta:
ACK-kuittaus ei voi olla valikoivassa toistossa sekä yksittäinen että kumulatiivinen, vaan
joko tai.

b) Kehysten numeroinnissa vain 3 bittiä eli K=7 => ikkunan koko
       go back n:ssä korkeintaan K =7
       valikoivassa toistossa (K+1)/2 = 4

Satelliitin viive yhteensuuntaan on noin 250-300 ms eli kestää vähintään 500 ms ennenkuin lähettäjä saa
 vastaanottajalta kuittauksen.

Virheettömässä lähetyksessä
 paluu n:ään
        Lähettäjä pystyy lähettämään  korkeintaan 7 1000 bitin kehystä eli 7000 bittiä, jonka jälkeen se
        jää odottamaan kuittausta, joka tulee noin 0.5 sekunnin kuluttua. Näin lähettäjä pystyy
       enimmillään lähettämään vain 7000 bittiä / 0.5 sekuntia eli  nopeudella 14000 bittiä/s.

valikoiva toisto
       Valikoivassa toistossa ikkunan koko on korkeintaan 4, joten voidaan lähettää vain 4000 bittiä / 0.5 sekuntia
       eli  nopeudella 8000 bittiä/s.

Entä virhetilanteessa?
Paluu n:ään:
     Parhaimmillaan ilmoitus virheestä tulee 0.5 ms kuluttua, joten joudutaan lähettämään uudelleen kaikki,
      mitä on lähetetty 0.5 ms:n aikana.. Virheestä toipumiseen kuluu siis vähintään 0.5 ms.

Valikoivassa toistossa
     lähetetään virheilmoituksen jälkeen vain virheellinen kehys ja jatketaan sitten muiden kehysten lähettämistä
     siitä, mihin virheilmoituksen saapuessa oltiin jääty. Kuitenkin ikkunan täyttyminen rajoittaa kehysten lähettämistä.
     Jos lähetetään suurimmalla mahdollisella nopeudella eli 8000 bittiä sekunnissa, niin ilmoitus virheestä tulee
     juuri kun ikkuna on täyttymässä ja virheellisen kehyksen uudelleen lähetyksen jälkeen ei voidakaan enää
     lähettää mitään muuta.
     Lähettämistä voidaan jatkaa vasta, kun on saatu hyväksyvä kuittaus uudelleen lähetetystä kehyksestä.
     Tämä taas kestää sen 0.5 ms. Tämän ajan lähettäjä joutuu odottamaan ja linja on käyttämättömä.

Näillä arvoilla paluu n:ään toimisi hiukan tehokkaammin kuin valikoiva toisto. Sillä lähetysnopeus olisi 14000 bps
 verrattuna valikoivan toiston parhasimmillaan saavuttamaan 8000 bps. Virheisiin kuluisi kummallakin saman
 verran aikaa eli 0.5 ms. Paluu n:ssä tämä aika käytettäisiin uudelleenlähettämiseen ja valikoivassa toistossa pelkkään odotteluun .
 Tässä säästyisi hieman linjakapasiteettia.

Arvostelusta:
==========
- yleensä valikoiva toisto on parempi => 1 p
- ikkunan koon takia tässä tilanteessa valikoiva toisto voi olla huonompi => 1 p
- kumpikaan ei sovellu hyvin satelliittiyhteyksille näillä arvoilla => 1p
- perustelut ja laskelmat => 2 -5 p

1 p: osasi mainita jotain ylläolevista
2-3 p:  yleiset ominaisuudet
4-5 p:  on vaatinut hieman ylläolevan kaltaista pohdintaa
 

2.
Tuntumaton silta
============
Lähettäjän ei tarvitse tietää mitään verkon topologiasta.
 Silta ylläpitää taulukkoa, jossa on tieto siitä mistä portista kukin kone löytyy.
Silta etsii taulukostaan vastaanottajaa. Jos löytyy, niin kehys lähetetään taulukon ilmoittamaan porttiin. Jos
 vastaanottajaa  ei löydy taulukosta eli kohde on tuntematon, niin kehys tulvitetaan kaikkiin portteihin (paitsi
 sinne, mistä on tullut).

Taulukon ylläpito eli tietojen keruu:
Silta kuuntelee kaikkea siihen liittyvissä verkoissa kulkevaa liikennettä ja tutkii kaikki kehykset. Se poimii kehyksistä
 niiden lähettäjät ja vie taulukkoonsa tiedon lähettäjästä ja lisää portin siihen verkkoon, jossa kehys kulki.
 Takaperin oppiminen: Kun verkkoon A on tullut kehys koneelta N, niin jatkossa koneelle N menevät paketit voi
 lähettää verkkoon A.
Tietoja päivitetään koko ajan ja vanhentuneet (aikaleima) tiedot poistuvat muistista.

Tulvituksen käyttö tuo ongelmia: sillat eivät saa muodostaa silmukkaa, jossa tulvitetut kehykset koko ajan
 vain lisääntyisivät. Jotta tuntumaton silta toimisi oikein, silloista täytyy muodostaa ns. virittävä puu. Tämä varmistaa sen,
että sillat eivät muodosta silmukoita. Toisaalta virittävä puu ei toimi mitenkään optimaalisestii, vaan jättää monia
siltojen välisiä yhteyksiä hyödyntämättä.

Siis lähiverkon A silta tietää, mihin verkkoon solmun N1  solmulle  N2 lähettämä kehys ohjataan. Tämän verkon
silta siirtää  kehyksen taas oikeaan verkkoon ja aikanaan  kehys tulee verkkoon B solmulle N2.

Lähdereitittävä silta
==============
Lähettäjän tulee  itse tietää reitti vastaanottajalle. Reitti esitetään muodossa SILTA, LAN, SILTA, LAN ....
 Silta vain tutkii reittiä ja selvittää, onko se itse reitillä eli tuleeko sen välittää kehys eteenpäin. Jos on, se siirtää
 kehyksen reitin ilmoittamaan verkkoon.

Jos lähettäjä ei tiedä reittiä, se lähettää yleislähetyksenä selvityskehyksen (discovery frame), jonka kaikki sillat
välittävät eteenpäin.  Näin  kehys tavoittaa kaikki kohdekoneet. Kun vastaukset tulevat takaisin jokainen silta lisää
siihen reititystietoja (oman tunnuksensa ja lähiverkon). Lähettäjä saa vastauksissa eri reittejä ja voi valita niistä
 parhaan reitin, jonka se sitten tallettaa tulevia tarpeita varten.

Solmun N1 on ilmoitettava reitti  verkon B solmuun N2: SILTA X, LAN L,  .... SILTA Y, LAN B.

Arvostelusta: tuntumaton silta 8 pistettä,

lähetys 3 pistettä:
- taulukon käyttö
- tulvitus tuntemattomille

tietojen hankinta ja päivitys 4 p
- aluksi ei mitään tietoja
- kehysten kuuntelu
- lähettäjätietojen keruu
- vanhojen tietojen poistaminen

silmukoiden poistaminen
 

lähdereitittävä silta    7p
lähetys:
-lähettäjä tietää reitin 2 p
- silta vain välittää 2 p

ylläpito: 3 p
- tietojen kerääminen selvityskehyksen avulla
 - kehyksen lähetys tulvittamalla
- vastausten saaminen
- parhaan reitin valinta ja talletus
 

3.

Mitä ruuhkalla tarkoitetaan? (2 p)
Verkon (tai sen osan) kuormitus suurempi kuin verkon käsittelykapasiteetti, niin että verkon suorituskyky laskee.

Miksi vuonvalvontaa hankalampaa? (3p)
Vuonvalvonta vain kahden osapuolen välinen,vain yksi vaikuttaja, ruuhkanvalvontaan vaikuttaa monta tekijää.
Vuonvalvonnassa suora palaute, ruuhkanvalvonnassa ei suoraa palautetta. Myös palaute vaikuttaa ruuhkaan.

Menetelmät verkkokerroksella (Tanenbaum ss 374-392)

toimet ruuhkan estämiseksi
- suunnittelu ruuhkaa kestäväksi => 2p
     - reititys
     - pakettien käsittely (puskurointi, hävittäminen, elinikä)
     - virtuaalipiiri/datagrammi
- liikenteen muokkaus ja liikenteestä sopiminen => 3 p
         purskeisen liikenteen tasoittaminen
        vuotava ämpäri
        vuoromerkki ämpäri
- resurssien varaukset ennen hyväksymistä => 1 p
- hillintäpaketit (choke) ja niiden käyttö => 2p
- kuormituksen purkaminen (load shedding) => 2p

Pistemäärät eri kohdista ovat vain suuntaa antavia. Yleensä on saanut pisteen jokaisesta ilmoitetusta keinosta ja
jos selvitys on ollut hyvä ja perusteltu 2-3 pistettä.

4)   IPv6 (Tanenbaum ss. 437-449)

     - osoitekoon kasvattaminen => 4 p

     - kehyksen käsittelyn nopeuttaminen => 3 p
              * yksinkertaisempi, kiinteämittainen kehys,jossa
                optiot erikseen
              * tarkistussumman laskeminen pois
              *paloittelu (fragmentation) pois

     - soveltuvuus erilaisiin tarpeisiin => 4 p
             * lisää optioita
             * superkoneen jumbogrammi
             * multimedia ja tosiaikaisuus

      - turvallisuuspiirteet => 4p
            * autentisointi
            *  salaus