meta data for this page
  •  

Oppimispäiväkirja

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

Ennakkonäkemys aihealueesta

Tietoliikenne on tullut tutuksi jo aiempien opintojen sekä työssäoppimisen kautta. Insinöörimäisesti ajattelen tiedonsiirrolla matalan tason kommunikointia, mutta koitan vaihtaa mind-settiä siihen suuntaan, että kyseessä on tiedon ja ylipäätään informaation välitys eikä medialla ole niinkään merkitystä. Tietoliikenne on jo jokapäiväistynyt ja käytämme yhä enemmän tietoliikennettä tiedostamatta. Vaikkakin tietoliikenteen perusteet on jollakin tasolla tiedossa, uskon että tällä kurssilla tulee hyvä päivitys aiemmin opittuun.

Luentoyhteenvedot

Luentopäivä 1: Etänä, luentokalvoissa tietoliikenten trendit ja erityisesti käyttäjän näkökulma oli mielenkiintoista. OSI mallin ja TCP/IP kuittasin nopealla selaamisella. TCP/IP tuli kyllä aikoinaan hyvinkin tutuksi kun porttasin TCP/IP pinon sulautettuun reaaliaikasysteemiin.

Luentopäivä 2: Etänä, Selasin kalvot läpi. Hyvää kertausta aiemmin opittuun.

Luentopäivä 3: Etänä. Selasin kalvot läpi. Hyvää kertausta edelleen. On kyllä monet asiat jo unohtunut eli pitänee vielä lueskella lisää. Radiotekniikka on kyllä pahiten jäänyt paitsioon kun ei ole viimevuosina tarvinnut soveltaa. Protokollat yms. enemmän tuttuja.

Luentopäivä 4: Jälleen etänä. Kanavoinnin perusteet on jotenkuten muistissa. Tarkemmin kun mietin niin jo vuuonna 2001 olin mukana projektissa kehittämässä UMTS tukiasemasoftaa. Tuolloin tuli ainakin WCDMA tutuksi.. tuosta on siis jo 10 vuotta. Kyllä aika menee nopeesti. Piiri/pakettikytkentä ok. Reitysprotokollat oli uutta/unohtunutta asiaa.

Luentopäivä 5: Jälleen etänä. Näille luennoille oli paljon materiaalia. Lueskelin nuo kappaleet Stallingsin kirjasta. Ei mitää suuria ahaa-elämyksiä. Tuo Vision 2020 herätti vähän ajatuksia. Tuntui vähän jo vanhentuneelta kunnes huomasin, että tuo on vuodelta 2008. Jotenkin näissä tulevaisuuden visiossa on monesti se ongelma, että aliarvioidaan teknologian kehitys, mutta yliarvioidaan se, että ihminen muuttaisi merkittävästi toimintatapojaan. Esim. kuva jossa ihmiset tekisivät töitä jokapäiväisellä työmatkalla junan _kiinteissä_ työpisteissä tuntuu huvittavalta. Samoin “molisko”-rannepuhelin.

Kotitehtävä 1

Luo kuva työpaikan/kodin/kämpän/jonkin tutun paikan tietoliikenteeseen kuuluvista laitteista, niiden käytöstä ja jopa yhteen linkittymisestä sekä niissä käytetyistä palveluista. Kirjaa näkyville kolme mielestäsi tärkeintä kysymystä, jotka haluat selvittää

Kuvasin tähän nykyisen kotiteatterin / kodin audio/video/tietoliikenne systeemin. Ongelmana tässä aivan hirvittävä kaapelin määrä ja toisaalta hieman rajoittunut käytettävyys. Jatkossa systeemiä tarkoitus kehittää siihen suuntaan, että kaikki sisältö (musa, leffat, kuvat) olisi keskitetysti yhdellä palvelimella, johon pääsisi langattomasti eri huoneista sekä jopa internetin kautta esim. autosta. Jos tuo asia valkenee tämän kurssin ainaka niin päivitänä tähän kuvan vielä siitää uudesta uljaasta systeemistä.

kotiteatteri.jpg

Kyssärit:

1. Kuinka mediaserver tulisi toteuttaa, että sinne voi tallentaa langattomasti

a) digikuvat suoraan kamerasta

b) Digi-TV (HD) lähetykset

