meta data for this page
  •  

Markku Painomaa

Oppimispäiväkirja

Oppimispäiväkirjaan kirjataan omalta osin omaan oppimiseen vaikuttavia tekijöitä.

Ennakkonäkemys aihealueesta

Tietoliikenne on kaikki sähköisessä muodossa oleva tieto, joka liikkuu pitkiä välimatkoja johdinta tai ilmaa pitkin. Liikenne syntyy ihmisten kommunikoinnista keskenään lähettimillä ja vastaanottimilla. Nykyaikana tietoliikenne on keskittynyt lähinnä internettiin, joten minulle tietoliikenne = internet.

Termejä: Internet, WLAN, mobiililaitteet, pakettidata, palomuurit, protokollat, IP-osoite, DNS, P2P, troijalainen.

Kysymyksiä: Mitä protokollat oikeastaan ovat ja miten ne toimivat? Kuinka data liikkuu ja löytää perille verkoissa?

Luentoyhteenvedot

Luentopäivä 1:

Johdatus ja perustiedot kurssin suorittamiseen.

Tietoliikenne yleisesti - mistä ja miten verkot koostuvat, trendit ja palveluiden tärkeys nykypäivänä.

Kerrosmallit - Lähetys- ja vastaanottopäässä tehtävät toimenpiteet on jaettu osiin eli kerroksiin jotka kommunikoivat keskenään protokollien avulla. Yleisimmät kerrosarkkitehtuurit OSI (7 krs) ja TCP/IP (5 krs).

Protokollat - Tarkoittaa käytännössä toimintakaavaa tai käyttäytymissääntöä. Erilaisia eri tarkoituksiin, kuten HTTP, FTP, TCP, IP, SMP. Toimivat käyttäjän syötteiden kautta tai datapakettien sisältämän header-tiedon perusteella.

Luentopäivä 2:

Standardit - Opin mielestäni hyvin mitä termi tarkoittaa. Jonkin asian, esim. verkkoprotokollan standardoiminen tarkoittaa, että jokin suuri organisaatio (ISO, IEEE, DIN, ITU) on ensin hyväksynyt protokollan ja sitten julkaissut virallisen määritelmän, kuinka protokollan tulee toimia. Kun protokolla on näin standartoitu, siitä tulee yleisesti hyväksytty (ellei se sitä jo ollut, esim. TCP/IP oli de facto jo ennen virallista määristystä) ja kaikki jotka haluavat hydyntää protokollaa voivat lukea sen standardin määritelmän perusteella kuinka sen tulee toimia. Näin varmistetaan yhteensopivuus ja mahdollistetaan suurempi käyttöönotto. Standartointiprosessi on jähmeää byrokratiaa, hidastaa joskus kehitystä.

Tiedon siirtäminen ja muodot - Simplex, yksisuuntainen tiedonsiirto. Half-duplex, kaksisuuntaa yksi kerrallaan. Full-duplex, kaksi suuntaa yhtäaikaa. Analoginen (vaihteleva ja jatkuva esim. ääni) ja digitaalinen (diskreetti, esim. bittivirta on joko arvoilla 1 ja 0) signaali, edut ja haitat ja ominaisuudet. Analoginen signaali on helppoa muuttaa digitaaliseksi. Häiriöt signaalissa: kohina, vaimeneminen, päällekkäisyys ja viive.

Siirtotiet - signaalit kulkevat joko johtimia pitkin tai langattomasti. Johtimia on yleisimmin pari- ja koaksaalikaapeli, optinen kuitu ja sähköjohto. Signaali voi olla analoginen tai digitaalinen. Pitkillä välimatkoilla signaalia joudutaan vahvistamaan. Langattomasti signaali kulkee ilmassa. Langattomia siirtoteitä ovat satelliitti-, radio- ja mikroaaltolinkit ja infrapuna. Langaton signaali voi edetä suunnatusti tai suuntaamattomasti.

Tiedon koodaaminen - Erilaisia tekniikoita: koodataan analogisesta/digitaalisesta digitaalista. Eri tekniikoita: NRZ-L, NRZI, Bipolar-AMI, Manchester. Tai moduloidaan analogisesta/digitaalisesta analogista. PCM ja Deltamodulaati: analogisesta digitaalista.

