581333-1 Tietoliikenne I
Erilliskuulustelu 24.9.2004
Kirjoita jokaisen vastauspaperisi yläreunaan kurssin nimi
ja kokeen päivämäärä sekä nimesi,
syntymäaikasi ja allekirjoituksesi.
Helsingin yliopiston opiskelija A. Innokas lähettää lyhyen sähköpostiviestin ystävälleen B. Eagerille, joka opiskelee Lontoossa.(24 p)
Mitä tapahtuu sovelluskerroksella? Mitä sovelluskerroksen protokollia käytetään ja missä vaiheessa, jotta A. Innokkaan laatima viesti saadaan toimitettua B. Eagerin postilaatikkoon, josta tämä sitten voi sen lukea kotikoneeltaan? Mitä viestejä näissä protokollissa vaihdetaan? (Tässä ei tarvitse osata sanomien tarkkaa muotoa ja syntaksia, merkitys riittää.) (10 p)
DNS-protokolla
Kyselyviestejä ja vastausviestejä
SMTP-protokolla sähköpostin toimittamiseen omalta koneelta omalle postipalvelimelle ja samoin omalta postipalvelimelta vastaanottajan postipalvelimelle
yhteyden muodostus: HELO
lähetyslupa: MAIL FROM, RCPT TO, DATA
varsinaisen sähköpostiviestin lähettäminen
yhteyden lopettaminen: QUIT
Sähköpostin lukeminen omalta koneelta: IMAP, POP3, HTTP
Arvostelusta:
DNS: 2-3 p
SMTP: 4-6 p
IMAP, POP3, HTTP: 2-4 p
Arvostelussa on hieman otettu huomioon vastauksen
painottuminen. Jos on selvittänyt jotakin asiaa erityisen
perusteellisesti, niin siitä on voinut saada suuremman
pistemäärän, mutta kokonaispistemäärä
on kuitenkin maksimissaan 10 p.
Mitä tapahtuu kuljetuskerroksella? Mitä kuljetuskerroksen segmenttejä ja missä järjestyksessä tarvitaan kuljettamaan sovelluskerroksen viestit? (10 p)
DNS-kyselyviestit käyttävät UDP-protokollaa. Viesti laitetaan UDP-kehykseen ja lähetetään vastaanottajalle.
Sähköpostiprotokolla SMTP käyttää TCP-protokollaa sanomiensa välittämiseen:
ensin TCP-yhteyden muodostaminen SYN-segmenteillä (kolmivaiheinen kättely)
Sähköpostin lähettäminen TCP-segmenteissä:
Lähetetään sekä SMTP-protokollaan liittyvät yhteyden muodostus- ja purkamissanomat että se varsinainen sähköpostisanoma
TCP pyrkii toimimaan luetettavasti
kuittaukset ja uudelleenlähettämiset
vuonvalvonta
hidas aloitus aina lähetyksen alussa
TCP-yhteyden purkaminen SMTP-yhteyden päätyttyä
Arvostelusta:
UDP-protokollan käyttö 2 p
TCP-protokollan käyttö 8 p
yhteyden muodostus 2
sanomien lähettäminen (4 p)
kuittaukset ja uudelleen lähettäminen1-2 p
vuonvalvonnan maininta 1 p
hidas aloitus 1-2 p
yhteyden purku 2 p
Mitä sanomille tapahtuu verkkokerroksella? (4 p)
TCP-segmentit muodostetaan IP-paketeiksi (datasähkeiksi)
liittämällä niihin IP-otsake.
IP-otsakkeessa on
m.m. vastaanottajan IP-osoite, josta tiedetään mikä
kone on paketin määränpää. IP-paketit
annetaan reitittimelle eteenpäin kuljetettaviksi.
Reititystaulunsa avulla reititin osaa ohjata IP-paketit seuraavalle
reititimelle, joka puolestaan taas löytää omasta
reititystaulustaan avulla seuraavan kohteen. Matkalla liian suuri
paketti voidaan joutua paloittelemaan ja lähettämään
eteenpäin paloina, jotka sitten kootaan määränpäässä.
Mikäli paketti ei matkalla pahasti vaurioidu tai joudu ruuhkan
takia poisheitetyksi, se aikanaan saavuttaa vastaanottajan koneen,
jossa IP-otsake puretaan ja paketti annetaan TCP-kerrokselle.
Arvostelusta:
sanomat ohjataan määränpäähän 1 p
sanomat IP-paketteina 1p
IP-otsakkeessa on vastaanottajan IP-osoite 1 p
reititin ja sen toiminta, reititystaulu 1 p
tarvittaessa IP-paketin paloittelu ja kokoaminen määränpäässä 1 p
ARP ½ p
Etäisyysvektorireititys (Distance vector routing) (18 p)
Miten reitittimet päivittävät reititystaulunsa etäisyysvektorireititystä käytettäessä? (4p)
mittaavat oman etäisyytensä naapurireitittimiin. Yleisesti mittana käytetään hyppyä eli kukin naapuri on yhden hypyn päässä.
Saavat naapureiltaan tiedot näiden etäisyyksistä niiden tietämiin reitittimiin. Vastaavasti lähettävät naapureilleen tiedot omista etäisyyksitään eri solmuihin.
Laskevat reitit eri solmuihin eri naapureittensa kautta (reitin pituus X:ään = oma etäisyys naapuriin + naapurin ilmoittama etäisyys siitä X:ään) ja valitsevat näistä lyhyimmät.
Reititystauluun tulee kohteen tunniste, reitin pituus ja seuraava reititin reitillä.
Oletetaan, että reititin A on juuri lisätty kuvan verkkoon. Muut verkon reitittimet ovat olleet toiminnassa jo jonkin aikaa. Miten A:n reititystaulun sisältö nyt päivittyy, kun reititykseen käytetään etäisyysvektorireititystä? Miten A:n lisääminen verkkoon vaikuttaa muiden reitittimien reititystauluihin? (8 p)
A | . 1 | . |1 . | 5 . B ------------- C | . | |2 . | | . 1 | 1 . | D --------------E 3
Tilanne ennen A:n lisäämistä:
B:n reititystaulu: kohde etäisyys seuraava C 3 D D 2 D E 4 D C:n reititystaulu kohde etäisyys seuraava B 3 D D 1 D E 1 E D:n reititystaulu kohde etäisyys seuraava B 2 B C 1 C E 2 C E:n reititystaulu kohde etäisyys seuraava B 4 D C 1 C D 2 C
1. A:n reitystaulun päivittyminen:
Aluksi A:n
reitystaulu on tyhjä. A 'mittaa' (tai muuten saa tietää)
omat etäisyydensä naapureihinsa ja laittaa tiedot omaan
reititystauluunsa.
A:n reititystaulu kohde etäisyys seuraava B 1 B C 1 C
A saa naapureiltaan B ja C niiden reitystaulut ja oppii tuntemaan D:n ja E:n.
Etäisyys D:hen B:n kautta 2 + 1 = 3 ja C:n kautta 1 + 1 = 2. Etäisyys E:hen B:n kautta 4 + 1 = 5 ja C:n kautta 1 + 1 = 2. A:n reititystaulu kohde etäisyys seuraava B 1 B C 1 C D 2 C E 2 C
2. Vaikutus muiden reititystauluihin:
Kun A lisätään
verkkoon B ja C huomaavat sen heti naapureikseen ja niille
etäisyys A:han = 1 suoraan A:n kautta.
D ja E saavat
tiedon A:sta naapureiltaan B ja C ja osaavat päivitttää
reittitauluunsa solmun A ja etäisyyden siihen sekä
tiedon, mille reitittimelle lähetetään.
D:n reititystaulu: kohde etäisyys seuraava A 2 C E:n reititystaulu kohde etäisyys seuraava A 2 C
Lisäksi A:n lisääminen muuttaa etäisyyden B:n ja C:n välillä: etäisyys = 2 ja kulkee A:n kautta ja B ja E huomaamat lyhyemmän reitin toisiinsa.
Kun A lähettää omat reititystaulunsa naapureilleen B ja C, nämä huomaavat lyhyemmän reitin toisiinsa kulkevan A:n kautta.
Samalla B huomaa myös pääsevänsä A:n kautta lyhyempää reittiä E:hen.
Myös E huomaa lyhyemmän reitin B:hen saatuaan C:n uuden reititystaulun.
Arvostelusta:
Miten A:n reititystaulu
päivittyy (4 p)
Aluksi saa selville naapurinsa eli
tietää B:n ja C:n (1 p)
Naapurit B ja C lähettävät
omat tietonsa, joista A saa tietää D:n ja E:n ja
etäisyydet näihin. Tästä on saanut 1 -3 p
sen mukaan, miten asian on selvittänyt ja miten A:n
lopullisen reititystaulun on esittänyt. Pelkän
lopputuloksen toteaminen eli A:n reititystaulun viime tilanteen
esittäminen tuo yhden pisteen!
Miten A:n liittäminen
vaikuttaa muihin (4 p)
B ja C huomaavat itse ja merkkaavat
A:n omaan tauluunsa
A:n lähettämistä
tauluista B ja C huomaavat lyhemmän reitin toisiinsa
kulkevan A:n kautta.
Samoin B huomaa pääsevänsä
lyhempää reittiä A:n kautta E:hen.
D ja E
saavat ensin tiedon A:sta B ja C:n lähettämistä
reititystiedoista.
Kun E saa C:ltä uudet tiedot, joissa
etäisyys C-B on 2, niin E päivittää oman
etäisyytensä B:hen = 2+1 = 3
Kukin vaihe 1 p.
Näytä esimerkeillä, kuinka etäisyysvektorireititystä käytettäessä 'hyvät uutiset leviävät nopeasti ja huonot uutiset hitaasti'. Miten tätä ongelmaa on pyritty ratkaisemaan? ( 6 p)
Esimerkki: Oletetaan, että kustannus A-B on aluksi 10 ja kaikkien muiden linkkien kustannus on 1.
10 1 1 A ------ B ------ C ------- D Etäisyyskustannuksetlinkkiin A ovat aluksi: A B C D - 10 11 12 Kun kustannus A-B vähenee 1:een, niin B huomaa sen heti A B C D - 1 11 12 ja B:n uusien reititystietojen myötä C saa tiedon asiasta ja päivittää omat tietonsa - 1 2 12 ja C:n lähetettyä uudet reititystietonsa, myös D saa tietää reitin nopeutuneen. - 1 2 3
Huomataan, että uusi hyvä tieto etenee nopeasti, aina yhden askeleen kunkin tiedonvaihdon yhteydessä.
Kun yhteys A-B huononeekin takaisin 10:ksi, niin reittikustannus kasvaa paljon hitaammin.
1 1 1 A ------ B ------ C ------- D Etäisyyskustannuksetlinkkiin A ovat aluksi: A B C D - 1 2 3 Kun kustannus A-B kasvaa 10:een, niin B huomaa sen heti, mutta C tarjoaa parempaa reittiä ja B valitsee tietysti sen: A B C D - 3 2 3 ja B:n uusien reititystietojen myötä C huomaa reitin hidastuneen - 3 4 3 C:n lähetettyä uudet reititystietonsa, myös D saa tietää reitin hidastumisesta. Samoin B:n reitti vastaavasti hidastuu - 5 4 5
Näin arvio reitin kustannuksista kierros kierrokselta hieman huononee, mutta kestää useita kierroksia ennenkuin kaikki uskovat kustannuksen A:han olevan B:ltä 10, C:ltä 11 ja D:ltä 12. (Se, missä järjestyksessä eri reitittimien reititystaulujen kustannukset muuttuvat, riippuu etäisyystietojen vaihtamisen ajoituksesta.)
Eräs ratkaisu ongelmaan on ns. halkaistu horisontti ja myrkytetty vastasuunta (split horizon with poisoneus reverse), jossa sille solmulle, jonka kautta oma reitti kulkee valehdellaan kustannus äärettömäksi.
Esimerkissä siis C kertoo B:lle kustannuksen A:han olevan ääretön, koska C:n reitti A:han kulkee B:n kautta. Tällöin B saa kustannuksen 10 A:lta ja kustannuksen ääretön C:ltä, joten B valitsee niistä pienimmän eli 10:n. Samoin D kertoo C:lle kustannuksen A:n olevan ääretön. Saadessaan kustannuksen 10 B:ltä ja kustannuksen ääretön D:ltä se valitsee niistä pienemmän 10 +1. Näin huono uutinen eli tieto uudesta suuremmasta kustannuksesta etenee samalla tavoin kuin hyvä uutinen eli yhden askeleen kunkin tiedonvaihdon yhteydessä.
Ongelmana on, että ratkaisu ei toimi kaikissa verkkotopologioissa:
A ------------- B \ / \ / \ / \ / \ / \ / \ / C | | Jos tässä linkki C-D katkeaa tai hidastuu | merkittävästi, niin väärä ja vain hitaasti | huononeva kustannus jää pyörimään solmujen D reititystauluihin.
Arvostelusta:
hyvien tietojen eteneminen 2 p
huonojen tietojen eteneminen 2 p
ratkaisu ongelmaan 2 p
Lähiverkkojen yhdistäminen (18 p)
Verkko koostuu useista tuntumattomilla silloilla (transparent bridge) yhteenliitetyistä lähiverkoista. Verkon eräässä lähiverkossa oleva asema A lähettää kehyksen usean sillan takana olevan toisen lähiverkon asemalle B. Miten aseman A lähettämä kehys saadaan toimitettua siihen lähiverkkoon, jossa asema B sijaitsee? Mitä tietoja tähän tarvitaan ja miten tiedot kerätään? (10 p)
Tehtävässä piti selvittää lähinnä tuntumattoman sillan toiminta:
silta oppii keräämällä tietoja (=lähettäjä ja mistä portista sanoma tuli) kaikista sen kautta kulkevista paketeista (2 p)
Näistä tiedoista silta rakentaa siltataulunsa, joiden avulla silta osaa ohjata sille tulleet paketit eteenpäin oikeaan porttiin(1 p)
siltataulujen tiedot 'vanhenevat' tietyn ajan kuluttua (yleensä muutama minuutti), jollei niitä päivitetä (1 p)
tauluissa on siis tiedot: koneosoite ja portti, johon tälle osoiteelle lähetetty paketti ohjataan + aika jolloin viimeksi päivitetty (2 p)
Kun silta saa paketin, se näkee siltataulustaan, minne porttiin paketti on ohjattava. Jos paketti on oikealla puolella siltaa (omassa verkossa tai menossa jollekin toiselle sillalle), niin silta ei puutu sen reitittämiseen (2 p)
Jos paketin osoitetta ei löydy siltataulusta, niin paketti tulvitetaan kaikkiin portteihin.(1 p)
Jotta tulvitetut paketit eivät jäisi pyörimään verkkoon ikuisesti, niin siltojen verkossa ei saa olla silmukoita, vaan siitä on muodostettava ns. virittävä puu.(1 p)
Arvostelusta:
Monissa vastauksissa käsiteltiin lähes
pelkästään ARP-protokollan toimintaa. Asema A on
tässä lähiverkkoom liitetty asema, joka siis
lähettäessään kehyksen, lähettää
sen lähiverkon MAC-protokollaa noudattaen. Aseman A on
ylemmät kerrokset ovat jo tehneet omat tehtävänsä
ja IP-kerros on jo selvittänyt vastaanottajn MAC-osoitteen.
ARP-protokollan selvittämisestä on saanut vain muutaman
pisteen.
Lähiverkkojen yhdistämiseen voidaan käyttää
myös ns. Ethernet-kytkimiä (switch)? Millainen laite on
Ethernet-kytkin ja miten se eroaa sillasta? (4 p)
Kytkimet
selitetty kurssikirjan (2. painos) sivuilla 476-478.
Lähiverkkoja voidaan
yhdistää myös keskittimillä (hub). Millainen
laite on keskitin ja millaisia rajoituksia se asettaa
lähiverkkojen yhdistämiselle? (4 p)
Keskitintä
ja keskitinyhdistelyä on käsitelty kurssikirjan (2.
painos) sivuilla 467-468
581333-1 Data Communications I
Separate examination 16.4.2002
Write the name of the course, date, your name, identity number and signature on every separate sheet. Books and calculators are not allowed.
Student A. Innokas at the University of Helsinki sends a short email message to his friend B. Eager who studies in London.(24 p)
What happens in the application layer? What application layer protocols are used and when are they used, so that the message composed by A. Innokas can be delivered to the mailbox of B. Eager and that he can read the message from his home PC? What messages are sent by these protocols? (Not necessary to know the exact format of the messages. It is enough to tell the meaning.) (10 p)
What happens in the transport layer? What transport layer segments and in which order are needed to transport the messages of the application layer? (10 p)
What happens to the messages in the network layer? (4 p)
Distance vector routing (18 p)
How do routers using distance vector routing update their routing tables? (4 p)
Suppose that the router A has just been added to the network in the picture below. Other routers have already been functional for quite a while. How is the routing table of the router A updated when distance vector routing is used? How does the adding of the router A affect the routing tables of other routers? (8)
| . 1 | . |1 . | 5 . B ------------- C | . | |2 . | | . 1 | 1 . | D --------------E 3
Show by examples that when using distanse vector routing, 'Good news travels fast and bad news travels slowly'. What are the proposed solutions to this problem? (6 p)
Connecting LANs (18 p)
A net consists of several Ethernets that connected by transparent bridges. A station A in one Ethernet sends a frame to a station B in another Ethernet across several bridges. How is a frame, sent by station A, delivered to that networks where the station B is located? What information is needed and how is it collected? (10 p)
It is possible to connect LANs using Ethernet switches. What kind of device is an Ethernet switch and how does it differ from a bridge? (4 p)
LANs can be connected also by hubs. What kind of a device is a hub and what kind of restrictions does it imply to the connection of LANs? (4 p)