5.4. Mrežni sloj - rt-rk.uns.ac.rs · 5.4.5. Rutiranje i prosleđivanje podataka u ZigBee mreži...

9
87 5.4. Mrežni sloj Funkcije mrežnog sloja definisane su Zigbee specifikacijom. Zadaci mrežnog sloja su formiranje mreže, priključivanje i isključivanje uređaja iz mreže, otkrivanje suseda i čuvanje informacije o susedima, otkrivanje putanja između uređaja, održavanje tabele rutiranja, usmeravanje (rutiranje) okvira, itd. 5.4.1. Tipovi uređaja u Zigbee mreži Standard razlikuje tri tipa uređaja: koordinator mreže, ruter i krajnji uređaj - Slika 125. Koordinator mreže i ruteri moraju biti FFD 802.15.4 uređaji, dok krajnji uređaj može biti RFD. Krajnji uređaj može da pristupa postojećoj mreži, da je napušta, kao i da šalje i prima podatke. On nema nikakvu informaciju o topologiji mreže, već samo komunicira sa uređajima u svom dometu. Ruter može dozvoliti uređajima da pristupe postojećoj mreži ili da je napuste. Takođe, on održava i listu suseda i aktivno učestvuje u dodeli lokalnih adresa krajnim uređajima. Ruter ne može formirati novu mrežu. Koordinator mreže može da formira novu mrežu, a podržava i sve funkcije koje inače imaju ruteri. 5.4.2. Lista suseda Koordinator i ruteri održavaju listu suseda, tj. tabelu sa informacijama o svim uređajima koje su registrovali u svom dometu. Za svaki uređaj u svom dometu oni čuvaju sledeće informacije: PAN ID mreže u kojoj se uređaj nalazi Mrežnu (kratku) adresu Tip uređaja (koordinator, ruter, krajnji uređaj) Odnos koji imaju sa tim uređajem u mrežnoj topologiji (roditelj, dete, nekadašnje dete, isti nivo u mreži) Za uređaje roditelje i decu u mrežnoj topologiji, čuva se i dugačka adresa (MAC adresa). Opciono, za svaki uređaj može se čuvati i sledeće: Informacija da li dozvoljava povezivanje novih uređaja Da li je potencijalni roditelj Koja mu je dubina u stablu mreže (udaljenost od koordinatora) Da li je došlo do greške u prenosu okvira ka tom uređaju. 5.4.3. Adresiranje Zigbee mrežni sloj koristi takozvano distribuirano adresiranje. Svakom ruteru u mreži dodeljuje se neki blok adresa koje on može dodeliti svojoj deci. Svakom ruteru i dodeljuje se blok veličine . Veličina ovog bloka zavisi od dubine rutera u mreži , kao i parametara koji se postavljaju na nivou čitave mreže: maksimalan broj dece za svaki uređaj , maksimalan broj dece koja su ruteri , maksimalna dubina mreže . Slika 147. ilustruje adresiranje u mreži sa parametrima , i . Svaki uređaj prvo rezerviše blokove adresa za svoju decu- rutere, a tek onda dodeljuje adrese krajnjim uređajima.