Synkroninen ja asynkroninen tiedonsiirto - Synkronisessa siirrossa data lähetetään jatkuvana virtana, kehyksinä, joissa on alussa ja lopussa 8-bitin lippu ja kontrollikenttä, jotka lukemalla vastaanottaja osaa käsitellä virran. Eli aloittaa ja lopettaa vastaanoton. Asynkronisessa data lähetetään sen sijaan merkki kerrallaan, joka on 5-7 bittiä pitkä. Joka merkissä on aloitus- ja lopetusbitit, jotta vastaanottaja tietää missä mennään. Merkkien välinen aika on joutotila (idle state), kunnes luetaan taas aloitusbitti ja uutta merkkiä.

Vuonvalvonta- ACKnowledgement, Rejected, ja Ready-to-Receive-signaalit, Stop-n-Wait ja Sliding-window flow control-tekniikat

Virheiden havaitseminen ja korjaaminen - CRC, pariteettibitit, Stop-n-Wait, Go-Back-N ja Selective-reject ARQ, HDLC.

Luentopäivä 3:

Kanavointi - multipleksaus Tiedonsiirtojärjestelmien siirtokapasiteetti on yleensä ylimitoitettu, mutta kapasiteettia voidaan hyödyntää enemmän jakamalla linja multiplekserillä useiksi eri kanaviksi. Kanavointitekniikoita on neljä erilaista:

FDMA - Modulointi tapahtuu D/A tai A/A. Signaali moduloidaan eri taajuisille kantoaalloille. Kanava on kantoaallon kohdalle keskittynyt kaistanleveys.

TDMA - Modulointi D/D tai D/A. Synkroninen TDMA jakaa signaalin ts. viipaloidaan aikajaksoihin. Lähtevä määrä aikaviipaloitu data puskuroidaan. Puskurista multiplekseri lajittelee lähtevän edatan kohteen perusteella kehyksiin. Jokaisen määränpään kehykset muodostavat oman kanavan. Vastaanottaja ohjaa aikaviipaleet oikeaan paikkaan. Asynkroninen TDMA varaa kehyksien väliset aikavälit dynaamisesti.

CDMA - Käytetään langattomassa tiedonsiirrossa. Modulointi A/A ja D/A. Tämän toiminnan selitin tarkemmin Kotitehtävässä 4.

WDMA - Käytännössä laajakaistalla sovitettu CDMA/DSSS. Käytetään esim. UMTS/3G-verkoissa.

Tele- ja dataliikenne - Piiri- ja pakettikytkentä - Tämä olikin jo tuttu aihe, mutta syvensi tietämystä ja hyvää kertausta. Piirikytkentäinen verkko on lähinnä analogisen signaalin siirtoon (puhelinverkko), mutta soveltuu myös digitaaliseen, kunhan ensin käytetään signaalimuunnosta D/A. Joka kerta kun yhteys muodostetaan, varataan reitti verkosta, jota pitkin data liikkuu yhtenä virtana. Pakettikytkennässä data on digitaalista ja hajoitettu paketteihin. Yhteyttä muodostaessa ei tarvitse varata reittiä, koska paketit sisältävät määränpään osoitteen joten ne voidaan tarvittaessa hajaannuttaa kulkemaan eri reittejä pitkin. Voidaan myös tehdä virtuaalinen piirikytkentä, jolloin ensin lähetetään tiedustelupaketti etsimään tietty reitti ja sitten vasta datapaketit.

Reitittäminen - Pakettikytkentäisessä verkossa toiminto, jossa etsitään paketille reitti oikeaan osoitteeseen. Toimintakriteerit ja algoritmit.

Ruuhkautuminen ja sen säätely - Tietoverkoissa data liikkuu jonoissa, ruuhakutuminen tapahtuu kun pakettien määrä ylittää verkon kapasiteetin. Hallintaan voidaan käyttää tekniikoita nimeltä backpressure, choke packet, implicit/explicit congestion signal.

Pakettien katoaminen - Saapuessaa reitittimeen, paketit sijoitetaan puskuriin jonoon. Paketti katoaa jos puskuri on saapuessa täynnä.

Nopea vilkaisu langattomiin mobiiliverkkoihin (soluverkko). LAN - Lähiverkko - käyttökohteet, arkkitehtuuri, protokollat, siirtotiet, ethernet. Topologiat: tähti, puu, väylä ja rinki. Internetworking_ Sähköpostiprotokollat; MIME, SMP, POP

Kotitehtävä 1

Tehtäväkuvaus: Pyri kuvaamaan ennakkotehtävässä määrittelemäsi termit/aihepiirit/kokonaisuudet yhdessä kuvassa. Ryhmittele asiat mielekkäällä tavalla. Voit valita näkökulmasi.