c) Muut digitaalisessa muodossa olevat leffat

2. Millä tekniikala mediaserverin sisältö siirretään päätelaitteisiin (tv, videotykki, läppäri, kännykkä). DLNA/uPnP?

3. Kuinka pääsen käsiksi mediaserveriin kotiverkon ulkopuolelta ja esim 2v. tytär voi streamata “matomatalaa” suoraan kännykkään tylsällä automatkalla? Tai katsella digikuvia. VPN?

Kotitehtävä 2

Kotitehtävä1:n jälkeen halusin saada mp3:t ja videot pyörimään kannettavaan päätelaitteeseen keskitetyltä serveriltä. Muutama ilta tuli aihetta opiskeltua (olisi kyllä ollut muutakin tekemistä) ja lopulta päätin kokeilella SAMBA-jokoon perustuvaa systeemiä. Eli WinXP serverillä on video ja musiikkitiedostot jaossa ja niihin pääsee käsiksi Wlan:n kautta. Homma toimi ok XBOX:n ja Win7 läppärin kanssa, mutta Android-kännnykässä ei riittänyt vääntö pyörittää HD-videota. Lisäksi jako toimi vaan kotona lähiverkossa. Tutustuin sitten Android Marketin tarjontaan ja sieltä löytyi valmiina VLC stream client sovellus. Vastaavasti WinXP:lle löytyi VLC-server. Tämän systeemin hienoutena on se, että videon kodek puretaan jo (tehokkaalla) serverillä ja video vaan streamataan kevyemmällä formaatilla päätelaitteeseen. Tällöin (pienitehoisen) päätelaitteen ei tarvitse purkaa raskasta pakkausta ja videokuva näkyy ilman katkoksia. Nyt täytyi vielä ratkaista kuinka videot saisi näkymään myös kotiverkon ulkopuolelle. Helpoin vaihtoehto on tietty tehdä palomuuriin reikä sopivasti, että tuo WinXP-server näkyy julkiseen internettiin, mutta tuo ei tuntunut kovin tietoturvalliselta ratkaisulta. Ekana mieleen tulikin VPN-ratkaisu ja yllättäen Android-puhelimesta (ja luonnollisesti WinXP/7:sta) löyty valmiiksi VPN-sovellus. Tarvittiin vaan yksi pitkä ilta palomuurien ja reitittimien konffausta ja pään raapimista ja todellakin lopputulos on, että pääsen nyt tuohon WinXP mediaserveriin mistätahansa internetistä VPN-yhteydellä kiinni ja voin pyörittää tuon serverin levyllä olevia video- ja musiikkitiedostoja päätelaitteessa. Niin ja katsoa sinne tallennettuja valokuvia kuten myös tallentaa puhelin kameralla otetut valokuvat. Testattu muutama autoreissukin ja homma toimii hyvin myös 3G-verkossa auton liikkuessa. Näin on tämänäkin “touhulan arvoitus”*) ratkennut ja tytär voi halutessaan katsoa vaikka sitä Mato Matalaa jos automatka käy pitkäveteiseksi.

Niitä protokollia:

- VideoLAN (RTSP, real time stream protocol). http://www.ietf.org/rfc/rfc2326.txt

- VPN (PPTP, Point-to-Point Tunneling Protocol). http://tools.ietf.org/html/rfc2637

- 3G (TCP over Second (2.5G) and Third (3G) Generation Wireless Networks) http://www.ietf.org/rfc/rfc3481.txt

*) Richard Scarryn touhukas maailma

p.s. Hankin juuri Linux pohjaisen digiboxin, johon löytyi valmistajan sivuilta SDK sekä ristikääntäjä. Tavoitteena saada tuonne boxiin pyörimään Linux versio tuosta VLC-serveristä. Näin voisi saada myös digi-TV kuvan streamattua. Joskus.

Kotitehtävä 3

Kolmannessa kotitehtävässä tarkastallaan laitteiden ja palveluiden hyödyntämiä siirtoteitä ja tiedon koodausta. Eli jälleen käsitellään 3 eri tapausta ja niistä käytetty siirtotie ja sillä käytetty koodaus. Jos käytetään ilmatietä niin olisi hyvä selvittää taajuusalue jolla toimitaan.

