Tietoliikenteen perusteet, syksy 2011

Harjoitus 2

  1. Sanoma, paketti ja paketin koko
    Olkoon sanoman koko 10 Mtavua ja sanoman kohde kolmen hypyn päässä (välissä kaksi reititintä). Siirtonopeus on 1 Mtavua/sekunti ja etäisyydet niin pieniä, ettei etenemisviiveellä ole merkitystä. Myöskään sanomakäsittelystä ja jonottamisesta sekä virheellisten sanomien uudelleenlähettämisestä mahdollisesti aiheutuvia viipeitä ei oteta huomioon.

    1. Miten kauan kestää sanoman lähettäminen kokonaisena lähteestä kohteeseen?
    2. Sanoma jaetaan kymmeneksi 1 Mtavun 'paketiksi', jotka sitten lähetetään peräkkäin vastaanottajalle. Kuinka kauan nyt kestää koko sanoman siirtäminen lähettäjältä vastaanottajalle?
    3. Miten a)- ja b)-kohdissa saatuja tuloksia voidaan hyödyntää tietoliikenteessä? Eikö sanomien pilkkomista yhä pienemmiksi paketeiksi kannattaisi jatkaa loputtomiin?
    4. Jos linjalla esiintyy paljon virheitä, niin kannattaako käyttää pientä vai suurta pakettikokoa? Entä kuinka kannattaisi toimia lähes virheettömällä linjalla?
    5. Kokeile kurssikirjan tukisivulta löytyvää sovelmaa eli aplettia "Message Segmentation". Millaisia arvoja saat, kun kun sanoman koko on 16 Kbittiä ja paketin koko on 16, 8, 4 2 tai 1 kbittiä? Miten arvoihin vaikuttaa linkin etenemisviive?
  2. Sanoman koon optimointia
    Lähetetään x bittiä käyttäjän dataa pakettiverkon kautta k:n "hypyn" päässä olevaan kohteeseen peräkkäisinä paketteina. Verkon paketin koko on p databittiä ja h otsakebittiä (ja x >> p+h). Datan siirtonopeus on b bps ja etenemisviive linkillä on niin pieni, että se voidaan jättää huomiotta. Mikä p:n arvo minimoi (saadaan derivoimalla) kokonaissiirtoajan?

  3. Etenemisviive

    1. Kokeile kurssikirjan tukisivulta löytyvää sovelmaa eli aplettia "Transmission versus Propagation Delay". Miten etenemisviiveen osuus kokonaisajasta vaihtelee, kun paketin koon ollessa 1 kB vaihtelet etäisyyttä (10 km tai 1000 km) ja siirtonopeutta (1 Mbps tai 100 Mbps)?
    2. Oletetaan, että koneet A ja B ovat viestivät geostationaarisen satelliitin välityksellä. Satelliitti sijaitsee noin 36000 km korkeudessa. Satelliittiyhteyden siirtonopeus on 1 Gbps. Bittien etenemisnopeus (propagation) on 200 000 km/s eli noin 2/3 valonnopeudesta.
      1. Kuinka pitkä on etenemisviive (propagation delay) A :n lähettäessä B:lle?
      2. Kuinka kauan kestää lyhyen 1500 tavua sisältävän sanoman lähettäminen A:lta satelliittiin?
      3. Montako bittiä mahtuu samanaikaisesti (ja peräkkäin) kulkemaan A:ta satelliittiin yhdistävällä siirtolinkillä? Kuinka pitkä tällöin on yksi bitti?

  4. Pakettien hukkaaminen puskurin ylivuodon takia
    Kokeile kurssikirjan tukisivulta löytyvää sovelmaa eli aplettia "Queuing and Loss Applet".
    1. Tutki tilannetta, jossa pakettien keskimääräinen saapumisnopeus on 500 pakettia/s ja siirtonopeus 350 pakettia/s. Kuinka monta pakettia sadasta saapuneesta häviää puskurin ylivuodon takia?
    2. Jos keskimääräinen saapumisnopeus on 500 pakettia/s, riittääkö lähetysnopeuden nostaminen 500 pakettiin/s estämään puskurin ylivuodot ja siitä johtuvat pakettien häviämiset? Suorita sovelmaa noin 500 paketin verran. Mitä tapahtuu? Miksi näin käy?
    3. Kannattaisiko ylivuoto-ongelma ratkaista ottamalla käyttöön hyvin suuri, jopa ääretön puskuri?

  5. Internet uhattuna
    Millä eri tavoin Internetin turvallisuus on nykyään uhattuna?
    (Verkon uhkia käsitellään kurssikirjan luvussa 1.6 ja tietoa löytyy myös verkosta.)
    Vastaa tähän kysymykseen niinkuin tämä olisi 10 pisteen koekysymys.
  6. HTTP-protokolla

    1. Innokas Internet-käyttäjä, opiskelija Iitu Iivari istuu tietojenkäsittelytieteen laitoksella surffailemassa ja avaa hiirenklikkauksella lukemastaan dokumentista URL-linkin http://www.helsinki.fi/yliopisto/.
      Mitä sovelluskerroksella tapahtuu? Ketkä kommunikoivat ja kuinka? Mitä HTTP-viestejä lähetetään?
    2. Tutki itse, miltä HTTP-protokollan sanomat näyttävät. Ota telnet-yhteys WWW-palvelimeen: telnet www.poly.edu porttiin 80 ja pyydä sieltä professori Rossin kotisivua: GET /user/ross/index.html HTTP/1.0. (Tässä paina enteriä kahteen kertaan). Entä jos GET:n sijaan käytätkin HEAD:ia? Mitä tapahtuu, jos käytätkin HTTP/1.1-versiota.