Kotitehtävä 2

Tehtäväkuvaus: Keskity johonkin oleelliseen osaan kokonaisuudesta (oman mielenkiinnon mukaan valittavissa) ja skenaarion/käyttötapauskuvauksen avulla selvitetään mitä ko. osa-alueella oikeasti tapahtuu.

Troijalainen

Haittaohjelma tai koodinpätkä, joka ei yleensä itsessään ole virus, vaan sen yksi päätehtävistä onkin vaikuttaa harmittomalta tai pysyä näkymättömissä mahdollisimman pitkään. Se on portti varsinaisille viruksille ja hakkereille ja tuhot tapahtuvat käyttäjän tietämättä. Troijalaiset leviävät useimmiten muiden hyötyohjelmien mukana tai se voi itse olla jokin ohjelma esim. pilailuohjelma. Muut leviämisreitit ovat: sähköpostien liitetiedostot, muiden ohjelmien kautta (messenger, hämäävä tervehdysviesti ja linkki) tai nettisivuilta, joilla suoritettava ohjelmakoodia (ActiveX).

Troijalaiset voidaan jakaa kahteen ryhmään:

Adware - Nämä troijalaiset eivät vanhigoita konetta, mutta saavat aikaan yllättäviä mainosesityksiä pop-up-ikkunoiden muodossa. Ne keräävät myös käyttäjältä selailutietoja, jonka perusteella käyttäjälle osataan esittää hänen mieltymyksensä mukaisia mainoksia tai linkkejä sivustoille. Toiset mainosohjelmat voivat olla myös pelkkiä selaimen työkalupalkkeja.

Hijacker ja spyware - Todella haitalliset troijalaiset, joiden päätehtävänä on avata takaportteja (backdoor), jotta troijalaisen luonut hakkeri tai muu pääsee ottamaan koneen haltuunsa. Tähän tarkoitukseen on olemassa porttiskanneriohjelmia, jotka tutkivat mahdollisia troijalaisen avaamia portteja tai muita avoimia portteja.

Yleisiä toimenpiteitä, kun kohde on otettu haltuun troijalaisen avulla:

Tiedostopalvelin - kohteeseen voidaan perustaa pieni ftp-palvelin jonka avulla voidaan ladata ja lähettää tiedostoja.

Pääkäyttäjän oikeuksien kaappaaminen - hakkeri voi ottaa haltuunsa admin-oikeudet, jolloin mikä vain on mahdollista. Rekisterin muokkaaminen, tiedostojen lataaminen/lähettäminen, ohjelmien asentelu ja tiedostojen poistaminen tai koneen kaataminen.

Salasanojen varastaminen.

Kuvankaappaaja - ottaa screenshotteja lähettää niitä isännälleen tai jopa seuraa kuvaruutua.

Keylogger - ohjelma joka tallentaa lokitiedostoon kaikki näppäinpainallukset ja lähettää isännälleen.

Distributed Denial of Service - Kohteesta voidaan tehdä osa botnet:ä eli automaattisesti toimivaa tietokoneverkkoa, jonka tehtävänä on hyökätä jonkin sivuston (tai palvelimen) kimppuun lähettämällä massoittain palvelupyyntöjä, jolloin sivusto kaatuu tai ei pysty palvelemaan ketään.

Spämmääminen - sama periaate kuin DDoS, mutta palvelupyyntöjen lähettämisen sijasta kohde toimiii roskapostinjakelijana.

Kotitehtävä 3

Tehtäväkuvaus: Valitse haluamasi aihealue (esim. omasta terminologiastasi/aihepiirilistasta (oppimispäiväkirja)) Etsi aihepiiriin liittyvä protokolla. Tutustu protokollaan (rakenne, logiikka, viestit, …) ja mieti kuinka protokolla vaikuttaa valitsemasi aihepiirin toimintaan. Esitä www-osoite käyttämääsi protokollaan.

P2P ja Bittorrent-protokolla

Bittorrent on vertaisverkkojen tiedostonjakoprotokolla. Normaalisti tiedostot sijaitsevat palvelimilla ja käyttäjät lataavat niitä sieltä. Vertaisverkossa yksittäiset käyttäjät (peer) toimivat palvelimina ja ovat suorassa yhteydessä toisiinsa ilman välikäsiä.

Torrentin luominen

