18
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Zagreb, lipanj 2016. ZAVRŠNI RAD br. 4419 MOBILNOST STVARI U ARHITEKTURI INTERNETA STVARI Jurica Hanžek

ZAVRŠNI RAD br. 4419 MOBILNOST STVARI U ...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Zagreb, lipanj 2016. ZAVRŠNI RAD br. 4419 MOBILNOST STVARI U ARHITEKTURI

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • SVEUČILIŠTE U ZAGREBU

    FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

    Zagreb, lipanj 2016.

    ZAVRŠNI RAD br. 4419

    MOBILNOST STVARI U ARHITEKTURI

    INTERNETA STVARI

    Jurica Hanžek

  • i

    SADRŽAJ

    1. Uvod ............................................................................................................................. 1

    2. Internet stvari ............................................................................................................. 2

    2.1. Svrha i koncept Interneta stvari .............................................................................. 2

    2.2. IEEE 802.15.4 standard i prilagodba standarda ...................................................... 3

    3. Ispitivanje komunikacijskih mogućnosti simulatora .............................................. 5

    3.1. Simuliranje, poruke i mobilnost .............................................................................. 5

    3.2. Ispitni slučajevi ....................................................................................................... 6

    3.2.1. Ispitni slučaj 1 ............................................................................................................ 7

    3.2.2. Ispitni slučaj 2 ............................................................................................................ 9

    3.2.3. Ispitni slučaj 3 .......................................................................................................... 10

    3.3. Verifikacija rezultata ............................................................................................. 12

    4. Zaključak .................................................................................................................. 14

    Literatura ........................................................................................................................... 15

    Sažetak ................................................................................................................................ 16

    Summary ............................................................................................................................ 16

  • 1

    1. UVOD

    Internet stvari (engl. Internet of Things, IoT) je pojam koji označava internetsko povezivanje

    različitih uređaja čija primarna svrha nije korištenje Interneta [1]. Te „stvari“ mogu biti npr.

    kućanski aparati ili vozila što pruža mogućnosti ostvarivanja njihove međusobne

    komunikacije kao i komunikacije uređaja s ljudima.

    S obzirom na to da je ideja Interneta stvari povezivanje vrlo različitih uređaja, ključni zahtjev

    za njihovo povezivanje je prilagodljivost na razne tipove veza među njima. Budući da svi

    uređaji koje želimo povezati često nemaju mogućnost povezivanja na nama željeni način,

    iznimno bitno je prilagoditi „glavne“ uređaje na više tipova veza.

    Ovaj rad fokusira se na ispitivanje programa na različite tipove poveznica između uređaja u

    jednoj razvojnoj arhitekturi Interneta stvari [5].

    U ovom radu, u drugom poglavlju, najprije se ukratko opisuju ideje, mogućnosti i uporaba

    Interneta stvari kao brzorastućeg koncepta komunikacije. Pruža se i kratak uvid u IEEE

    802.15.4. standard kao podloga za izradu simulatora mobilnosti stvari u ovoj arhitekturi. U

    trećem poglavlju naglasak je stavljen na samu srž ovog dokumenta, a to je ispitivanje

    mobilnosti stvari. Opisuje se simulator koji prihvaća razne vrste čvorova (uređaja, stvari) te

    prikazuje komunikaciju među njima kroz razne tipove veza i formata poruka koje se

    razmjenjuju među dionicima komunikacije. Konačno, u nastavku se opisuju razne

    mogućnosti simulatora kroz izradu ispitnih slučajeva. Objašnjava se svrha izrade i očekivani

    rezultat pojedinog ispitnog slučaja, detalji izvedbe te dobiveni rezultat. Na kraju slijedi

    verifikacija tih rezultata, a dokument završava zaključkom o ostvarenom u ovom Radu i

    pregledom mogućnosti za napredak u nekom budućem radu.

  • 2

    2. INTERNET STVARI

    2.1. Svrha i koncept Interneta stvari

    Internet stvari (IoT) je sintagma koja obuhvaća razne vrste heterogenih objekata povezanih

    u mrežu kojom ti objekti (stvari) mogu komunicirati. Sam pojam Internet stvari možda je

    previše doslovan prijevod engleske kovanice Internet of Things, čime se ne dobiva uvid u to

    kakve vrste objekata mogu sudjelovati u komunikaciji. Ti objekti mogu biti razni uređaji

    koje koristimo u kućanstvu, ugradbeni uređaji ili vozila [1]. Unatoč raznim mogućnostima,

    postoje i određene vrste objekata koji nisu prigodni (korisni) za spajanje u takve mreže.

    Osnovni preduvjet za povezivanje nekog objekta u Internet stvari je sposobnost tog uređaja

    da pomoću nekakvog senzora prikupi određene podatke koji se mogu u obliku informacije

    poslati nekom drugom uređaju ili korisniku (čovjeku).

    Jedna od glavnih pretpostavki Interneta stvari je i niska potrošnja energije [2]. Taj zahtjev

    posebno se odnosi na uređaje koji prikupljaju i šalju podatke. Unatoč tome što uređaji

    primaju i odašilju poruke te tako proširuju svoju funkcionalnost, njihovi zahtjevi za

    energijom ne bi smjeli značajno odstupati od istovrsnih uređaja koji nisu dio arhitekture

    Interneta stvari. Takvi uređaji čine smisao postojanja Interneta stvari i njihova drastična

    preobrazba negativno bi utjecala na njihovu kompliciranost izvedbe, a kod nekih uređaja bi

    vjerojatno zahtijevala i potpuno rekonstruiranje čitavog uređaja, što bi u konačnici dovelo

    do povećanja njihove cijene. Taj zahtjev, osim cijene, sa sobom povlači i neke dodatne

    probleme. Naime ti uređaji upravo zbog tog zahtjeva ne mogu imati veliku moć obrade. Oni

    prikupljaju podatke i posjeduju dovoljno logike samo za razašiljanje tih podataka u nekom

    dogovorenom obliku (poruka, paket) te za primanje odgovora ili zahtjeva od nekog drugog

    uređaja.

    Zato bi uređaji koji zahtijevaju podatke trebali biti nešto kompleksniji. Oni obično posjeduju

    dovoljnu količinu logike za komuniciranje s više različitih uređaja te za određivanje kojem

    od njih trebaju poslati/proslijediti poruku. Ta vrsta uređaja u arhitekturi Interneta stvari mogu

    biti korisnici (računala, ostali uređaji povezani na Internet ili neki Cloud servis) ili samo

    posrednici, koji služe kao poveznica između objekata koji generiraju neke korisne podatke i

    korisnika (čovjeka) koji ih zahtijeva. Posrednici u arhitekturi Interneta stvari mogu, ali i ne

    moraju postojati. Potreba za posrednicima proizlazi iz fizičkih opstrukcija komunikacije

    između korisnika i objekata koji prikupljaju podatke (npr. njihova udaljenost, postojanje

    prepreka koje ometaju komunikaciju i sl.). Često se događa i slučaj kad neki uređaj

    objedinjuje uloge posrednika i npr. stvari koja prikuplja podatke.

    U arhitekturi Interneta stvari uređaji mogu biti povezani žično ili bežično. Preferirani način

    komunikacije je bežični, što ponajviše proizlazi iz jednostavnosti izvedbe. U žičnoj izvedbi

    komunikacije dva objekta koja komuniciraju moraju biti fizički spojena što je izrazito

    nepraktično za određene vrste uređaja kao što su npr. vozila ili kućanski aparati. Takva

    izvedba stvara probleme u infrastrukturnom ostvarenju što također dovodi do povećanja

    cijene povezivanja pojedinog uređaja. U bežičnoj izvedbi se javlja drugačiji problem. Stvari

    povezane u bežičnu mrežu ne smiju (ne mogu) biti previše fizički udaljene. Taj problem

    rješava se uvođenjem međučvorova (posrednika) koji mogu poslužiti kao lanac u

    komunikaciji, ali takva bi se rješenja u praksi trebala izbjegavati jer prevelik broj posrednika

    dovodi do povećanja cijene i kompleksnosti izvedbe arhitekture što odstupa od osnovne ideje

    Interneta stvari. Iz tog razloga arhitektura Interneta stvari (trenutno) se veže uz osobne mreže

    (PAN).

  • 3

    S obzirom na spomenuto, sigurnost u arhitekturi Interneta stvari nema istu težinu kao kod

    konstruiranja širokih, globalnih mreža, protokola i načina komunikacije (npr. www, TCP,

    Skype…). Ipak, čak i u takvoj izvedbi postoje određeni načini zaštite komunikacije. Poruke

    se mogu kriptirati, mogu se uključiti mehanizmi poput generiranja sažetka poruke i slično.

    Valja istaknuti kako korisnik sam treba procijeniti kolika je razina sigurnosti zaista potrebna

    njegovoj komunikaciji jer korištenje naprednih mehanizama i algoritama kriptiranja također

    mogu negativno utjecati na zahtjev jednostavnosti poruka u komunikaciji. Razina sigurnosti

    koja se koristi trebala bi proizlaziti iz značenja podataka koji se prikupljaju u komunikaciji.

    Jasno je da korisnik koji dobiva podatak o količini neke namirnice u hladnjaku ne želi toliko

    razmišljati o privatnosti (niti sigurnosti) podataka kao korisnik koji prikuplja podatke za,

    primjerice, znanstveno istraživanje.

    Arhitektura IoT je brzorastuća arhitektura iz nekoliko jednostavnih činjenica. Prije svega, ta

    arhitektura relativno je nepoznata prosječnom korisniku Interneta i novih tehnologija

    („pametni“ telefoni, tableti i sl.). Činjenica je da ljudi danas sve više koriste aplikacije na

    svojim mobitelima koje omogućavaju lako, brzo i jeftino (ili besplatno) komuniciranje pa se

    koncept komuniciranja s neživim stvarima čini kao logičan nastavak tog trenda. Drugi

    (možda još i bitniji) razlog je taj da se Internet stvari može primijeniti u vrlo mnogo različitih

    djelatnosti, ali i kao olakšavanje svakodnevnih obaveza ili čista zabava [1,2]. Lako je

    zamisliti primjenu arhitekture Interneta stvari u prirodnim znanostima koje na taj način

    dobivaju vrijedan alat u istraživanjima. To se pogotovo odnosi na medicinu koja ionako

    provodi trend sve većeg uključivanja tehnologije u liječenje, rehabilitaciju i dijagnostiku [3].

    Brojne mogućnosti za primjenu postoje i u inženjerstvu (promet, građevinarstvo,

    strojarstvo). Konačno, proizvođači svake stvari koja može biti izvor podataka mogu se

    uključiti u proizvodnju proizvoda prilagođenih arhitekturi Interneta stvari. Proširivanjem

    funkcionalnosti bilo koje stvari povećava se njezina objektivna vrijednost (neovisno o

    cijeni), što je i temelj ekonomije, ali i cilj ljudskog društva u želji za napretkom.

    2.2. IEEE 802.15.4 standard i prilagodba standarda

    Organizacija IEEE (Institute of Electrical and Electronics Engineers) prepoznala je važnost

    arhitekture Interneta stvari i donijela je standard kodnog imena IEEE 802.15.4. S tim

    standardom krenuo je aktivniji rad na arhitekturi Interneta stvari jer, iako ideja za tu

    arhitekturu postoji još iz devedesetih godina prošlog stoljeća, širenje korištenja i

    unaprjeđivanja arhitekture ima veliki uzlazni trend zadnjih nekoliko godina. Kroz to vrijeme

    organizacija IEEE izdala je desetak dokumenata koji unaprjeđuju i proširuju standard.

    Standard je najbolji odgovor na zahtjeve opisane u ovom poglavlju jer se fokusira na

    oblikovanje jeftine i jednostavne bežične komunikacije među uređajima [4]. Iako postoji

    čitav niz standarda iz grupe IEEE 802.15. koji opisuju izvedbe osobnih bežičnih mreža

    (WPANs) te mogu biti upotrijebljeni kod izgradnje arhitekture Interneta stvari, standard

    IEEE 802.15.4. najbolje opisuje nabrojane zahtjeve pa je pojednostavljena i prilagođena

    verzija tog standarda postala osnova za implementaciju simulatora promatrane arhitekture.

    Standard predviđa povezivanje uređaja u konceptualno jednostavnu mrežu u kojoj se uređaji

    nalaze na udaljenosti do otprilike 10 metara i šalju podatke brzinom manjom od 250kbit/s

    [4]. Ti uređaji moraju biti jednostavni, ali i dovoljno općeniti i prilagodljivi kako bi mogli

    komunicirati s raznorodnim uređajima.

    Također, u standardu se spominju dva različita tipa uređaja s obzirom na mogućnost obrade

    podataka - FFD (Full-function device) i RFD (Reduced-function device). Takva

    konfiguracija postala je osnova za razdvajanje uređaja (čvorova naše mreže) na glavne i

  • 4

    sporedne. Glavni čvor u našem slučaju čini uređaj koji zahtijeva podatke i može komunicirati

    s više stvari u svojem djelokrugu te prikupljati podatke na zahtjev ili ih primiti u bilo kojem

    trenutku. Sporedni čvor je „stvar“ koja šalje podatke i prima poruke u obliku odgovora ili

    zahtjeva. Sporedni čvor može inicirati komunikaciju i ostvariti komunikaciju s više glavnih

    ili sporednih čvorova, a može imati i ulogu posrednika [5]. Samo FFD u navedenom

    standardu može postati PAN Coordinator što znači da služi kao posrednik i upravljač nad

    RFD uređajima, ali i FFD uređajima koji nisu PAN Coordinatori. U našoj mreži funkcija

    koordinatora se kao takva zanemaruje – svaki čvor koji ima adresu ima valjanu adresu nekog

    drugog čvora može slati poruke tom čvoru bez nekih ograničenja. Razlika između glavnog i

    sporednog čvora u našoj mreži očituje se isključivo u mogućnosti uređaja za komuniciranjem

    pomoću različitih tipova veza i preko različitih posrednika.

    IEEE 802.15.4. predviđa dvije topologije takvih uređaja: zvjezdastu (Star Topology) i

    ravnopravnu (Peer-to-Peer Topology). Zvjezdasta topologija predviđa hijerarhiju uređaja

    koji želi sudjelovati u komunikaciji i pokazuje pravu funkciju PAN Coordinator uređaja. S

    druge strane, peer-to-peer topologija dopušta svakom od uređaja komunikaciju s bilo kojim

    uređajem u njegovom dosegu što je i precizan opis mreže korištene u ovom radu.

    Standard se, između ostalog, bavi i problemom uspješnosti dostavljanja poslanih poruka.

    Tako postoje kontrola zagušenja mreže usred prevelikog broja poruka te potvrda uspješne

    komunikacije među čvorovima. Što se kontrole zagušenja tiče, predviđa se korištenje

    CSMA-CA i ALOHA mehanizama. S druge strane, naša mreža je dovoljno jednostavna pa

    ne postoji velika vjerojatnost zagušenja. Zagušenje bi se moglo dogoditi usred razašiljanja

    poruka kroz mrežu od jednog čvora do drugog bez dolaska do čvora kome je poruka

    namijenjena (petlja) pa je potrebno izbaciti poruke iz mreže ukoliko one u određenom

    vremenu ne stignu do čvora označenog kao primatelj. S tim u vezi, IEEE 802.15.4. govori o

    postojanju tzv. Frame acknowledgement mehanizma čija je ideja prihvaćena i u našoj mreži.

    Čvor koji prima poruku odašilje odgovor koji je označen kao „reply“ i on putuje natrag do

    pošiljatelja izvorne poruke. Mehanizam odgovora koristi se u komunikaciji svaka dva čvora,

    neovisno o tome radi li se o komunikaciji glavnog čvora i neke stvari ili o komunikaciji dvije

    stvari.

    Standard IEEE 802.15.4 govori i o mnogim drugim detaljima, problemima i predviđenim

    rješenjima, ali njihova implementacija nadilazila bi doseg ovog projekta.

  • 5

    3. ISPITIVANJE KOMUNIKACIJSKIH MOGUĆNOSTI SIMULATORA

    3.1. Simuliranje, poruke i mobilnost

    Na temelju zahtjeva i ideja arhitekture Interneta stvari opisanih u poglavlju 2.1. i prilagodbe

    standarda opisanog u poglavlju 2.2. izgrađen je simulator komunikacije između čvorova

    (stvari, uređaja) u nekoj ispitnoj mreži [5].

    Motivacija za izradu arhitekture je korisnik koji svojim računalom želi ostvariti

    komunikaciju sa „stvarima“, odnosno uređajima koji će dati neku informaciju. Potencijalni

    problem javlja se u činjenici da se korisnik možda nalazi izvan dometa uređaja s kojim želi

    komunicirati pa je potrebno u komunikaciju uvesti posrednike. To pak dovodi do pitanja

    koliko bi posrednika potencijalno moglo zatrebati da udaljeni korisnik ostane u vezi s

    promatranim uređajem. Zbog toga se jedan od posrednika zamjenjuje servisom. Servis

    zadržava posredničku ulogu, ali također je spojen na Internet pa može održavati stalnu vezu

    s korisnikom. On obavlja i ulogu dohvaćanja podataka od stvari pa mora sadržavati njihovu

    adresu, a predstavlja i točku proširenja nad kojom se mogu implementirati složenije

    operacije nad skupom stvari (npr. nadzor i upravljanje). Na taj način korisnik željene podatke

    od servisa preuzima onda kad to njemu odgovara, a ne kada stvari postaju dostupne i šalju

    podatke. Jednako tako korisnik može zadati neki upit servisu koji taj upit prosljeđuje

    stvarima.

    S obzirom na to da u sustavu postoji više tipova čvorova (stvari, posrednici, servis,

    korisnici), postavlja se pitanje načina komunikacije među njima. Poruke koje oni

    razmjenjuju trebaju prenositi podatke o nekim izmjerenim veličinama ili informaciju o

    uspješno obavljenoj komunikaciji. Iako se ovdje oblik podataka kojima se prenose

    informacije nazivaju „poruke“, preciznije bi bilo spomenuti da su to zapravo paketi koje

    čvorovi razmjenjuju u mrežnom sloju računalnih mreža. Poruke koje se prenose neovisne su

    o tipu čvora koji ih šalje/prima.

    Poruke su oblikovane tako da se sastoje od vanjskog omotača i unutarnje poruke. Postojanje

    vanjskog omotača je neobavezno – svrha tog dijela poruke je povećanje sigurnosti i

    privatnosti te jednostavnost prosljeđivanja.

    Vanjski omotač sadrži vanjske zastavice, veličinu poruke, unutarnju poruku te potpis

    (opcionalno). Vanjske zastavice zauzimaju 16 bitova (nekoliko neiskorištenih) i određuju

    veličinu identifikatora u unutarnjoj poruci (16 ili 64 bita): identifikator poruke, identifikator

    pošiljatelja, identifikator odredišta i identifikator prijašnje poruke. Također, određuju i

    veličinu sigurnog sažetka u unutarnjoj poruci te postavke kriptiranja. Potpis, koji je

    opcionalan, koristi se za identifikaciju pošiljatelja, skrivanje identiteta pošiljatelja te

    posredno skrivanje unutarnje poruke od ostalih čvorova.

    Unutarnja poruka sadrži unutarnje zastavice, veličinu poruke, podatke („korisni“ dio),

    sigurni sažetak te identifikatore (poruke, pošiljatelja, primatelja i prijašnje poruke).

    Unutarnje zastavice, koje također zauzimaju 16 bitova, sadrže podatke o postojanju

    podataka, enkripcije, sigurnog sažetka te informacije o tome traži li se odgovor na tu poruku,

    postoje li neki opcionalni identifikatori (pošiljatelja, primatelja i prijašnje poruke), a

    nekoliko bitove je neiskorišteno.

    Simulator izrađen za komunikaciju čvorova s takvim porukama u opisanom sustavu, daje

    prikaz komunikacije u obliku prikazanom na slici 3.1.

  • 6

    Slika 3.1. Primjer jednog ispisa

    Svaki prikaz akcije pojedinog čvora počinje s točnim vremenom kada je neki čvor

    poslao/primio poruku. Nakon toga navodi se ime čvora koji prima (ili šalje) tu poruku te

    informacija je li taj čvor tu poruku primio (IN) ili ju u tom trenutku šalje (OUT). Nakon toga

    slijede detaljnije informacije o sadržaju poruke: identifikator poruke (mid = message id),

    identifikator pošiljatelja (src = source), identifikator primatelja (dest = destination),

    unutarnje zastavice (iflags) u heksadekadskom zapisu te podaci (data) predstavljeni

    heksadekadskim znamenkama koje u ovom simulatoru komunikacije nemaju neko stvarno

    značenje. Ukoliko je poruka odgovor na neku prethodnu poruku, umjesto polja data

    pojavljuje se polje resp (response, odgovor) u kojem se nalazi identifikator poruke na koju

    se odgovara, a zatim i sadržaj odgovora (data). Na kraju se nalaze informacije o vanjskim

    zastavicama (oflags) te osrc- „prenositelj“, odnosno čvor koji je zadnji proslijedio poruku

    (može biti stvarni pošiljatelj – src ili posrednik).

    Ispitivanje simulatora fokusira se na mobilnost. To znači da ispitujemo mogućnost i

    nemogućnost komunikacije nekog „pokretnog“ čvora (označenog s „M“) u mreži koja se

    sastoji od nekoliko čvorova stvari („Tn“), posrednika („G“) te kolektora podataka („C“).

    Mobilnost čvora predstavljena je valjanošću pojedinih adresa koje čvor M ima zapisane u

    svojoj bazi, kao i valjanošću adresa čvora M koje su zapisane u bazi ostalih čvorova.

    3.2. Ispitni slučajevi

    U svakom od navedenih ispitnih slučajeva zanima nas komunikacija mobilnog čvora M s

    ostalim čvorovima u promatranoj mreži – C, G, T1 i T2.

    Pri tom postoji nekoliko važnih pretpostavki. Prva pretpostavka je da M ima sve adrese svih

    ostalih čvorova – valjanost tih adresa određuje doseg komunikacije pojedina dva čvora.

    Iduća pretpostavka je ta da čvor M želi ostvariti komunikaciju sa svim čvorovima u toj mreži

    – M inicira komunikaciju šaljući neki zahtjev (podatke) u nadi da će ta poruka stići do

    željenog cilja i da će odredišni čvor poslati odgovor (reply) na primljenu poruku. U svim

    ispitnim slučajevima koristi se potpuna enkripcija.

    U zapisu čvora M postoje podaci o svim čvorovima ove mreže (M, C, G, T1 i T2) – njihovi

    identifikatori, imena i njihovi javni ključevi. Osim toga, u „address“ dijelu zapisa nalaze se

    podaci o svakom tipu adresa za svaki od čvorova zajedno s prioritetom koji govori

    simulatoru kojim redoslijedom će isprobati adrese kada čvor M želi komunicirati s nekim

    drugim čvorom (prvo se isprobava komunikacija onim tipom adrese koji ima naznačen viši

    prioritet). Zatim postoji zapis pod nazivom „relay“. Relay služi za posredničku razmjenu

    poruka – ako izravna razmjena poruka između dva čvora ne uspije, tada čvor inicijator

    pokušava stići do željenog čvora tako da promatra tablicu posrednika. Svaki zapis u toj

    tablici sastoji se od identifikatora željenog čvora („dest“) i identifikatora posredničkog čvora

    („relay“) te prioriteta takvog načina komuniciranja. Prikladno je zapise u relayju označiti s

    manjim prioritetom od onih u „address“ dijelu. U „config“ dijelu zapisa postoje postavke

    poruka – enkripcija, unutarnje i vanjske zastavice te opcije spremanja i preusmjeravanja

    poruke te zahtjeva za odgovorom. Konačno, u „rules“ dijelu strukture nalaze se zapisi kojim

    se opisuje kako čvor reagira na dolaznu poruku od nekog drugog čvora ili prema kojim

    čvorovima taj čvor generira zahtjeve (poruke).

  • 7

    U svakom od ispitnih slučaja čvorovi sadrže sljedeće adrese:

    čvor M sadrži IPv4, IPv6 i WLsim adresu (doseg w1)

    čvor C sadrži IPv6 adresu

    čvor G sadrži IPv4, IPv6 i WLsim adresu (doseg w1 i w2)

    čvor T1 sadrži WLsim adresu (doseg w1)

    čvor T2 sadrži WLsim adresu (doseg w2)

    Mogućnosti koje takav oblik komunikacije pruža su brojne. Jasno je da je bi ispitivanje

    svakog mogućeg ispitnog slučaja daleko prelazio opseg ovog rada pa je ispitivanje

    usmjereno na nekoliko jednostavnih, ali reprezentativnih slučajeva. Svi ispitni slučajevi

    izrađeni su u json obliku zapisa podataka jer simulator prima tekstualne podatke na temelju

    kojih generira željene izlaze.

    3.2.1. Ispitni slučaj 1

    U ispitnom slučaju 1 ispituje se komunikacija čvora M s ostalim čvorovima kad se M nalazi

    samo u dometu čvora C kako je prikazano na slici 3.2. Ispitni slučaj 1 ostvaren je tako da su

    u zapisu čvora M adrese čvorova G, T1 i T2 neispravne. Također, čvorovi G i T1 imaju

    neispravne adrese čvora M, dok T2 ni ne sadrži zapis o adresi čvora M.

    Slika 3.2. Čvorovi u ispitnom slučaju 1

    Očekivani ishod ovog ispitnog slučaja je ostvarenje komunikacije čvora M sa svim

    promatranim čvorovima. Čvor M i čvor C trebali bi komunicirati izravno jer oba čvora u

    komunikaciji sadrže ispravne adrese. Komunikacija čvora M s ostalim čvorovima trebala bi

    se odvijati posredništvom čvora C. U tablici posrednika čvora M (relay zapisi čvora M)

    nalazi se čvor C koji može proslijediti poruke do čvorova G, T1 i T2. Čvor M najprije bi

    trebao pokušati ostvariti izravnu komunikaciju sa čvorovima koji nisu u njegovom dometu,

    ali nakon neuspjeha ta komunikacija trebala bi se ostvariti preko posrednika jer je

    komunikacija preko posrednika označena s nižim prioritetom od izravne komunikacije.

  • 8

    Na slici 3.3. prikazana je komunikacija čvora M i čvora C. Mobilni čvor M inicira

    komunikaciju sa čvorom C tako da šalje poruku na adresu koju pronalazi u svom zapisu

    čvorova mreže. Uočava se da poruka koju M šalje (mid:e8454233a83c367f) odmah dolazi

    do čvora C, što je u skladu s očekivanjem jer čvor M je odaslao poruku na valjanu adresu

    čvora C. Nakon primitka, čvor C oblikuje odgovor (Reply) i šalje poruku natrag prema čvoru

    M. Taj odgovor ima vlastito polje podataka koje sadrži neke „korisne“ podatke koje je čvor

    M zatražio te polje resp u kojem je zapisan identifikator poruke na koju C odgovara.

    Slika 3.3. Komunikacija čvorova M i C u ispitnom slučaju 1

    Nešto kompliciranija komunikacija odvija se između čvorova M i G. Čvor M u svojim

    zapisima ima adrese čvorova G (IPv6, IPv4 i WLsim adresa), ali sve one su neispravne.

    Sukladno zadanim prioritetima, čvor M šalje poruku na adresu s najvišim prioritetom, a

    nakon neuspjeha takvog slanja šalje poruku na adresu koja je sljedeća po prioritetu. Kako su

    sve tri adrese čvora G koje ima čvor M neispravne, četvrti pokušaj nalaženja čvora G odvija

    se preko posrednika C. Čvor C je i dalje u dometu čvora M i prima tu poruku te je prosljeđuje

    prema čvoru G. S obzirom na to da C ima valjanu adresu čvora G, čvor G odmah prima tu

    poruku. Nakon toga G oblikuje odgovor i komunikacija teče u suprotnom smjeru.

    Slika 3.4. Komunikacija čvorova M i G u ispitnom slučaju 1

    Razmjena poruka između čvorova M i T1 te čvorova M i T2 u ovom ispitnom slučaju odvija

    se na jednak način kao između čvorova M i G. I u tim slučajevima čvor C odigrava ulogu

    posrednika u komunikaciji između ta dva para čvorova. Razlika je samo u tome što u

    komunikaciji tih čvorova sudjeluju dva posrednika – čvor C i čvor G.

  • 9

    3.2.2. Ispitni slučaj 2

    U ovom ispitnom slučaju čvor M nastoji komunicirati s ostalim čvorovima kad se nalazi u

    dometu čvorova G i T1, sukladno prikazu na slici 3.5. U zapisu čvora M adrese čvorova C i

    T2 su neispravne. Isto vrijedi za adrese čvora M u zapisima čvorova C i T2.

    Slika 3.5. Čvorovi u ispitnom slučaju 2

    Očekivani ishod ovog ispitnog slučaja je, kao i u prethodnom slučaju, komunikacija čvora

    M sa svim čvorovima u mreži. Čvorovi G i T1 nalaze se u dometu čvora M i njihova

    komunikacija treba se odvijati izravno, bez posrednika. Što se tiče ostalih čvorova,

    komunikacija se treba odvijati uz pomoć čvora G. S obzirom na to da se u tablici posrednika

    čvora M nalazi čvor G koji može proslijediti poruke do čvorova C, T1 i T2, čvor M bi nakon

    neuspjele izravne komunikacije sa čvorovima C i T2 trebao uspostaviti komunikaciju s njima

    posredništvom čvora G.

    U skladu s očekivanjem, komunikacija između čvorova M i G odvija se izravnom

    razmjenom poruka između ta dva čvora. Slika 3.6. prikazuje tu komunikaciju kroz izmjenu

    jednog zahtjeva i odgovora. Čvor M odašilje poruku na adresu čvora G koju pronalazi u

    svom zapisu adresa. Iako se ta komunikacija izravno može odvijati na više načina (oba čvora

    imaju valjane IPv6, IPv4 i WLsim adrese), ona se odvija putem IPv6 veze jer ta veza ima

    najviši prioritet. Tako čvor G odmah prima poruku poslanu od čvora M te oblikuje odgovor

    (Reply) koji, također, odmah stiže do čvora M. Format poruke jednak je onom opisanom u

    ispitnom slučaju 1.

    Slika 3.6. Komunikacija čvorova M i G u ispitnom slučaju 2

  • 10

    Na vrlo sličan način odvija se i komunikacija čvorova M i T1. Jedina razlika je u tipu veze

    kojim se odvija komunikacija – u ovom slučaju to je bežična veza u mreži koja je označena

    s dosegom w1. Unatoč toj razlici, format poruka je jednak, što je i u skladu sa zahtjevima

    općenitosti i prilagodljivosti čvorova u arhitekturi Interneta stvari.

    Čvorovi C i T2 također mogu sudjelovati u komunikaciji sa čvorom M iako se ne nalaze u

    njegovom dometu. Slika 3.7. prikazuje izvedbu komunikacije čvora M sa čvorom C. Kao

    što je i očekivano, M najprije pokušava izravno odaslati poruku čvoru C, ali ne uspijeva jer

    nema valjanu adresu tog čvora. Zatim M šalje poruku preko posrednika G koji u svojim

    zapisima pronalazi adresu čvora C te mu prosljeđuje poruku. Čvor C šalje odgovor koji se

    vraća na posredni čvor G te konačno dolazi do čvora M koji je inicirao komunikaciju.

    Slika 3.7. Komunikacija čvorova M i C u ispitnom slučaju 2

    Čvor T2 komunicira sa mobilnim čvorom M na potpuno analogan način. Posrednik u toj

    komunikaciji je također čvor G. Ovaj slučaj je posebno reprezentativan s obzirom na

    prilagodljivost čvorova. Naime čvor M šalje poruku prema posredniku G pomoću žične

    (IPv6) veze, a G prosljeđuje poruku bežičnom vezom (doseg: w2) jer čvor T2 posjeduje samo

    tu vrstu veze. Čvor T2 zatim istom tom vezom vraća odgovor te se on ponovno žičnom

    vezom vrati do početnog čvora M. Tako su čvorovi M i T2 ostvarili komunikaciju unatoč

    tome što ne posjeduju međusobno valjane adrese, a ne nalaze se čak ni u istom dosegu za

    bežičnu komunikaciju.

    3.2.3. Ispitni slučaj 3

    Ispitni slučaj 3 pokriva situaciju kada se mobilni čvor M nalazi isključivo u dometu čvora

    T1, što prikazuje slika 3.8. Analogno prethodnim slučajevima, u zapisu čvora M nalaze se

    ispravne adrese čvora T1, a neispravne adrese ostalih čvorova (C, G i T2). Također, adrese

    čvora M neispravne su u zapisima čvorova C, G i T2.

  • 11

    Slika 3.8. Čvorovi u ispitnom slučaju 3

    Očekivanje od ovog ispitnog slučaja je razmjena poruka između čvorova M i T1. Ta

    komunikacija treba se odvijati izravno. S obzirom na to da čvor M u tablici posrednika sadrži

    čvorove G i C kao potencijalne posrednike, ali nema valjane adrese tih čvorova, on ne može

    pristupiti ni posrednicima ni ostalim čvorovima osim čvora T1. Čvor M treba isprobati sve

    adrese čvorova G, C i T2, ali nakon toga odustaje od daljnjeg slanja poruke prema tim

    čvorovima. Daljnja razmjena poruka događa se samo između čvorova M i T1.

    Slika 3.9. prikazuje razmjenu poruka između čvorova M i T1. Ti čvorovi spojeni su bežičnom

    vezom u mreži dosega w1 s valjanim adresama pa zato mogu neposredno komunicirati. Kao

    i u prethodnim ispitnim slučajevima, vidimo da čvor M šalje poruku prema čvoru T1, a čvor

    T1 prihvaća tu poruku. Nakon toga T1 šalje odgovor s odgovarajućim podacima i ta poruka

    u jednom koraku stiže do mobilnog čvora M.

    Slika 3.9. Komunikacija čvorova M i T1 u ispitnom slučaju 3

    Što se tiče komunikacije čvora M s ostalim čvorovima u ovoj mreži, pokazuje se da zadane

    postavke adresa ne omogućavaju ostvarivanje komunikacije, čak ni preko posrednika. Slika

    3.10. pokazuje pokušaj čvora M da ostvari komunikaciju sa čvorom C. Analogni ispis dobio

    bi se za pokušaj uspostavljanje komunikacije čvora M sa čvorovima T2 i G.

  • 12

    Slika 3.10. Čvor M šalje neuspješno šalje poruke

    Čvor M pokušava uspostaviti komunikaciju sa čvorom C tako da najprije izravno šalje

    poruke na adrese spremljene u tablici adresa. S obzirom na to da jedina adresa koju čvor M

    ima za čvor C nije ispravna, komunikacija se pokušava ostvariti preko tablice posrednika

    (relay). U toj tablici nalaze se čvorovi C i G kao potencijalni posrednici. Čvor M sada „zna“

    da adresa čvora C nije valjana pa pokušava doći do posrednika G i dalje do čvora C. Najprije

    pokušava poslati poruku preko IPv6 veze, zatim preko IPv4 i nakon toga preko bežične

    WLsim veze. Pokazuje se da ni jedna adresa za posrednik G nije valjana. Čvor M više nema

    nikakav mehanizam za slanje te poruke pa se ispisuje pogreška i izbacuje ta poruka iz

    komunikacije. Ispis govori da čvor M ne može poslati poruku te se ispisuju identifikatori

    poruke, pošiljatelja i primatelja i podaci koji nisu uspjeli pronaći odredište. Nakon toga M

    generira novu poruku i ponovno pokušava poslati poruku prema čvoru C.

    Sličan ispis dobiva se i za pokušaj komunikacije čvora M sa čvorovima G i T2. Eventualne

    razlike u broju ispisa proizlaze iz različitog broja adresa u tablicama čvora M za pojedine

    čvorove.

    3.3. Verifikacija rezultata

    Svi ispitni slučajevi potvrdili su očekivanja. Ovi ispitni slučajevi pokazali su valjanost

    simulatora arhitekture za različite zahtjeve. Sažetak rezultata prikazan je u tablici 3.1.

    Tablica 3.1. Komunikacija sa čvorom M prema ispitnim slučajevima

    ispitni slučaj 1 ispitni slučaj 2 ispitni slučaj 3

    čvor C G T1 T2 C G T1 T2 C G T1 T2

    izravno + - - - - + + - - - + -

    posredno - + + + + - - + - - - -

    Tablica pokazuje da je mobilni čvor M uspio uspostaviti komunikaciju sa gotovo svakim od

    čvorova u ova tri ispitna slučaja. Ispitni slučajevi 1 i 2 pokazuju široku mogućnost

    komunikacije čvora koji može koristiti posrednike u komunikaciji. U ispitnom slučaju 3

    pokazuje se osjetljivost arhitekture na slučaj kada rubni čvor mreže, koji ne može koristiti

    posrednike u komunikaciji, nastoji slati poruku čvorovima koji mu nisu u neposrednoj

  • 13

    blizini. S obzirom na to da je čvor M spojen samo na čvor koji nema ulogu posrednika u

    komunikaciji, rezultati trećeg ispitnog slučaja nisu iznenađenje.

    Ispitni slučajevi su pokazali i da simulator dobro odgovara na zahtjeve arhitekture Interneta

    stvari. Različiti tipovi veza u ovoj simulaciji jednostavne mreže pokazali su da komunikacija

    kroz jednostavne poruke ne mora ovisiti o vrsti veze kojom se komunikacija odvija što

    pokazuje dobru prilagodljivost sustava. Osim prilagodljivosti, ispunjen je i uvjet

    jednostavnosti. Poruke koje se razmjenjuju u mreži prenose određene „korisne“ podatke, ali

    u isto su vrijeme dovoljno jednostavne da ne zahtijevaju veliku procesnu moć čvorova. Na

    taj način čvorovi koji su „stvari“ mogu ostati fokusirani na svoju primarnu zadaću, a ostali

    čvorovi koji se dodaju u mrežu ne moraju biti skupi niti komplicirani.

    Kao važan mehanizam pokazalo se i izbacivanje poruka prilikom neuspjele komunikacije.

    Čak i u jednostavnim mrežama važno je osigurati dobru otpornost na zagušenja. U mreži

    gdje više čvorova može igrati ulogu posrednika lako se može stvoriti slučaj kruženja iste

    poruke kroz petlju od nekoliko čvorova, bez mogućnosti napredovanja te poruke prema

    ciljanom čvoru. Ta kontrola ostvaruje se zahtjevom za odgovor na odaslanu poruku. Svaki

    čvor koji primi određenu poruku ima određeno vrijeme da na nju odgovori. Odgovor bi, u

    nekoj stvarnoj mreži, mogao biti skup traženih podataka na poruku koja stvara određene

    zahtjeve. Ako pak poruka stiže do nekog čvora koji ne generira podatke, odgovor je

    isključivo kontrolnog tipa. Ukoliko čvor ne uspije u zadanom vremenu odgovoriti na poruku,

    smatra se da je ona izgubljena, usprkos činjenici da je odgovor možda na putu. Tu se

    pokazuje bitnim procijeniti duljinu čekanja na odgovor. U slučaju kada je čekanje na

    odgovor prekratko, javlja se potencijalni problem komunikacije nekih udaljenih čvorova, što

    je izraženije s većim brojem posrednika u komunikaciji (ispitni slučaj 1 – komunikacija

    čvorova M i T1 te čvorova M i T2), ali i većim brojem adresa nekog čvora koje mogu poslužiti

    u komunikaciji. To se može vidjeti u slučaju kada su adrese označene s višim prioritetom

    neispravne, a simulator najprije pokušava poslati poruku preko njih. S druge strane, kada je

    čekanje na odgovor predugačko, iskorištenost mreže je mala i povećava se opterećenje čvora

    koji čeka odgovor umjesto da radi nešto korisno. U ovom simulatoru duljina čekanja na

    odgovor postavlja se u „rules“ dijelu zapisa prilikom stvaranja poruke. Ovaj mehanizam

    pokazao se dovoljno dobrim jer, kao što je već spomenuto u poglavlju 2.2., u našoj

    jednostavnoj mreži zagušenja nisu česta pojava pa nema potreba za uvođenjem nekih

    naprednih mehanizama.

    Ispitnim slučajevima u ovom radu nije pokriven potencijalni problem kvarova pojedinih

    čvorova tijekom komunikacije. Ovdje su ispitivani samo dostupnost/nedostupnost čvorova

    za komunikaciju, ali stvarni slučajevi mogu biti prilično složeniji. To posebno vrijedi za

    bežični tip veze gdje lako može doći do ispada pojedinog čvora usred vanjskih smetnji. U

    nekom potencijalnom slučaju moglo bi se dogoditi da čvor do kojeg se pokušava poslati

    neka poruka bude privremeno nedostupan pa bi odredišni čvor zaključio da je zapis adrese

    za taj čvor pogrešan. Poruka koja putuje kroz veći broj čvorova ima u takvim slučajevima

    ima veće šanse biti izgubljena. Potencijalno rješenje tog problema bilo bi pohranjivanje

    poruka u nekim čvorovima komunikacije (uvođenja čvorova sa spremnikom), ali to se

    djelomično kosi sa zahtjevom jednostavnosti izvedbe arhitekture te dovodi do povećanja

    cijene pojedinog čvora zbog ulaganja u memorijski prostor. To dovodi do zaključka da

    pouzdanost ove mreže nije velika.

  • 14

    4. ZAKLJUČAK

    Ovaj rad pokazao je da je izrađeni simulator arhitekture Interneta stvari spreman za

    korištenje u nekom jednostavnom okruženju sa sličnim brojem i funkcijom čvorova kao u

    ispitnim slučajevima iz ovog rada u kontekstu jednostavnijih oblika komunikacije, izravno i

    neizravno (preko posrednika). Izrađeni ispitni slučajevi potvrdili su pouzdanost simulatora

    u komunikaciji prilikom uključivanja nekog mobilnog čvora u zadanu mrežu. Ispitni

    slučajevi nisu bili komplicirani ni sveobuhvatni, ali su bili prilično reprezentativni s obzirom

    na navedene zahtjeve.

    Zahtjevi arhitekture Interneta stvari dobro su implementirani u izgradnji jednostavnog

    okruženja. Posebno dobro su ispunjeni zahtjevi jednostavnosti i prilagodljivosti svih dionika

    komunikacije te je pokazana mogućnost mobilnosti nekog potencijalnog korisnika koji se

    želi spojiti u arhitekturu Interneta stvari i crpiti neke podatke.

    U nekom budućem radu moguća su poboljšanja u smislu izbacivanja/ispravljanja nepravilnih

    adresa iz sustava čime bi se dobilo na brzini komunikacije, ali i na prilagodljivosti zbog

    promjenjivih uvjeta u mreži. Potencijalno poboljšanje moglo bi se izvesti i u označavanju

    rednih brojeva poruke čime bi se sustavom mogli prenositi veći i kompliciraniji podaci.

    Također bi se mogao prilagoditi ispis komunikacije kod ispitivanja simulatora kako bi se

    dobio uvid kojom vrstom veze se komunikacija ostvaruje.

    Potencijalna korisnost ovog sustava može postati velika. Već je više puta spomenuto da je

    arhitektura Interneta stvari jedna od brzorastućih arhitektura u svijetu mreža, ali u vrijeme

    izrade ovog rada još uvijek nije široko raširena u svakodnevnom životu. Pravilnom

    uporabom sustav bi se mogao koristiti za rješavanje mnogih svakodnevnih rutinskih zadaća

    pa se s pravom može reći da arhitektura Interneta stvari u mnogočemu može svakodnevni

    život učiniti lakšim.

  • 15

    LITERATURA

    1. Wikipedia, Internet of Things, https://en.wikipedia.org/wiki/Internet_of_things 2. European Research Cluster on the Internet of Things, Internet of Things – From

    Research and Innovation to Market Deployment, River Publishers, http://www.internet-

    of-things-research.eu/pdf/IoT-

    From%20Research%20and%20Innovation%20to%20Market%20Deployment_IERC_

    Cluster_eBook_978-87-93102-95-8_P.pdf., 2014.

    3. Prof.dr.sc. Ratko Magjarević, Uvod u tehnologije u medicini, kolegij Tehnologija u medicini, Fakultet Elektrotehnike i Računarstva, Sveučilište u Zagrebu,

    https://www.fer.unizg.hr/_download/repository/01_TUM_Uvod_u_tehnologije_u_med

    icini_2016.pdf, 2015.

    4. IEEE Standards Association, IEEE Standard for Local and metropolitan area networks- Part 15.4: Low-Rate Wireless Personal Area Networks (LR-WPANs),

    http://standards.ieee.org/getieee802/download/802.15.4p-2014.pdf

    5. Doc.dr.sc. Leonardo Jelenković, Simulator arhitekture Interneta stvari, https://github.com/l30nard0/dasiot

    https://en.wikipedia.org/wiki/Internet_of_thingshttp://www.internet-of-things-research.eu/pdf/IoT-From%20Research%20and%20Innovation%20to%20Market%20Deployment_IERC_Cluster_eBook_978-87-93102-95-8_P.pdf.http://www.internet-of-things-research.eu/pdf/IoT-From%20Research%20and%20Innovation%20to%20Market%20Deployment_IERC_Cluster_eBook_978-87-93102-95-8_P.pdf.http://www.internet-of-things-research.eu/pdf/IoT-From%20Research%20and%20Innovation%20to%20Market%20Deployment_IERC_Cluster_eBook_978-87-93102-95-8_P.pdf.http://www.internet-of-things-research.eu/pdf/IoT-From%20Research%20and%20Innovation%20to%20Market%20Deployment_IERC_Cluster_eBook_978-87-93102-95-8_P.pdf.https://www.fer.unizg.hr/_download/repository/01_TUM_Uvod_u_tehnologije_u_medicini_2016.pdfhttps://www.fer.unizg.hr/_download/repository/01_TUM_Uvod_u_tehnologije_u_medicini_2016.pdfhttp://standards.ieee.org/getieee802/download/802.15.4p-2014.pdfhttps://github.com/l30nard0/dasiot

  • 16

    SAŽETAK

    Mobilnost stvari u arhitekturi Interneta stvari

    Ovaj rad bavi se ispitivanjem izrađenog simulatora za jednostavne mreže koncipirane prema

    arhitekturi Interneta stvari. Izrađeni su ispitni slučajevi koji simuliraju komunikaciju

    pokretnog čvora u arhitekturi i ispituju mogućnosti takvog čvora u zadanoj mreži.

    Ključne riječi: Internet stvari, mobilnost, uređaji, poruke

    SUMMARY

    Title: Explore mobility of things in designed Internet of Things architecture

    Summary

    This bachelor thesis if focused on testing of simulator designed for simple networks that

    were based on Internet of Things architecture. There have been built some tests in order to

    simulate communication between mobile and static nodes and to explore possibilities for

    mobile node in given network.

    Keywords: Internet of Things, mobility, devices, messages