Tehtävä 1. (Tarkastaja Mika Karlstedt)
Nykyisissä tietokoneverkoissa käytetään sekä analogista että digitaalista
signaalin siirtoa ja näin ollen tarvitaan myös muutoksia analogisesta
signaalista digitaaliseen ja digitaalisesta signaalista analogiseen.
a) Miten nämä siirtotavat eroavat toisistaan? Miksi digitaalista siirtotapaa
pidetään parempana? (3 p)
1 piste , digitaalinen tiedonsiirto perustuu diskreetteihin arvoihin 0 ja 1 + 1 piste, analogisessa arvot ovat jatkuvia + 1 piste digitaalisen tiedonsiirron häiriöherkkyys on pienempi, mielellään niin, että vastauksessa oli perustelut tälle. tai 1/2-1 piste muista asioista (digitaalisen muita etuja kuin häiriösietoisuus jne. ) max. 3 pistettäb) Missä ja miksi nykyisissä verkoissa näitä muutoksia oikeastaan tarvitaan? (2 p)
1/2- 1 piste jos viittaus paikallissilmukkaan + 1/2 jos epämääräinen viittaus siihen, että paikallissilmukan molemmissa päissä tarvitaan muunnos tai 1 piste jos selvästi kerrotaan modeemin ja codecin yhteistyöstä tai 1 piste langattomasta tiedonsiirrosta max 2 pistettäc) Modeemi muuttaa digitaalisen signaalin analogiseksi ja tarvitaessa takaisin. Miten modeemi toimii? Miten se tekee muutokset? (3 p)
1/2 piste yleensä jonkinlaisesta modulointi-ideasta tai 1 piste moduloimalla kantoaaltoa tai 2 pistettä taajuus-, vaihe- ja amplitudimodulaatiosta + 1/2 piste constellation pattern:sta + 1/2 piste käänteismuunnoksesta tai muusta aiheeseen sopivastad) Entä miten kodek (codec) muuttaa analogisen signaalin digitaaliseksi? (3 p)
1 piste näytteidenoton ideasta + 1/2 pistettä PCM + 1/2 pistettä oikeista arvoista (8000 Hz, 7-8 bittiä) + 1/2-1 käänteismuunnos + muuta selitystäe) Kummassakin laitteessa, modeemissa ja kodekissa, muunnokset tehdään molempiin suuntiin:
modeemi: ensin D => A ja sitten A => D kodek: ensin A => D ja sitten D => AOlisiko mahdollista yhdistää modeemin D=>A -muunnoksen ja kodekin A=>D -muunnoksen tekevät osat? Toimisiko sellainen laite oikein? Perustele vastauksesi. (2 p)
1 piste Ei toimi + 1/2 pistettä selityksestä miksei + 1/2 pistettä jos selitys, että modeemi/codec-yhdeistelmä toimii näin paikallisverkossa, mutta purkaminen vaatii saman yhdistelmän toisinpäinTehtävä 2. (Tarkastajana Liisa Marttinen)
http ilmoittaa käytetyn sovellusprotokollan, joka tässä tapauksessa on
www-protokolla Hypertext Transfer Protocol.
Usein kertoo myös implisiittisesti, mitä portteja kommunikoinnissa käytetään
eli mihin vastapuolen porttiin halutaan yhteys.
www.motorola.com vastapuolen koneen Internetin domain-nimi
/NSS/Technology/cdma.html ilmoittaa noudettavan dokumentin hierarkkisen
osoitteen olevan /hakemisto/hakemisto/tiedosto. Tässä voi olla myös
'virtuaalitiedostoja', mutta palvelin osaa joka tapauksessa hakea pyydetyn
sivun.
Arvostelu:
http 1/2 p
www.motorola.com 1 p
/NSS/Technology/cdma.html 1/2 p
b) Millaisia osoitteita on käytössä sovellus-, TCP-, IP- ja MAC-kerroksella? (5 p)
Ps. Tässä hämmennystä joillekin aiheutti nimitys TCP-kerros. Kyseessä on kuljetuskerros, joka toteuttaa TCP-protokollan.
Sovelluskerros voi periaatteessa käyttää millaisia osoitteita tahansa.
Yleisesti käytössä on kuitenkin Internetin hierarkkinen tekstimuotoinen
domain-osoite:
sähköpostiosoite
URL-osoite (a-kohta)
koneen nimi domain-osoitteena
tai suoraan IP-soite.
TCP-kerros käyttää pistokeosoitetta = 16-bittinen porttinumero + koneen IP-osoite.
IP-kerroksella on käytössä 32-bittinen IP-osoite jokaista verkossa olevaa konetta (rajapintaa (interface) varten; reitittimillä on useita IP-osoitteita).
Verkkokerroksella on käytössä verkon oma verkko-osoite kullekin koneelle = koneen valmistajan sille antama koneosoite: valmistajantunnus + koneen tunnus (verkkokortin tunnus)), Ethernet 48-bittinen osoite
Arvostelusta:
sovelluskerros 1 p
TCP:n portit + (IP) 1 p
IP-kerroksen IP-osoite = verkko + kone 2 p
MAC-kerroksen verkko-osoite 1 p
c) Miten käyttäjän klikkaaman linkin osoitteen avulla päästään yhteyteen oikean koneen oikeaan prosessiin eli miten sovellus-, TCP- ja IP-kerros selvittävät alemman palvelua tarjoavan kerroksen käyttämän osoitteen? (6 p)
Arvostelusta:
porttinumeron selvittäminen 2 p
- sovelluskerros kertoo
joko tunnettu portti esim. http => portti 80 tai sovelluskerros tietää
muuten
- kuljetuskerros varaa jonkun vapaana olevan portin
IP-osoitteen selvittäminen 2 p
sovellusosoite => IP-osoite
DNS-kysely => domain-nimestä koneen IP-osoite, joka annetaan
yhteyspyynnössä TCP-kerrokselle
TCP-kerroksesta IP-kerrokselle: TCP tietää jo IP-osoitteen, johon haluaa yhteyttä
verkko-osoitteen selvittäminen 2 p
IP-kerrokselta MAC-kerrokselle:
ARP-kysely, jos ei jo tiedossa lähettäjän välimuistissa
Virheitä:
TCP tekee DNS-kyselyn -2p
MAC-kerros käyttää myös IP-osoitteita -1 p
Tehtävä 3 (Tarkastajana Mikko Rauhala)
Selvitä melko yksityiskohtaisesti Internetissä käytetyn reititysprotokollan
OSPF (Open Shortest Path First) toiminnan eri vaiheet. Millä kerroksella
tämä protokolla toimii? (12 p)
Pelkällä linkintilareitityksen selityksellä on saattanut saada 7 pistettä; enemmän saa mainitsemalla jotain OSPF-spesifisiä piirteitä jotka eivät puhtaaseen linkintilareititykseen varsinaisesti kuulu. 12 pistettä saa selittämällä nimenomaan spesifisesti OSPF-protokollan piirteet.
Tarkemmin suunnilleen seuraavasti (kaikkien tässä esitettyjen tarkempien yksityiskohtien puute ei välttämättä yksittäisenä haitannut):
- Protokolla toimii verkkokerroksella +1p
- Perustuu linkintilareititykseen +1p
- Linkintilareitityksen eri vaiheet selitettyinä +5p (1p/vaihe)
1) Hello-paketit; viereisten reitittimien tunnistus
2) Echo-paketit; kustannuksen mittaus
3) Tietopaketin muodostus omista linkeistä
4) Tietopaketin tulvitus verkon muille reitittimille
5) Reititystaulun muodostaminen muilta saaduista tiedoista (esim. Dijkstra)
- OSPF-protokollan hierarkkisuus (AS/area) +2p
- Verkko jaettu AS:iin, joiden sisällä OSPF toimii
- AS:t jaettu erillisiin alueisiin, joiden sisällä kaikki
reitittimet tuntevat lyhimmän reitin. Alueen sisältä pääsee ulos
reunareitittimien kautta; nämä tuntevat useamman alueen reitittimet.
- Kuormantasaus +1p
- Hyödynnetään mahdollisesti useita reittejä, ei ainoastaan lyhintä.
- Designated router -järjestelmä +1p
- Vaihdetaan tietoja "vierekkäisen" reitittimen kanssa, ei kaikkien
naapureiden
- Eri mittaustapoja +1p
- Viive, kaista, luotettavuus
Tehtävä 4 (Tarkastajana Markku Kojo)
Sähköpostisovellus siirtää suurehkon kuvia sisältävän sähköpostin
vastaanottajan postijärjestelmään TCP-protokollaa käyttäen. Oletetaan, että
siirrossa ei esiinny mitään virheitä tai muita ongelmia. Selvitä, esim.
kaaviokuvan avulla, mitä tällöin TCP-tasolla tapahtuu eli mitä TCP-segmenttejä,
missä järjestyksessä ja milloin lähettäjän ja vastaanottajan järjestelmien
välillä vaihdetaan. (14 p)
Tehtävän vastauksen pisteytys jakautui kolmeen pääosaan seuraavasti: yhteyden muodostus (4p), varsinainen datan siirto ja siihen liittyvä ruuhkakontrolli ja vuon valvonta (6p) ja yhteyden päättäminen (3p). Lisäksi sai yhden pisteen, jos joitakin perusyksityiskohtia oli osattu (yhteys IP-osoite/portti -parien välillä, TCP jakaa datavirran segmentteihin, jotka vastaanottajan tulee kuitata (1p).
Yhteyden muodostus:
Lähettävän sähköpostisovelluksen pyynnöstä TCP-kerros muodostaa TCP-yhteyden vastaanottajan TCP-kerroksen kanssa käyttäen kolminkertaista kättelyä.
Lähettäjä vast.ottaja SYN, Seq=x ------------------------------------> SYN, Seq=y, ACK=x+1 <------------------------------------ Seq=y, ACK=y+1 ------------------------------------>Lähettäjä lähettää SYN-segmentin (yhteydenmuodostuspyyntö) vastaanottajan IP-osoitteseen kohteena TCP-portti 25. SYN- lipuke on asetettuna, ACK ei. Aloitusjärjestysnumeroksi (Seq) valittu arvo (x) kulkee järjestysnumerokentässä.
Jos vastaanottavassa järjestelmässä on sovellus kuuntelemassa porttia 25, TCP-kerros hyväksyy pyynnön ja lähettää takaisin SYN-segmentin ja siinä mukana oman aloitusjärjestysnumeronsa (y) sekä kuittaa lähettäjän SYN-segmentin kertomalla seuraavaksi odotettavan oktetin numeron (ACK=x+1). Saadessaan vast.ottajan SYN-segmentin (ja kuittauksen omalle SYN-segmentulle) lähettäjä vielä kuittaa vastaanottajan SYN-segmentin (ACK=y+1).
Lisäksi lähettäjä ja vastanottaja ilmoittavat SYN-segmentien vaihdon yhteydessä maksimi segmentin koon, jonka ovat valmiita vastaanottamaan (MSS, Maximum Segment Size). TCP-kerros jakaa sovellukselta saatavan datavirran maksimissaan MSS:n kokoisiin segmentteihin.
Kun yhteys on muodostettu, lähettäjä aloittaa sovellukselta saatavan (ison) sähköpostiviestin sisältävän datavirran lähettämisen vastaanottajalle. Aloitus tapahtuu hidasta aloitusta (Slow Start) noudattaen: lähettäjä asettaa ruuhkaikkunanssa aluksi yhden /tai kahden) MSS:n kokoiseksi ja lähettää ensin yhden segmentin (tai kaksi) ja jää odottamaan kuittausta. Kun kuittaus tulee, se kasvattaa ruuhkaikkunaa yhdellä MSS:llä/vast.otettu kuittaus. Näin ruuhkaikkuna kasvaa eksponenttiaalisesti kunkin "kierroksen" (Round-trip time, RTT) aikana, siten että lähettäjä voi lähettää toisella kierroksella 2, seuraavalla 4, ja sitten 8, jne. segmenttiä.
Näin jatketaan kunnes ruuhkaikkuna saavuttaa vastaanottajan kunkin kuittauksen yhteydessä mainostaman vastaanottoikkunan koon (tai segmentti katoaa, jolloin ruuhkaikkunaa pienennetään; ei vaadittu tässä tehtävässä, koska oletettiin, ettei ongelmia esiinny). Nyt lähettäjä voi lähettää segmentejä enää vain vast. ottajan salliman ikkunan rajoissa, eikä lähetystahti enää kiihdy. Näin jatketaan kunnes kaikki data lähetetty.
Kun lähettävä TCP on saanut sovellukselta kaiken datan, sovellus ilmoittaa, että yhteyden voi sulkea. Kun lähettäjä lähettää viimeisen datasegmentin, se asettaa tähän tai erilliseen segmenttiin FIN-lipukkeen, jonka avulla se kertoo vast.ottajalle, että enempää dataa ei enää ole tulossa ja yhteyden lah. --> vast. ottaja suunnan voi sulkea. vastaanottaja, kuittaa FIN-segmentin ja lähettää toisen suunnan sulkemisesta ilmoittavan vastaavanlaisen FIN-segmentin, jonka lähettäjä-TCP kuittaa.