Vertaisverkot toimivat esimerkiksi niin, että käyttäjä A haluaa jakaa kappale.mp3:sen. Hän käyttää asiakasohjelmaa ja luo tiedostosta .torrent-metatiedoston. Metatiedosto sisältää ilmoitusosion seurantapalvelimen (tracker) URL:in ja info-osion, jossa on tiedostojen nimet, koot ja palakoot sekä tiedostopalojen SHA-1-tiivistystiedot. Kryptauksella asiakasohjelma varmistaa tiedostopalojen yhtenäisyyden. Sen jälkeen .torrent jaetaan jollekin yleiselle www-palvelimelle tai muulla tavoin saataville. Käyttäjä A laittaa sitten kappale.mp3 jakoon jollekin palvelimelle (tai jakaa omalta koneeltaan). Palvelin toimii jakajana (seed), koska kokonainen tiedosto sijaitsee siellä.

Torrentin lataaminen

Käyttäjä B lataa (leech) torrent-tiedoston ensin WWW-palvelimelta. Asiakasohjelma lukee torrentin, yhdistää B:n seurantapalvelimeen. Seurantapalvelimia on olemassa julkisia ja yksityisiä palvelimia ja ne pitävät kirjaa kaikista käyttäjistä (jakajat/lataajat) ja heidän osoitteistaan, jotka palvelin sitten kertoo asiakasohjelmille. B:n asiakasohjelma yhdistetään käyttäjän A asiakasohjelmaan ja aloitetaan lataaminen. Kun tiedostoja ladataan, asiakasohjelma lähettää jatkuvasti tilannetietoja palvelimelle. Jotta varmistetaan kaikkien palojen saatavuus, lataamisessa käytetään “harvinaisin pala ladataan ensin” - periaatetta. Lisäksi käytetään käyttäjien valinnassa käytetään “tit for tat” skeemaa eli se, joka jakaa saa ladata. Koska tiedosto on nyt jaettu eteenpäin useammalle vertaisverkon jäsenelle, käyttäjä C voi nyt ladata tiedoston hajautetusti A:lta ja B:ltä. Kuten aiemmin mainittu, tiedostot jaetaan paloissa, jotka ovat yleensä 250kt kokoisia ja jaettuna vielä 16 kt alipaloihin. Jos kappale.mp3:n on ladannut ja jakaa kymmenen henkilöä, niin käyttäjä C saa tiedoston paloina kymmenestä eri lähteestä. Hajautettu jakaminen mahdollistaa suuret latausnopeudet, eikä myöskään rasita yhtä ainoaa palvelinta.

Bittorrentin toimintakaavio

http://fi.wikipedia.org/wiki/BitTorrenthttp://wiki.theory.org/BitTorrentSpecification http://bittorrent.org/beps/bep_0003.html kuva: http://aplawrence.com/Girish/gv-peer-to-peer.html

Kotitehtävä 4

Tehtäväkuvaus: Valitse jokin “tuttu” järjestelmä (esim. Oppimispäiväkirjaan valitsemasi, GSM, GPS, Digi-TV). Etsi verkosta tietoa kuinka juuri kyseisessä järjestelmässä tiedon siirto on hoidettu. Esim. Fyysinen siirtotie, Bittien esitys siirtotiellä, Modulointi etc. tekniikka, Datan esitysmuoto vs. signaalit

Spread Spectrum - Hajaspektri

Hajaspektritekniikkaa käytetään langattomassa tiedonsiirrossa, yleisimmin WLAN:ssa. Kehitetty alunperin sotilaskäyttöön, koska signaali on ulkopuoliselle urkkijalle pelkkää kohinaa. Vain lähettäjä ja vastaanottaja tietävät signaalin sisällön. Hajaspektritekniikoita on kaksi: frequency hopping spread spectrum - FHSS ja direct sequence spread spectrum - DSSS. Peruskäytäntö on sellainen, että data syötetään enkooderille, joka tuottaa siitä kapeakaistaista analogista signaalia. Analoginen signaali moduloidaan käyttäen näennäissatunnaista numerosekvenssiä. Näennäistä siksi, että modulaattorille annetaan tietty siemenluku, josta sen algoritmi saa alkaa tuottamaan lukuja. Moduloidessa kaistanleveys kasvaa huomattavasti (spektriä hajautetaan), signaalista tulee ulkopuolisille kohinaa. Vastaanottajapäässä sama systeemi käydään takaperin eli signaali demoduloidaan, vastanottaja siis tietää pseudosatunnaislukualgoritmin siemenluvun. Lopuksi analogisignaali dekoodataan takaisin dataksi.

