Tietoliikenne
I -kurssin erilliskokeen 11.11.2003 arvostelusta
Pisteitä on saanut sen mukaan,
miten hyvin kysyttyjä asioita on selittänyt. Lähinnä
tämä tarkoittaa sitä, miten hyvin on onnistunut
tuomaan vastauksessaan esille kaikki oleelliset asiat. Jokainen
oleellinen kohta on tuonut yhden tai joskus useamman pisteen. Jonkin
kohdan perusteellisempi selvitys on saattanut tuoda korvaavia
lisäpisteitä, jos jokin muu kohta on jäänyt
hieman vajaaksi.
1. TCP/IP-protokollapino ja
TCP/IP-verkko (20p)
a) Piirrä
TCP/IP-protokollapino ja nimeä sen eri kerrokset sekä aseta
TCP/IP-protokollapinon oikeisiin kerroksiin seuraavat protokollat
PPP, DNS, UDP, ARP? (8p)
kaikki tasot,
oikeassa järjestyksessä ja oikein nimettyinä =>
4p, väärästä paikasta tai puuttuvasta tasosta =>
-1 p, pelkästä nimivirheestä – ½ tai -
1/3 (eli -)
kukin protokolla
oikealla tasolla = 1p eli yhteensä toiset 4 pistettä.
- protokollapino:
kurssikirjan kuva 1.23
- DNS
sovelluskerroksella, UDP kuljetuskerroksella, ARP verkkokerroksessa
ja PPP linkkikerroksessa
b) Piirrä kuva
TCP/IP-verkosta, jossa on sekä isäntäkoneita että
reitittimiä, runkoverkko, silloilla (bridge), kytkimillä
(switch) ja keskittimillä (hub) yhteenliitettyjä
lähiverkkoja. (4 p)
4p: kaikki
komponentit mukana ja sijoittelu oikein ja järkevästi tehty
-1p: joku osa
puuttuu tai sijoitettu selvästi väärin
>
- kurssikirjan
kuvat 5.28, 5.35
c) Millainen laite on toistin
(repeater)? (2 p)
fyysisen tason
laite, joka toistaa saamansa kehyksen kaikkiin ulostuloihinsa samalla
vahvistaen signaalia. Toistimen avulla saadaan signaali kulkemaan
pitempiä matkoja.
-1 p jos kertoi
pelkästä toistamisesta
d) Mitkä TCP/IP-protokollapinon
kerrokset on toteutettava b)- ja c)-kohtien laitteissa eli
reitittimissä, isäntäkoneissa, keskittimissä,
kytkimissä, silloissa, toistimissa? (6 p)
1p: reititin =
fyysinen, linkki ja verkkotaso
1p: isäntä
= kaikki tasot
1p: keskitin =
fyysinen taso
1p: kytkin =
fyysinen ja linkkitaso
1p: silta =
fyysinen ja linkkitaso
1p: toistin =
fyysinen
Pisteen sai vain
täysin oikeasta vastauksesta.
2. Lähettäjän
verkkoon lähettämät paketit voivat tulla perille
virheellisinä tai kadota kokonaan.>
a) Mitkä tekijät
aiheuttavat virheellisiä paketteja tai pakettien katoamisia? (4p)
b) 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)
c) 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
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)
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
3. Internetin osoitteista (20 p)
a) Linkkiä
http://www.motorola.com/NSS/Technology/cdma.html klikataan
WWW-verkossa. Mitä tämän osoitteen eri osat
tarkoittavat? (3 p)
b) Millaisia osoitteita on käytössä
TCP/IP-pinon eri kerroksilla? (8 p)
c) Millä tavoin eri kerrokset
saavat selville niille palvelua tarjoavalla alemmalla kerroksella
käytetyn osoitteen? (9 p)
a) piti selvittää lyhyesti osoitteen osat. Melkein kaikki sen olivat osanneet.
b)Vastaukseksi haluttiin
seuraavanlaisia asioita
- Sovelluskerros voi periaatteessa
käyttää millaisia osoitteita tahansa. Yleisesti
käytössä on kuitenkin Internetin hierarkkinen
tekstimuotoinen domain-osoite: sähköpostiosoite,
URL-osoite, koneen nimi domain-osoitteena tai suoraan IP-osoite.
- Kuljetuskerros (TCP, UDP) käyttää
ns. pistokeosoitetta = 16-bittinen porttinumero + koneen IP-osoite;
porttiosoitteella saadaan yhteys prosessien välille; julkisilla
palveluilla tunnetut portit (80 web server, 25 SMTP mail server, ..)
- Linkkikerroksella on käytössä
verkon (esim. Etherhet, atm, ..) oma verkko-osoite kullekin koneelle
= koneen valmistajan sille antama periaatteessa yksikäsitteinen
fyysinen osoite tai koneosoite: valmistajantunnus + koneen tunnus
(verkkokortin tunnus)); Ethernet 48-bittinen osoite
Arvostelusta kukin kerros maksimissaan 2 p:
- sovelluskerros 2 p
- IP-kerroksen IP-osoite = verkko +
kone 2 p
- MAC-kerroksen verkko-osoite 2 p
c) Alempi kerros ei tiedä mitään
sitä käyttävästä ylemmästä
kerroksesta ja edellyttää, että sen palveluja
käytettäessä pitää osoite ilmoittaa sen
ymmärtämällä tavalla. Esimerkiksi
verkkokerroksella lähettäjä ja vastaanottaja on
ilmoitettava IP-osoitteen eikä domain-osoitteen avulla tai
verkkokerroksella on selvitettävä IP-osoitetta vastaavan
koneen MAC-osoite, jotta IP-paketin sisältävä kehys
osataan lähettää oikealle koneelle. Jos ylempi kerros
ei tiedä alemman kerroksen osoitetta, se siis joutuu ottamaan
sen selville.
- porttinumeron selvittäminen
(2 p) = miten sovellus osaa pyytää yhteyttä
vastaanottajan oikeaan porttiin
- sovelluskerros tietää: joko
on tunnettu portti esim. http => portti 80 tai sovelluskerros
tietää koska on esim. tallettanut porttinumeron
- käyttöjärjestelmä
varaa kuljetusyhteyttä varten jonkun vapaana olevan portin, eikä
se ole välttämättä sovelluksen tiedossa.
- IP-osoitteen selvittäminen 4
p
-
sovellusosoite => IP-osoite, tämä
liitetään jo kuljetuskerrokselle menevään
lähetyspyyntöön;
-
Jos sovellus ei tiedä
IP-osoitetta, se selvittää osoitteen DNS-kyselyllä
(rekursiivinen, iteratiivinen). DNS etsii domain-nimeä vastaavan
koneen
IP-osoitteen, joka annetaan
yhteyspyynnössä kuljetuskerrokselle (TCP, UDP).
-
Kuljetuskerros (TCP, UDP) vain välittää
IP-osoitteen verkkokerrokselle (IP):, sillä TCP ja UDP tietävät
jo IP-osoitteen, johon yhteyttä halutaan .
- MAC-osoitteen selvittäminen 3
p
- IP-osoite MAC-osoitteeksi: ARP-kysely,
jos ei jo tiedossa lähettäjän välimuistissa.
-
Lisäksi lyhyesti ARPin toiminnasta: kysely IP-osoitteesta
yleislähetyksenä kaikille lähiverkon koneille; se
kone vastaa, joka tunnistaa osoitteensa ja ilmoittaa oman
koneosoitteensa (MAC-osoitteensa) kyselijälle, joka sitten voi
lähettää paketin.
- Osoitteen tunnistaminen tapahtuu
verkkokerroksella eikä linkkikerroksella (eihän
linkkikerros tiedä mitään IP-osoitteista) eli
ARP-protokollaa ymmärtävä 'olio' vastaa kyselyyn.
Linkkikerroksen yleislähetystä käytetään
vain toimittamaan kysely kaikille koneille.