Tietoliikenne
I
Kurssikokeen
12.4.2005 arvostelusta
-
Lähettäjän
verkkoon lähettämät paketit voivat tulla perille
virheellisinä tai kadota kokonaan.
-
Mitkä tekijät aiheuttavat virheellisiä paketteja tai
pakettien katoamisia? (4p)
- Miten vastaanottaja havaitsee
paketin virheelliseksi tai huomaa paketin puuttuvan? Mitä eri
keinoja ja tapoja on käytettävissä? Miten tällaisesta
virhetilanteesta toivutaan? (8 p)
- Miten Internet-protokollat
IP, UDP ja TCP suhtautuvat virheisiin ja virhetilanteesta
toipumiseen? (8 p)
a) -kohdassa haluttiin
seuraavia asioita:
- bittivirheet erityisesti
langattomilla yhteyksillä muuttavat paketin bittejä ja
ryöppyinä voivat hävittää koko paketin;
reititin voi tuhota sopivasti vikaantuneet paketit
- ruuhka verkossa aiheuttaa
reitittimien puskureiden ylivuotoa ja pakettien katoamisia
- huono reititys voi kierrättää
pakettia liian pitkään verkossa, jolloin se hävitetään
elinajan loppumisen takia
- vikaantuneet laitteet voivat
hävittää ja vääristää paketteja
Arvostelussa: 1 piste joka kohdasta.
b)-kohdan vastauksessa haluttiin
seuraavia asioita:
- Virheen tai puuttuvan
paketin havaitseminen
- Vastaanottaja
voi havaita virheellisen paketin pakettiin liitettyjen
tarkistusbittien avulla.(1 p)
- Käytössä
on useita erilaisia menetelmiä, useimmilla vain havaitaan
paketin bittien muuttuneen (2 p eli noin ½ p per menetelmä;
jos on kirjoittanut menetelmästä tarkemmin, niin on voinut
saada ½ pistettä lisää)
- pariteettibitti /
pariteettibitit
- tarkistussumma
'checksum'
- CRC-tarkistus
- Hamming-tarkistusbitit, joiden
avulla voidaan myös korjata yhden bitin virhe
- Välistä puuttuva paketti
havaitaan pakettien numeroinnilla (1 p) (Vastaanottaja ei voi
havaita viimeisen paketin puuttumista)
- Paketin virheestä tai
puuttumisesta toipuminen
- Yleensä
virheestä toivutaan lähettämällä puuttuva
tai virheellinen paketti uudestaan. Jos lähettäjä ei
saa kuittausta (ack) lähettämästään
paketista, niin paketin ajastin laukeaa ja paketti lähetetään
uudestaan. Joskus käytetään myös NAK-kuittausta
ilmoittamaan virheellisestä tai puuttuvasta paketista. (2
p)
- Voidaan
myös käyttää virheen korjaavaa tarkistusta,
jonka avulla vastaanottaja pystyy itse korjaamaan paketin. Joissakin
tapauksissa virheestä toipumista kannata edes yrittää.
(2 p)
Arvostelussa:
- Miten havaitaan virheellinen tai puuttuva paketti 4 p;
- miten toivutaan virheestä 4 p.
c)-kohdassa kysyttiin
Internet-protokollien suhtautumisesta virheisiin ja virheestä
toipumiseen.
-
IP (2 p)
- otsakkeen kattava tarkistussumma,
joka lasketaan joka hypyllä
- virheestä ei yritetä
toipua; yleensä virheellinen datagrammi vain tuhotaan
- UDP (2 p)
- tarkistussumman (checksum) käyttö
vapaaehtoista, tarkistussumma lasketaan koko UDP-segmentistä +
pseudo-otsakkeesta.
- Ei kuittauksia eikä virheestä
toipumista.
- Virheellinen paketti voidaan
hävittää tai antaa sovelluskerrokselle varoituksen
kera.
- Ei vuon- eikä
ruuhkanvalvontaa pakettien 'turhan' häviämisen
estämiseksi.
-
TCP
pyrkii virheettömään tiedonsiirtoon: havaitsemaan
virheet ja toipumaan niistä sekä vuonvalvonnalla että
ruuhkanvalvonnalla huolehtimaan siitä, ettei turhaan hävitetä
jo verkkoon lähetettyjä ja pitkälle siirrettyjä
paketteja. (4 p)
- Checksum segmentille
ja pseudo-otsakkeelle
- virheettömät ja oikeassa
järjestyksessä vastaanotetut paketit kuitataan;
numeroinnista sovitaan yhteyttä muodostettaessa
- jos kuittaus ei tule ajoissa,
paketin ajastin laukeaa ja lähettäjä lähettää
paketin uudelleen vastaanottajalle
- vuonvalvonta: vastaanottajan
ikkunan koko joka kuittauksessa
- melko monimutkainen
ruuhkanvalvonta, jotta paketteja ei tarvitsisi hävittää
ruuhkan takia
Opiskelija surffailee Internetissä ja klikkaa URL-linkkiä. Tuloksena
opiskelijan koneen näytölle tulee näkyviin osoitetta vastaava sivu jostakin
kaukana olevasta koneesta.
-
Mitä sovelluskerroksella (application layer) tapahtuu? Mitä
sovelluskerroksen toimintoja ja protokollia käytetään? Mitä sanomia ja
missä järjestyksessä sovelluskerroksella lähetetään?
(8 p)
Tässä piti selostaa sekä IP-soitteen selvittämistä (DNS-protokolla) (4 p)
että selaimen ja palvelimen välistä viestintää (HTTP-protokolla) klikatun
sivun siirtämiseksi (4 p).
- DNS-protokollan yhteydessä:
-
miksi osoitetta tarvitaan ja
-
kuinka se selvitetään URL:sta (välimuisti, rekursiivinen kysely,
iteratiivinen kysely)
-
DNS-sanomat: kysymys ja vastaussanomia
-
HTTP:n GET-sanoma ja sen vastaukseksi pyydetty sivu
tarvittaessa lisäsivuja (esim. kuvia) pyydetään erikseen.
Ektrapisteitä on voinut saada välimuistin käytöstä, pistokeohjelmoinnista, yms.
Mitä tapahtuu kuljetuskerroksella (transport layer)? Mitä kuljetuskerroksen
toimintoja ja protokollia käytetään? Mitä ja sanomia ja missä järjestyksessä
kuljetuskerroksella lähetään?
(10 p)
Kuljetuskerroksella tarvitaan sekä UDP-protokollaa että TCP-protokollaa, sillä DNS käyttää UDP-protokollaa ja HTTP TCP-protokollaa omien protokollasanomiensa välittämiseen.
- UDP:n toiminta lyhyesti (2 p)
DNS-kyselyviestit käyttävät
UDP-protokollaa. Viesti laitetaan UDP-kehykseen ja lähetetään
vastaanottajalle yhtenä kokonaisuutena ilman mitään turhia varmistuksia.
-
TCP:n toiminta (12 p)
TCP on luetettava protokolla, joka pyrkii kaikin keinoin varmistamaan sanomien perillemenon virheettöminä ja oikeassa järjestyksessä.
-
yhteyden muodostus kolminkertaisella kättelyllä
- HTTP-sanomat lähetetään datana TCP-segmentteissä
- segmenttien lähetyksessä virhetarkistus
- uudelleenlähetys, jos kuittaus ei tule ajoissa,
- vuonvalvonta, jossa lähettäjä ilmoittaa paljonko pystyy ottamaan vastaan ja
- ruuhkanvalvonta hitaalla aloituksella
- yhteyden purku kolminkertaisella kättelyllä
Arvostelusta:
- UDP-protokollan käyttö 2
p
- TCP-protokollan käyttö 10
p
- yhteyden muodostus 3
- sanomien lähettäminen (5
p)
- HTTP-sanomat TCP-segementeissä 1-2 p
- kuittaukset ja uudelleen
lähettäminen1-2 p
- vuonvalvonnan maininta 1 p
- hidas aloitus 1-2 p
yhteyden purku 2 p
Vastaa seuraaviin kysymyksiin. (20 p)
- Reititin vastaanottaa eteenpäin
toimitettavaksi 4000 tavun datasähkeen, jonka numero on 123,
mutta verkko, jonne paketti
pitäisi lähettää hyväksyy korkeintaan 1500
tavun kokoisia datasähkeitä. Miten
IPv4-protokolla toimii tässä tilanteessa? (5 p)
Tarkkaan ottaen vastaanotetussa
datasähkeessä on 3980 tavua dataa (tämä
sisältää myös TCP-otsakkeen)+ 20 tavun IP-otsake.
Datasta muodostetaan kolme uutta
datasähkettä, joihin jokaiseen tulee lisäksi
IP-otsake.
Kaikilla on tunnuksena 123.
tunnus offset more-bitti dataa bitteinä
123 0 1 1480
123 1480 1 1480
123 2960 0 1020
=======
3980 tavua
Vastaukseksi on kelpuutettu myös
jako kolmeen segmenttiin: 1500, 1500, 1000, kunhan muut tiedot ovat
ok.
Osien kokoamista ei tässä välttämättä tarvinnut kertoa mitään. Mutta, jos kertoi väärin, niin siitä saattoi menneä pisteitä.
Kurose& Ross (2.): 336-339
Arvostelusta:
- more-bitti unohtunut -1 p
- poikkeaman tilalla jotain muuta (esim. järjestysnumero) -1
- poikkeamat puuttuvat kokonaan -2 p
- pilkotaan reitittimessä pienemmiksi paloiksi 1 p
- pilkotaan reitittimessä kolmeen paketiksi: 1500, 1500, 1000 ja
lähetetään verkkoon = 3 p
Näytä esimerkeillä,
kuinka etäisyysvektorireititystä (distance vector routing)
käytettäessä 'hyvät uutiset leviävät
nopeasti ja huonot uutiset hitaasti'. Miten tätä ongelmaa
on pyritty ratkaisemaan?( 5 p)
Puuttuu vielä, lisään myöhemmin!
Miten Ethernet-verkon asema
toimii halutessaan lähettää kehyksensä verkkoon?
(5 p)
Tässä piti selittää
Ethernetin MAC-kerroksen toiminta eli lähinnä kuinka
CSMA/CD toimii lähettäessään MAC-kehyksen
verkkoon:
- ensin lähetyskanavan
kuuntelu
- jos vapaa, niin lähetetään
heti
- jos joku muu lähettämässä
jäädään kuuntelemaan ja lähetetään
heti, kun linja vapautuu
kuuntelu ja lähetys 2-3 p
- varmistetaan, ettei tullut törmäystä
eli kukaan muu ei aloittanut lähetystä samaan aikaan
(=> ethernet-kehyksellä minimi pituus)
Kun törmäys havaitaan,
siitä ilmoitetaan muille.
Törmäystilanteesta
selvitään eksponentiaalisella binääriperuutuksella ja lyhyt selvitys sen toiminnasta
( 2-3 pistettä)
(Kurose & Ross (2): 460-462)
Mitä tarkoitetaan
ruuhkanvalvonnalla (congestion control) ja vuonvalvonnalla (flow control)? Millainen on
TCP-protokollan käyttämä vuonvalvontamenetelmä? (5 p)
-
Ruuhkanvalvonta
pyrkii havaitsemaan ruuhkatilanteen syntymisen mahdollisimman ajoissa
ja purkamaan ruuhkautumiset niin, ettei verkko ruuhkan takia tukkeudu
täysin ja paketteja jouduta ruuhkan takia hävittämään.(1 p)
- Vuonvalvonta pyrkii huolehtimaan siitä, ettei lähettäjä
lähetä vastaanottajalle dataa enemmän kuin tämä
pystyy käsittelemään. Jos vastaanottajan puskurit
täyttyvät, niin lähetettyä dataa katoaa. (1 p)
- TCP:llä on käytössä joustava ja dynaaminen liukuvan
ikkunan menetelmä (sliding window). Jokaisessa kuittauksessa
mukana ilmoitus uudesta ikkunan koosta eli paljonko on tilaa vielä
vastaanottajan puskurissa (jo myös alkukättelyissä,
kun kuittaukset on käytössä). Voidaan myös
ilmoittaa koko nollaksi => lukkiutumisongelma (0-3 p)
Tai on voinut mainita TCP:n käyttävän hieman mukailtua go-back n- mekanismia kuittauksineen (ack). Lisäksi on pitänyt hieman selitellä, mitä tällä tarkoittaa.(0-3 p).