Tämä meni kyllä nyt enemmän tietoturvan perusteiden puolelle, mutta on niin herkullinen esimerkki, että päätin kirjoittaa sen tähän. Tietoliikenteeseen tämä kuitenkin vahvsti liittyy.

Tuolla aiemmin mainitsin, että hankin Linux-pohjaisen media/digi-boxin (nexus hmr-2000). Nyt siis pystyy streamaaman vaikka sinne autoon leffojen ja musiikin lisäksi digi-tv tallennuksia. Jonkin verran kun on työnpuolesta sulautettua Linuxia tullut harrastettua niin täytyi tutkia mitä boxi syönyt. Tuossa siis on perus-graafinen käyttöliittymä, josta löytyy ns. normaalit tallentavan digiboxin ja verkko-mediaplayerin toiminnot. Laite on kytketty wlan:lla kodin lähiverkkoon. Kun tiesin purkin olevan Linux-pohjainen ei graafinen käyttölittymä Linux-nörtille tietenkään riitä vaan täytyy päästä käsiksi komentoriviin, että voi vaikka sitten asennella boxiin itse tekemiä/kääntämiä ohjelmia (esim vaikka tuo teht2:ssa mainittu vlc).

Helpoin tapa päästä käsiksi Linuxiin on ottaa Telnet yhteys lähiverkossa olevalta PC:koneelta. Tähän ongelmana meinasi olla, että miten saan telnetd:n (telnet serverin) asennetua boxiin (tähän ei tietenkään purkin käyttöliittymä tarjoa mitään apuja). Kuitenkin tässä Kiinan pojat oli sen verran avuliaita, että koittaessani Telnet yhteyttä suoraan boxin IP:hen, paljastuikin, että telnetd on oletuksena päällä (1. nolo tietoturvamoka). Loistavaa.

Nyt siis edessä oli login, mutta ei tietoa käyttäjätunnareista eikä varsinkaan salasanoista. root pääkäyttäjä tunnari tietty on kaikissa Linuxeissa, mutta salasanaa en keksinyt nopeasti. Kokeilin sitten piruuttani muita tunnareita ja yllättäen tunnari 'default' tuotti tulosta (2. nolo tietoturvamoka) ja vieläpä nolosti tuolle ei oltu määritelty ollenkaan salasanaa (3. nolo tietoturvamoka). Nyt olin siis päässyt loggaamaan boxiin sisään, tosin vaan normi-käyttäjänä, ei siis superuser oikeuksia, root:sta nyt puhumattamaan, mut tästä on hyvä jatkaa.

Kun pääsin hykertelemästä tyytyväisyyttäni niin ekana tutkimaan /etc/passwd tiedoston sisältöä. Tuo siis sisältää listauksen ko. Linxin tunnareista ja hyvällä tuurilla hash:t salasanoista (kaikkihan tietää mikä hash on, jos ei niin kysy Jäppiseltä). Kuinka ollakaan useampien tunnareiden hashit oli piilotettu ns. shadow teidostoon, johon normi-käyttäjällä ei ole pääsyä. Mutta hah, yhden superuser käyttäjän sekä root:n hashit löytyi ko. tiedostosta (4. tietoturvamoka). Nyt kun minulla on tiedossa tuo hash, salasanaa voi koittaa murtaa brute-forcella. Tuo hash on MD5-pohjainen koodaus, eli siitä salasanaa ei voi purkaa. Ja oikeastaan brute-forcekaan ei auta jos salasana on riittävän vahva. Tein siis pari olettamusta (sori kiinanpoika kun oletin sinun olevan yksinkertainen :). 1. olettanus: salasana on korkeintaan 8 merkkiä pitkä, 2. olettamus: salasana on pelkästään lowercase kirjaimia. Nämä olettamukset kerroin brute-forcelle ja eikun kone töihin ja jännityksellä odottamaan…

trying..not…trying..not..

Meni kokonaista pari minuuttia kun superuser tunnari ole murrettu. Salasana oli vain 6 merkkiä pitkä ja sisälsi lowercase aakkosia (5. tietoturvamoka). root:n tunnaria kone rouskutti jo yli 8 tuntia ennenkun murtui, oli peräti 7 merkkiä pitkä… (6. tietoturvamoka). Jees nyt minulla on siis pääkäyttäjän oikeudet boxiin. Kokeilin heti jotakin konkreettista ja käskyllä 'eject /dev/dvd' sain boxin usb-porttiin liitetyn DVD-aseman luukun aukeamaan. Voi sitä riemua, on ne vaan insinöörillä halvat huvit! :)