frequency hopping - taajuushyppely

D/A-konversioon käytetään joko FSK - tai BPSK - modulaattoreita. Analogisella signaalilla on jokin perustaajuus, jota sitten vaihdetaan, hypätään, puolen sekunnin väliajoin. Satunnaislukualgoritmi tuottaa nyt lukuja jotka toimivat indekseinä frekvenssitaulukkoon. Eli jos algoritmi antaa n:n ja taulukossa n:n kohdalla on frekvenssi f_n niin nykyinen frekvenssi korvataan sillä jne. Vastaanottajalla on samanlainen frekvenssitaulukko ja siemenluku, jolla signaali voidaan taas muuntaa alkuperäiseksi.

direct sequence - suorasekvensointi

Tässä tekniikassa jokainen lähtösignaalin bitti koodataan esittämään useampaa bittiä ja kaistanleveyttä saadaan kasvatettua. Esim. 1 bitti korvataan 10 bitillä. Satunnaislukualgoritmi luo bittivirran, joka lasketaan yhteen alkuperäisen signaalin bittien kanssa käyttäen XOR:ia. Tai sitten data ja satunnaisbittivirta moduloidaan kumpikin erikseen analogiseksi signaaliksi ja yhdistetään vasta sitten. D/A-konversioon käytetään BSPK:ta. Vastaanottaja pystyy erottamaan viestin ja kohinan toisistaan, koska kohinan sekvenssi on tiedossa.

Kotitehtävä 5

Tehtäväkuvaus: Käyttöskenaariot Muodosta tietoverkkojen käyttöskenaario yhteen seuraavista ympäristöistä: Koti, Koulu, Kaupungin keskusta tai Lentokenttä. Mieti millaisia haasteita eri ympäristöt asettavat kommunikoinnille. Kuinka kurssilla opitut asiat tukevat eri ympäristöissä tapahtuvaa kommunikointia. Millaiset asiat muodostuvat näissä eri ympäristöissä merkittäviksi. Millainen verkkorakenne sopii ympäristöön?

Lähiverkko kotiin

Paikkana on kaksikerrokseinen talo, jossa yksi pöytäkone ensimmäisessä kerroksessa ja toinen yläkerroksessa. Välillä joku tulee kannettavan tai jopa pöytätietokoneen kanssa käymään. Käyttötarkoituksena LAN:lle on että internetyhteyden voisi jakaa ja samalla olisi mahdollista pelata pelejä (strategia ja first person shooter). Koneiden yhdistämiseen tarvitan reititin jos yhdistettäviä on enintään neljä. Useimmissa reitittimissä on vain neljä porttia. Useimmille koneille tarvitaan lisäksi kytkinlaite, joka lisää porttien määrää. Kaikki koneet kytketään kytkimeen rj45-parikaapeleilla ja kytkin liitetään reitittimeen. Reititin kytketään vielä internetyhteydentarjoajan verkkoon kaapeli- tai ADSL-modeemilla, tai mikä yhteys nyt onkaan saatavilla. Topologia on siis tähti, koska reititin-kytkin-yhdistelmä on keskus ja koneet liittyvät siihen. Ongelmia voi olla pitkien kaapelien vetäminen pitkin taloa: kaapelit seinänlistaa pitkin ja porataan reikä sopivasta kohdasta yläkertaan. Toinen ongelma on kaistan jako: esim. torrenttien lataaminen syö tehokkaasti muilta käyttäjiltä kaistaa. Koska ollaan kotiympäristössä niin tästäkin voidaan helposti neuvotella.

Viikoittainen ajankäyttö

  • Luentoviikko 1
    • Lähiopetus 5 h
    • Valmistautumista lähiopetukseen 0,5 h
    • Kotitehtävien tekoa 1 h
  • Luentoviikko 2
    • Lähiopetus 6 h
    • Valmistautumista lähiopetukseen 1 h
    • Kotitehtävien tekoa 2 h
  • Luentoviikko 3
    • Lähiopetus 6 h
    • Valmistautumista lähiopetukseen 0,5 h
    • Kotitehtävien tekoa 6 h

Palaute

Erittäin hyvin tehdyt kotitehtävät. Kokonaisuus ei ehkä ehein (siis aiheet olisivat voineet olla lähempänäkin toisiaan) mutta siitä huolimatta hyvä. Pohdinat hyviä.


Pääsivulle