Tietoliikenne I, kevät 2004
Harjoitus 3 (10.-13.2.2004)
-
Vastaa lyhyesti seuraaviin kysymyksiin. Vastaukset yleensä löytyvät suoraan
luennosta tai kurssikirjasta.
- Mitä tarkoitetaan vertaisverkoilla (peer-to-peer, P2P)?
- Missä ja miksi MIMEa tarvitaan?
- Miksi monet sovellukset käyttävät UDP-protokollaa, vaikka se on epäluotettava?
Mitä haittaa UDP:n yhä lisääntyvästä käytöstä on?
- Mikä on pistoke (socket)?
- Mitä tarkoitetaan kahden armeijan ongelmalla (two-army problem)?
-
Opiskelija T. Terävä Helsingin yliopistosta lähettää sähköpostia ystävälleen
M. Smartille
Kaliforniaan Berkeleyn yliopistoon. Hän käynnistää PC:llään sähköpostiohjelman
(käyttäjänedustajan eli UA:n),
kirjoittaa lyhyen sanoman "Hello! How are you?" osoitteena
M.Smart@cs.berkeley.edu ja lähettää sen.
- Mitä protokollia missäkin vaiheessa tarvitaan, kun sanoma siirretään T. Terävän
sähköpostiohjelmasta
Helsingin yliopiston postipalvelimelle ja sieltä Berkeleyn yliopiston postipalvelimelle
ja lopuksi M. Smartin luettavaksi hänen sähköpostiohjelmalleen.
- T. Terävä haluaisi liittää sähköpostisanomaan oman kuvansa. Miksi tämä on ongelmallista
SMTP-sähköpostissa? Minkä muotoisena kuvallinen sanoma siirtyy postipalvelimien välillä?
-
UDP ja TCP käyttävät ns. yhden komplementtia tarkistussummissaan.
-
Laske 8 bitin mittainen UDP-tarkistussumma seuraavalle kolmen tavun mittaiselle
sanomalle: 0101 0101 0111 0000 1100 1100. Tarkkaan ottaen yhteenlasku suoritetaan
ns. yhden komplementin
yhteenlaskuna, jossa bitit lasketaan normaalin kaksijärjestelmän mukaisesti
yhteen oikealta vasemmalle ja muistibitit käsitellään nekin normaalisti, lukuunottamatta viimeistä
muistibittiä
(tai bittejä, jos yhteenlaskettavia ykkösiä on paljon), joka (tai jotka) lasketaan lopuksi yhteen
jo saadun summan kanssa.
1011
1101
====
1000
1 (tämä on se viimeinen muistibitti!)
=====
1001 (tässä yhteenlaskun summa)
0110 (tässä sen yhden komplementti eli mukaan liitettävä
tarkistussumma)
-
Kuinka vastaanottaja havaitsee siirrossa tapahtuneen virheen?
-
Onko mahdollista, että vastaanottaja ei havaitse yhden bitin virhettä
(eli yhden bitin muuttumista nollasta ykköseksi tai päinvastoin)? Entä kahden
tai useamman bitin virhettä?
- Stop and wait -protokolla.
-
Miksi 1-bittinen järjestysnumero (käytössä siis numerot 0 ja 1) riittää 'stop and
wait' -protokollassa? Tutki protokollan toimintaa ja päättele sen
perusteella, ettei useampia numeroita tarvita erottamaan lähetykset
toisistaan, vaikka lähetetty sanoma voi kadota kokonaan tai vääristyä
virheelliseksi. Entä voivatko pitkäksi aikaa viivästyneet lähetykset aiheuttaa ongelmia?
-
Onko myös kuittaukset ACK ja NAK numeroitava 'stop and wait' -protokollassa?
Tutki taas protokollan toimintaa eri tilanteissa ja selvitä, löytyykö
tilannetta, jossa numeroimaton ACK tai NAK aiheuttaa ongelmia.
-
Osoita, että 'go back N':ää käytettäessä ikkunan koko saa olla korkeintaan N-1,
missä N on käytettyjen sanomanumeroiden määrä.
- Pohdi sähköpostin käyttöön liittyviä ongelmia.
- Onko sähköposti riittävän turvallinen ja luotettava?
- Onko sähköpostin yksityissuoja riittävä?
- Miten roskapostista voitaisiin päästä eroon?