Tuosta “roottauksesta” on sekin hyöty, että nyt pystyn kätevästi ottamaan varmuuskopiot kaikista DVD:eistä suoraan tuonne boxin 2TB:n kovalevylle. Tää on ainakin lasten levyjen kohdalla iso apu. Ei tartte levyjen kans pelata. Kopiointi onnistuu suoraan tuolta USB-dvd asemalta linuxin dd-komentorivikäskyllä esim. 'dd if=/dev/dvd of=pororo.iso' (koitappa tehä sama Windowsilla :). Niin ja toisiaan tuossa boxissa ei ollut dvd-asemaa alunperin, mutta toki minun HP-läppärin asema toimii tuossa plug'n play.

Meni kyllä pahasti ohi tehtäväannosta, mutta tässä tuli paljon uutta oppia ainakin minulle. Mainittakoon, että boxin olisi saanut murrettua myös irroittamalla siitä kovalevy ja asentamalla sen PC:hen. Näin olisi rootin salasanan voinut resetoida. Mutta kun nyt opiskellaan tietoliikennettä, niin tuli tehtyä tuo operaatio tietoverkkoa pitkin, itse laitteesen lainkaan koskematta (ainoastaan siis IP tiedossa, senkin katsoin routterin dhcp-serveriltä).

Käytettyjä siirtoteitä ja koodauksia:

1. Telnet yhteys WLAN:n kautta. IEE802.11n. Taajuusalue 2,4GHz. Radiotekniikka DHSS ja FHSS.

2. Ääni siirtyy PCM-koodattuna optista piuhaa pitkin boxilta viritinvahvariin. Joissakin leffoissa on monikanava-ääni, tällöin koodaus AC-3

3. Digitv-lähetys DVB-T. OFDM-modulaatio. Kanavien keskitaajudet luokkaa 400-800Mhz

Kotitehtävä 4

En alkanut piirtää uuttaa kaaviokuvaa kodin yhteyksistä vaikka niin tuolla alussa uhosin. Tässä kuitenkin valokuva, jossa seinälle tulee live digi-tv kuva digiboxista (Linux). Sama kuva näkyy edelleen WLAN:n yli läppärin (Win7) näytöllä ja myös 3G verkossa olevan matkapuhelimen (Android) näytöllä. Kuva taas valehtelee enemmän kuin tuhat sanaa eli käytettävyys yms ei ole “Apple” tasoa ja puskurointien kans on vielä mietittävää, mutta olkoon tämä ikäänkuin proof-of-concept eli teknisesti mahdollista. Tässä tapauksessa Boxi puskuroi livekuvaa (mpeg2)omalle kovalevylleen, joka edelleen jaetaan lähiverkkoon sekä VPN-putkea pitkin kotiverkon ulkpuolelle. Kanavan vaihdot, epg yms. etänä vielä puuttuu, mutta nekin kyllä tarvittaessa onnistuu (telnetin kautta voi emuloida kaukosäädintä). Tässä mahdollinen jatkotutkimuskohde :)

Tuli vielä hyvä kasarileffa sopivasti tv:stä :)

(Yllättävän vaikea ottaa kuva kolmesta näytöstä..)

Tarkastallaan 4. kotitehtävässä siirtotien/verkon hyödyntämiseen ja tehokkuuteen liittyviä asioita. Riippuen kunkin tarkastelemista laitteista/sovelluksista/teknologioista pohtikaa hieman kuinka valituissa lähestymistavoissa siirtotien/siirtoverkon tehokas käyttö on huomioitu. Onko kyse kanavoinnista vaiko verkkotekniikoista joilla tehokkuus ja yhtäaikainen käyttö saadaan aikaiseksi.

- 3G verkossa (UMTS) käytetään koodinjakotekniikkaa (WCDMA). CDMA:ssa kaikki käyttäjät voivat hyödyntää koko taajuuskaistaa. Käyttäjät tunnistetaan yksilöllisellä koodilla. WCDMA tarkoittaa laajakaistaista CDMA:ta, etuna ainakin suurempi tiedonsiirtokapasiteetti.