Transcript of 5.4. Mrežni sloj - rt-rk.uns.ac.rs · 5.4.5. Rutiranje i prosleđivanje podataka u ZigBee mreži...

  • 87

    5.4. Mrežni sloj

    Funkcije mrežnog sloja definisane su Zigbee specifikacijom. Zadaci mrežnog sloja su

    formiranje mreže, priključivanje i isključivanje uređaja iz mreže, otkrivanje suseda i čuvanje

    informacije o susedima, otkrivanje putanja između uređaja, održavanje tabele rutiranja,

    usmeravanje (rutiranje) okvira, itd.

    5.4.1. Tipovi uređaja u Zigbee mreži

    Standard razlikuje tri tipa uređaja: koordinator mreže, ruter i krajnji uređaj - Slika 125.

    Koordinator mreže i ruteri moraju biti FFD 802.15.4 uređaji, dok krajnji uređaj može biti RFD.

    Krajnji uređaj može da pristupa postojećoj mreži, da je napušta, kao i da šalje i prima

    podatke. On nema nikakvu informaciju o topologiji mreže, već samo komunicira sa uređajima u

    svom dometu.

    Ruter može dozvoliti uređajima da pristupe postojećoj mreži ili da je napuste. Takođe, on

    održava i listu suseda i aktivno učestvuje u dodeli lokalnih adresa krajnim uređajima. Ruter ne može

    formirati novu mrežu.

    Koordinator mreže može da formira novu mrežu, a podržava i sve funkcije koje inače imaju

    ruteri.

    5.4.2. Lista suseda

    Koordinator i ruteri održavaju listu suseda, tj. tabelu sa informacijama o svim uređajima koje

    su registrovali u svom dometu. Za svaki uređaj u svom dometu oni čuvaju sledeće informacije:

    PAN ID mreže u kojoj se uređaj nalazi

    Mrežnu (kratku) adresu

    Tip uređaja (koordinator, ruter, krajnji uređaj)

    Odnos koji imaju sa tim uređajem u mrežnoj topologiji (roditelj, dete, nekadašnje dete, isti nivo u mreži)

    Za uređaje roditelje i decu u mrežnoj topologiji, čuva se i dugačka adresa (MAC adresa).

    Opciono, za svaki uređaj može se čuvati i sledeće:

    Informacija da li dozvoljava povezivanje novih uređaja

    Da li je potencijalni roditelj

    Koja mu je dubina u stablu mreže (udaljenost od koordinatora)

    Da li je došlo do greške u prenosu okvira ka tom uređaju.

    5.4.3. Adresiranje

    Zigbee mrežni sloj koristi takozvano distribuirano adresiranje. Svakom ruteru u mreži

    dodeljuje se neki blok adresa koje on može dodeliti svojoj deci. Svakom ruteru i dodeljuje se blok

    veličine . Veličina ovog bloka zavisi od dubine rutera u mreži , kao i parametara koji se

    postavljaju na nivou čitave mreže: maksimalan broj dece za svaki uređaj , maksimalan broj dece koja su ruteri , maksimalna dubina mreže . Slika 147. ilustruje adresiranje u mreži sa parametrima , i . Svaki uređaj prvo rezerviše blokove adresa za svoju decu-rutere, a tek onda dodeljuje adrese krajnjim uređajima.

  • 88

    Slika 147. Adresiranje u Zigbee mreži

    Ovaj način adresiranja olakšava usmeravanje paketa u Zigbee mreži, ali može biti izvor

    problema pri priključivanju uređaja u mrežu. Naime, može se lako dogoditi da neki ruter istroši

    raspoložive adrese, tako da više ne može priključivati uređaje u mrežu. U tom slučaju, uređaj koji

    želi da se uključi mora tražiti drugi ruter u svom dometu, ili se neće moći konektovati uopšte.

    5.4.4. Format jedinice podataka

    Okviri mrežnog sloja imaju oblik predstavljen na slici Slika 148.

    Octets:2 2 2 1 1 variable

    Frame

    payload

    Frame

    control

    Destination

    Address

    Source

    AddressRadius

    Sequence

    Number

    Slika 148. Format okvira mrežnog sloja

  • 89

    Polje za kontrolu okvira (frame control) sadrži informacije o tipu okvira i načinu otkrivanja

    putanje za taj okvir (može biti obavezno, moguće ili zabranjeno otkrivanje).

    Adrese odredišta i izvora su kratke, PAN adrese uređaja, od 16 bita.

    Polje radijus (radius) koristi se kod broadcast prenosa, kako bi se kontrolisalo do koje

    dubine u mreži se poruka šalje. Svaki uređaj koji prosledi broadcast okvir dekrementira radijus za

    1. Dalje prosleđivanje se prekida kada ova vrednost padne na 0.

    Broj sekvence, u kombinaciji sa adresom izvora, koristi se da bi se jedinstveno identifikovao

    broadcast okvir.

    5.4.5. Rutiranje i prosleđivanje podataka u ZigBee mreži

    Mrežni sloj treba da omogući da se podaci prenesu i između čvorova koji nisu direktni

    susedi u mreži. Protokol za rutiranje zadužen je za otkrivanje putanja u mreži. Informacija o

    putanjama čuva se u tabeli rutiranja, u čvorovima koji imaju funkciju rutera. Na osnovu informacije

    iz tabele rutiranja, u svakom čvoru se vrši dalje usmeravanje okvira.

    i) Rutiranje u stablu (Cluster-Tree algoritam)

    Rutiranje u stablu vrši se na osnovu dodeljenih adresa, s obzirom na to da određeni blokovi

    adresa pripadaju određenim ruterima u mreži. Čvor koji primi neki okvir proverava odredište za taj

    okvir. Ukoliko zaključi da je on sam odredište, sadržaj okvira se prosleđuje ka aplikativnom sloju.

    U suprotnom, čvor proverava da li je odredište neko njegovo dete, tj. da li je odredišna adresa iz

    njemu dodeljenog bloka adresa. Ako je to slučaj, okvir se usmerava ka odgovarajućem detetu, koje

    ga prema potrebi može dalje proslediti. Ako pak odredište nije među decom čvora koji je primio

    okvir, on okvir usmerava ka svom roditelju.

    Na primer, posmatrajmo slanje paketa od čvora 38 do čvora 45 u mreži sa slike Slika 147.

    Čvor 38 nema nikakvu informaciju o topologiji mreže. Njegov roditelj, čvor 33 prima okvir, i

    zaključuje da se odredišni čvor 45 ne nalazi među njegovom decom. Stoga usmerava okvir ka svom

    roditelju, čvoru 32. Ovaj čvor zaključuje da se čvor 45 nalazi među decom čvora 40, tako da ka

    njemu usmerava okvir. Konačno, čvor 40 prosleđuje okvir do krajnjeg odredišta 45.

    ii) Rutiranje u meš mreži (Ad-Hoc On Demand Vector, AODV)

    AODV algoritam za rutiranje je kompleksniji, ali se može koristiti i u mrežama u kojima nije

    primenjen distribuirani metod adresiranja. Takođe, čak i u slučajevima kada je distribuirano

    adresiranje primenjeno, AODV omogućava da se paketi rutiraju najkraćom putanjom, bez potrebe

    da se šalju kroz stablo do prvog zajedničkog pretka za izvorišni i odredišni čvor. U ovom slučaju,

    ne postoji stablo rutera u mreži, već su oni svi međusobno jednaki (peer-ovi), i mogu da razmenjuju

    podatke ukoliko su jedan drugom u dometu.

    Za svako odredište, ruter čuva informaciju o tome koji je sledeći čvor na putanji, tj. ka kome

    treba da prosledi okvir. Ukoliko ruter nema informaciju o putanji za primljeni okvir, on inicira

    otkrivanje putanje. Otkrivanje putanje mora se vršiti za svaki smer ponaosob, jer ruteri čuvaju samo

    informaciju o sledećem čvoru na putanji, a ne i o prethodnom.

    Ako prilikom prosleđivanja okvira dođe do greške pri prenosu, signalizira se da je neka

    putanja nevalidna i to inicira proces ponovnog otkrivanja putanje. Recimo, unošenje prepreke na

    slici Slika 149. prouzrokuje preračunavanje nove putanje između čvorova 1 i 3. Na ovaj način,

    prepreka se uspešno zaobilazi, što se ne bi moglo postići sa rutiranjem u stablu.

  • 90

    Slika 149. Promena putanje usled prepreke

    Čvor koji želi da sazna putanju ka nekom odredištu kojeg nema u tabeli rutiranja iniciraće

    proces otkrivanja putanje. Na primer, pretpostavimo da čvor 1 želi da pošalje nešto čvoru 10 na slici

    Slika 150. Ovaj čvor vrši broadcast komandnog okvira za otkrivanje rute, u kome navodi koji je

    čvor do koga se putanja traži. Svim linkovima u mreži dodeljena je cena (broj od 0 do 7), koja

    ukazuje na kvalitet linka. Tokom prosleđivanja okvira za otkrivanje rute, akumulira se cena svake

    putanje kojom se broadcast okviri kreću, dok se ne stigne do rutera kome je okvir namenjen, ili

    među čijom se decom nalazi krajnji uređaj kome je okvir namenjen.

    Slika 150. Otkrivanje putanje – slanje zahteva

    Odredišni čvor 10 sačekaće dovoljno dugo, tako da može da primi zahtev za otkrivanje rute

    po svim mogućim putanjama. Odabraće onu putanju na kojoj je najmanja akumulirana cena, i po toj

    putanji usmeriće odgovor na zahtev za otkrivanje rute. Pretpostavićemo u primeru da su sve cene

    međusobno jednake, tako da se odabira putanja preko čvora 5 - Slika 151. Odgovor se šalje direktno

  • 91

    čvoru koji je inicirao proces otkrivanja putanje. Prilikom prosleđivanja odgovora, ostali čvorovi na

    putanji ažuriraju svoju tabelu rutiranja.

    Slika 151. Otkrivanje putanje – slanje odgovora

    Jednom zabeležena putanja ostaje aktivna sve do započinjanja sledećeg procesa otkrivanja,

    ili detektovanja greške pri prenosu (nema automatskog preračunavanja putanja pri promeni mrežne

    topologije). Ako neki čvor ne može da pošalje okvir odgovarajućom putanjom, on o tome

    obaveštava izvorišni čvor, slanjem komandnog okvira koji signalizira grešku na putanji. Nakon toga

    izvor ponovo započinje poroces otkrivanja putanje.

    Češće otkrivanje putanje može se pokrenuti sa aplikativnog sloja, ali troši mrežne resurse i

    vreme, stoga se retko koristi ova opcija.

    Tabela rutiranja obično sadrži 6-20 unosa. Svaki unos sastoji se od adrese odredišta, adrese

    sledećeg rutera na putanji i cene do odredišta - Slika 152. Ako se tabela rutiranja u nekom ruteru

    napuni, taj ruter više ne učestvuje u procesu otkrivanja putanje.

    Slika 152. Tabela rutiranja

  • 92

    iii) Rutiranje od izvora (Source routing)

    U ovom slučaju, čitava putanja poznata je izvoru okvira, i sadržana u zaglavlju okvira koji se

    šalje. Ovaj mehanizam rutiranja retko se koristi, ali omogućava da tabelu rutiranja održavaju samo

    pojedini čvorovi, a ne svi ruteri u mreži.

    5.4.6. Uspostavljanje mreže

    Proces formiranja nove mreže može započeti samo koordinator. Koraci su predstavljeni na

    slici Slika 153.

    Slika 153. Uspostavljanje Zigbee mreže

    1) Skeniranje energije – Koordinator prvo izvršava skeniranje energije u različitim kanalima na MAC sloju. Na osnovu rezultata merenja, formira se uređena lista kanala, u kojima je

    aktivnost ispod određenog praga. Ovi kanali predstavljaju kandidate za kanal na kome će

    biti uspostavljena nova mreža.

    2) Aktivno skeniranje – Pošto je završeno skeniranje energije, koordinator izvršava proceduru aktivnog skeniranja mreže na MAC sloju. Proverava se broj aktivnih PAN

    mreža u kanalima sa liste kandidata.

    3) Odabiranje kanala – Odabira se onaj kanal u kome je broj aktivnih mreža najmanji, odnosno najmanja energija.

    4) Odabiranje PAN ID-a – Koristi se PAN ID zadat sa aplikativnog sloja, ako nije u konfliktu sa postojećim mrežama. U suprotnom, slučajno se odabira novi PAN ID.

    5) Dodela mrežne adrese – Koordinator dobija mrežnu adresu 0x0000, i ona odgovara njegovoj kratkoj adresi na MAC sloju.

  • 93

    5.4.7. Priključivanje mreži

    Dozvola pristupa može se koordinisati na nivou cele mreže, tj. može biti dozvoljeno

    dodavanje uređaja od strane koordinatora ali ne i rutera na primer, ili obrnuto - Slika 154. U Zigbee

    mreži može biti i do 31000 uređaja.

    Slika 154. Kontrola pristupa

    Uređaj se u postojeću mrežu može priključiti na sopstveni zahtev (slanjem zahteva za

    asocijaciju sa MAC sloja), ili će ga roditelj sam priključiti ukoliko to od njega zahteva aplikacija.

    Uređaj može biti priključen u mrežu na neko tačno određeno, ili na neodređeno vreme. Po isteku

    vremena, ili gubitku sinhronizacije sa roditeljem, uređaj može započeti proces ponovnog

    priključivanja.

    i) Priključivanje uređaja u mrežu na sopstveni zahtev

    Uređaj koji želi da se priključi u postojeću Zigbee mrežu, prvo obavlja skeniranje mreže,

    kako bi sačinio listu raspoloživih mreža u svom okruženju. Informacije o raspoloživim mrežama on

    prosleđuje svom aplikativnom sloju, koji donosi odluku o mreži na koju će se uređaj pokušati da

    priključi. Zatim se na mrežnom sloju uređaja odabira roditelj – bira se uređaj u dometu koji

    dozvoljava asocijaciju, i koji ima cenu linka manju od 3. Tom uređaju šalje se zahtev za asocijaciju

    na MAC sloju - Slika 155.

    Roditelj po prijemu zahteva za asocijaciju proverava da li taj uređaj ima pravo pristupa, kao i

    da li je već bio u mreži u kojoj se roditelj nalazi. Ako je već bio u mreži, dodeljuje mu se adresa iz

    liste suseda. Ako ne, generiše se nova adresa i beleži u listu suseda. Nakon toga, šalje se odgovor na

    zahtev za asocijaciju, koji sadrži dodeljenu adresu uređaja u PAN mreži.

    ii) Priključivanje uređaja po gubitku roditelja ili na zahtev aplikacije

    Procedura koja se primenjuje u slučaju gubitka veze sa roditeljem je ista kao i ona u kojoj

    sam roditelj uključuje uređaj u mrežu na osnovu zahteva koji dolazi sa aplikativnog sloja. Naime,

    uređaj mora prijaviti gubitak roditelja (orphaning) potencijalnom roditelju - Slika 157, nakon čega

    će onaj roditelj kod koga se uređaj već nalazio u mreži, ili je aplikativni sloj dozvolio konektovanje

    uređaja, poslati odgovarajući odgovor za poravnanje sa koordinatorom - Slika 158.

  • 94

    Slika 155. Priključivanje mreži na zahtev uređaja – strana uređaja

    Slika 156. Priključivanje mreži na zahtev uređaja – strana roditelja

  • 95

    Slika 157. Slanje obaveštenja o gubitku roditelja

    Slika 158. Slanje poravnanja sa koordinatorom

    5.4.8. Napuštanje mreže

    Uređaj može odlučiti da napusti mrežu sam, ili je napušta na zahtev svog roditelja. Ruter koji

    napušta mrežu šalje komandni okvir mrežnog sloja za napuštanje mreže. Ovaj okvir može biti samo

    obaveštenje, na osnovu koga deca rutera treba da ažuriraju listu suseda. Međutim, ruter može

    poslati i zahtev da dete napusti mrežu i pokrene proceduru uklanjanja svoje dece iz mreže.

    Po prijemu okvira za napuštanje mreže, roditelj uređaja koji napušta mrežu ažurira listu

    svojih suseda.