- WLan verkko koostuu taajuusjaetuista kanavista. Euroopassa käytetään 13 kanavaa. Aiemmin kotiverkossa oli käytössä 802.11g, päivitin juuri tukiasemat 802.11n version. Tällöin päästään parempiin nopeuksiin, kun voidaan hyödyntää kahta kanavaa yhtaikaa. Teoreetinen nopeus pitäisi olla 150mbs. Käytännössä nopeus on muutamia kymmeniä mbps:iä.

Kotitehtävä 5

# Kokonaiskuva sovelluksen käyttäytymisestä eli pohtikaa yksittäisen sovelluksen (oma valinta) toimintaa aina sovellustasosta varsinaiseen bittien siirtoon. Pyrkikää luomaan kokonaiskuva, jossa kurssilla käydyt asiat nivoutuvat yhteen. # Tietoturva eli tutustukaa tietoturva-asioihin kappaleen 23 (ja 24) mukaisesti ja liittäkää tietoturva aiemmin käsiteltyihin konteksteihin.

Esim. Sovellus työelämän puolelta: Sulautettu laite valvoo 3-vaihe verkkosähkön laatua. Mitattava signaali on analogista sini-aaltoa (50Hz). Signaalia näytteistetään A/D-muuntimella siten, että jokaiselta jaksolta otetaan 32 näytettä (per vaihe). Näin analoginen signaali saadaan digitaaliseen muotoon. Digitaalinen data tallennetaan muistiin ja lasketaan FFT (Fast Fourier Transform) “sopivasti”. Näin saadaan mm. Peak- ja RMS-jännittet selville. Nämä tulokset tallennetaan edelleen tietokantaan, josta ne voidaan siirtää kenttäväylää (Profibus) pitkin eteenpäin. Profibus on fyysiseltä toteutukselta RS-485:n kaltainen (HW-mielessä). Eli esim voi käyttää kuparin lisäksi optista kaapelia muuntimen avulla ilman, että laitteen tarvitsee sitä erikseen tukea. Profibus on siis varsinaisesti ylimääräinen SW-protokollapino joka istuu rs-485 toteutuksen päällä. Kenttäväylään Lähetettävä data kehystetään profibus-pinon eri kerroksissa ja lopulta matalimman tason laiteajuri kellottaa datan profisafe kehyksineen rs-485 väylään bitti-bitiltä.

Tietoturva-asioita tulikin sivuttua 3-tehtävässä. Tuossa sulautetun laitteen esimerkissä tietoturva uhkat ei ole kovin suuria, laitetta kun ei ole kytketty Internettiin. Pahin tilanne voisi olla, että jokin taho kytkeytyisi profibus väylään kuuntelemaan kommunikointia. Kuitenkaan tuolla ei voisi estää laitteen toimintaa. Kyseisen laitteen päätehtävä on verkkohäiriön sattuessa kytkeä varavoima (toinen verkko ja tarvittaessa käynnistää esim. generaattori). Siinä mielessä tietoturva täytyy suunnittelussa huomioda, koska esim. palvelunestohyökkäys onnistuessaan voisi estää esim sairaalan leikkaussalin varavoiman kytkeytymisen.

Viikoittainen ajankäyttö

Luentoviikko 1: - Etänä kurssin sisältöön tutustuminen 1h

Luentoviikko 2 - Etänä luento1 kalvojen läpikäynti + wikisivuston luonti + ennakkotehtävä 2h - Kotitehtävä1: 1h - Luento2 Kalvojen läpikäynti: 0,5h

Luentoviikko 3: - Luentokalvot luento2: 1h - Kotitehtävä2: 1h (+ muutama ilta uPnP, VideoLAN sekä VPN, WinXP, Win7 sekä Android säätämistä :)

Luentoviikko 4: - Luentokalvot luento3: 1h - Kotitehtävä3: 2h (+ muutama ilta mediabox/Linux säätämistä :)

Luentoviikko 5: - Stallings kirjan selaus/ tenttiin valmistautuminen 5h - Luentokalvot luento4 & 5: 1h - Kotitehtävä4&5: 2h