2015.05.14.
A ZigBee 2007 specifikáció Készítette: Arnóczki Tamás Varga Máté
Bevezetés
1
2015.05.14.
Mi a ZigBee? ● A ZigBee egy energiatakarékos és költséghatékony, nyílt vezetéknélküli kommunikációs szabvány, melyet a ZigBee Alliance nevű szervezet fejleszt. ● Tervezési szempontok: o Alacsony fogyasztás o Alacsony költség o A telepítés és karbantartás könnyedsége o Az ingyenesen használható frekvenciasávok használata o A hálózat rugalmassága (bővíthető, szűkíthető) o Meghibásodások tűrése o Co-existance o Biztonság ● A ZigBee az IEEE 802.15.4-es PHY és MAC réteg specifikációkra épít. 3
ZigBee Alliance ● A ZigBee Alliance egy nyílt, non-profit szövetség melynek tagjai olyan cégek, állami intézmények, egyetemek és egyéb szervezetek, amelyek valamilyen formában részt vesznek a ZigBee szabványok fejlesztésében. ● A ZigBee Alliance szervezeti egységi között vannak: bizottságok, munkacsoportok, tanulmányi csoportok, munkacsoportok és a különleges érdekcsoportok. ● A tagsággal járó előnyök: o A még fejlesztés alatt lévő szabvány verziók elérése. o Lehetőség a szabványok formálására. o Szervezett (konferenciák) és közösségi támogatás o Saját termékek promotálása, a szabvány megfelelés tanúsítványának elnyerése (ZigBee Certified Product címke) 4
2
2015.05.14.
Felhasználási területek ● Épület automatika: fűtés-, hűtés-, világítás- és hozzáférésvezérlés, automatikus szenzorolvasás; biztonságtechnika; ● Orvoslás: beteg, fitness, wellness és idős megfigyelés ● Logisztikai - és vagyonkövetés ● Szenzorhálózatok és aktív RFID ● Fejlett mérés, intelligens energia ● Kereskedelmi épületautomatizálás ● Energiatakarékosság ● Kábelkiváltás
1. ábra: A ZigBee Certified Product Logo
5
Miért használjunk ZigBee-t? ● Alacsony az energiaigénye. Alkalmas elemről működő beágyazott rendszerek kommunikációjának megvalósításához. Egyes alkalmazásokban több évig is működnek eszközök elemcsere nélkül ● Olcsó eszközök és ingyenesen használható frekvenciasáv ● Megbízható ● Nagy számú eszköz helyezhető el egy hálózatban ● Könnyen telepíthető és mivel elemről is működtethetőek hordozhatóak a csomópontok. ● Lehetőség van kiterjedt hálózat létrehozásása, egy eszköznek elég egy router hatótávolságában lennie. ● Integritás és hitelesség ellenőrzés hálózati szinten ● Rövid késleltetési idők (két szomszédos csomópont között ~< 50 ms) ● 1000+ ZigBee Certified Product 6
3
2015.05.14.
ZigBee Architektúra
2. ábra: ZigBee architektúra
7
IEEE 802.15.4 Az IEEE 802.15 munkacsoport feladata a WPAN (Wireless Personal Area Network) szabványok fejlesztése. Az IEEE 802.15.4 szabvány a low-rate WPAN hálózatok energiatakarékos és minél egyszerűbb megvalósításával foglalkozik. 3. ábra: A ZigBee helye a vezetéknélküli technológiák között
8
4
2015.05.14.
Fizikai réteg
A fizikai réteg ● Három frekvenciasávot használ, ezek az ingyenes ISM (Industrial, Scientific and Medical) sávok. ● Kis hatótávolságú jelekben két csomópont közti akadályok miatt, többutas terjedés, elhajlás és reflexió léphet fel. ● Az ISM sávokban bármilyen eszköz kommunikálhat, interferenciát okozva. ● Az interferencia és a többutas terjedés miatt fellépő zavarokat a szabvány szélessávú szórt spektrumú kommunikáció előírásával előzi meg.
10
5
2015.05.14.
ISM sávok Európában az ISM sávokban a maximális adóteljesítményt 20 dBmben ( 100 mW ) határozták meg, de egy másik követelmény miatt 10 dBmet ( 10 mW ) használhatunk. Ez ideális körülmények között 1200 m-es adótávolságot tesz lehetővé.
4. ábra: Az ISM sávok
11
Elsődleges modulációk A 868/915 MHz-es frekvenciasávban a Binary Phase Shift Keying (BPSK) a 2.4 GHz-es frekvenciasávban Offset Quadrate Phase Shift Keying (OQPSK) modulációt használnak az adatbitek vivőjelre történő ráültetéséhez. A BPSK esetén a vivőjel két ellentétes fázisú változata felel meg az 1-nek és a 0-nak. A szabvány szerint a 868 MHz-es sávban 20 Kbps a 915MHz-es sávban pedig 40 Kbps. A OQPSK séma esetén az adatbiteket kettessével modulálják. A vivőjel két egymásra ortogonális jel (sin és cos) összege. Az első bitet az egyik a második bitet egy bitidő késleltetéssel a másik jelre ültetik a BPSK séma alapján. A késleltetés a 180°-os fáziseltolások elkerülése miatt szükséges. A szabvány 250 Kbps-os bitrátát és 62.5 Kbaud-os szimbólumrátát ír elő. 12
6
2015.05.14.
Direct Sequence Spread Spectrum (DSSS) Egy bit-időperiódust több darab ún. chip-időperiódusra bontanak fel. Egy (esetleg több) bit helyett (még) több darab chip (egy szimbólum) kerül továbbításra. Minden adó-vevő pár rendelkezik egy ún. „spreading” kóddal. Adáskor: az eredeti bitsorozat és a spreading kód közötti XOR művelet elvégzésével állítják elő a szimbólumokat. Vételkor: a szimbólumok és a spreading kód közötti XOR művelet elvégzésével állítják elő az eredeti bitsorozatot. A 868/915 MHz-es sávban bitenként 15 chipes szimbólumot továbbítanak. A 2.4 GHz-es sávban 4 bitenként 32 chipes szimbólumot továbbítanak.
13
A fizikai réteg szolgáltatások ● Adat primitívek: o A hasznos adatok átvitelét biztosítják. ● Menedzsment primitívek: o Biztosítják a kommunikáció beállítását, a rádió ki és bekapcsolását és az elektromágneses energia érzékelését az adott rádiócsatornában. o Kommunikációs primitívek: Frekvencia sáv és csatorna kiválasztása/lekérdezése. o Rádióvezérlés: A rádió vevő illetve adó részeinek ki és bekapcsolása. o Energia érzékelés: Mekkora a vett jel teljesítménye egy adott használt csatornán. Az érzékelés után a fizikai réteg ha nem érzékel érvényes csomagot kikapcsolja a rádiót. 14
7
2015.05.14.
Adatkapcsolati réteg
Adatkapcsolati réteg Feladata: ● Hálózatba fel- és hálózatból lekapcsolódás kezelése ● Beacon kezelés: generálás és szinkronizáció ● CSMA-CA közeghozzáférési mechanizmus megvalósítása ● Biztonsági funkciók támogatása ● GTS mechanizmus kezelése és garantálása ● Megbízható kapcsolat biztosítása két MAC entitás között Címzés: ● Minden eszköz rendelkezik EUI-64-es (extended address) a világon egyedi és egy 16 bites (short address) a hálózatban egyedi azonosítóval. ● A hálózatot egy 16 bites PAN ID azonosítja. 16
8
2015.05.14.
Adatkapcsolati réteg A szabvány három üzemmódot definiál: ● PAN koordinátor: Pontosan egy ilyen üzemmódban működő eszköznek léteznie kell a hálózatban. ● Koordinátor ● Végeszköz Két típusú eszköz: ● Full Function Device (FFD): Mindhárom üzemmódban képes működni. ● Reduced Function Device(RFD): Csak végpont üzzemmódban képes működni. Egy RFD csak FFD-al tud kommunikálni.
17
Közeghozzáférési stratégiák ● Carrier Sense Multiple Access with Collision Avoidance (CSMA-CA): o A csomópont először belehallgatnak a csatornába. (CS) o Ha a csatorna foglalt, véletlen ideig várakozik. majd úra próbálkozik. (MA) o Ha a csatorna szabad egy meghatározott ideig várakozik. o Ha a csatorna ezután is szabad elkezd adni. (CA) o A rádió vevő részének mindig aktívnak kell lennie. ● Időréselt CSMA-CA o Az üzenetküldést beacon üzenetek ütemezik. o Üzenetet küldeni ún. szuperkeret üzenetek által meghatározott időrésekben lehet. o Az üzenetküldés ütemezése a PAN koordinátor feladata. 18
9
2015.05.14.
Hálózati réteg
Hálózati réteg Feladata hogy biztosítsa a következő funkciókat: ● Hálózat “indítása” ● Csatlakozás és lecsatlakozás ● Új eszközök konfigurációja ● Címzés ● Topológia specifikus útválasztás ● Szomszéd felderítés ● Útvonal felderítés (Mesh topológia)
20
10
2015.05.14.
ZigBee hálózati csomópont típusok A ZigBee specifikáció három típusú eszközt definiál: ● Koordinátor (megfelel az IEEE 802.15.4 PAN koordinátornak): o Hálózat “indítása”: csatorna kiválasztása, PAN ID meghatározása. o Üzenetütemezés o Router funkciók ● Router (megfelel az IEEE 802.15.4 koordinátornak): o Útválasztás és üzenettovábbítás o Egy router nem aludhat (időréselt CSMA-CA esetén sem) ● Végeszköz (megfelel az IEEE 802.15.4 végeszköznek): o Csak üzenetküldés és fogadás, melynek címzettje vagy feladója. o Csak az ilyen eszközök aludhatnak. 21
Hálózati réteg kezdeti konfiguráció A ZigBee hálózat mérete és konfgurációja a hálózat indításakor a ZigBee koordinátor által kerül meghatározásra. Néhány fontos a hálózat szerkezetét befolyásoló paraméter: ● Mélység (Depth): Meghatározza hogy maximum mennyi hopra lehet (mesh esetén köröket leszámítva) egy csomópont a ZigBee koordinátortól. (Meghatározva ezzel a hálózat maximális kiterjedtségét) ● Gyermekek száma (Number of Children): Az egy ZigBee routerhez csatlakozható gyermekek maximális száma, külön megadva hogy ezekból hány lehet router. ● Címkiosztás (Network Address Allocation): Minden router kap egy az összes gyermekének elegendő (a routereket is beleértve) egybefüggő címtartományt a koordinátortól, majd ezeket osztja tovább. 22
11
2015.05.14.
Automatikus hálózat szerveződés Hálózat indítás (ZigBee Koordinátor): ● Energia szerinti csatornakeresés. (Passive scan) ● Más 802.15.4 hálózatok keresése a csatornákon. (Active scan) ● “Legjobb” csatorna kiválasztása. ● Nem használt PAN ID kiválasztása. Csatlakozás: ● A csomópont végigszkenneli a csatornákat. (Active scan) ● A megfelelő hálózat kiválasztása: PAN ID vagy egyszerű stack profil kompatibilitás alapján. ● A legjobb metrikákkal rendelkező router kiválasztása. ● Cím kérése a routertől és authentikáció 23
Topológiák - Csillag A ZigBee Koordinátor köré szerveződik az egész hálózat, minden csomópont csak rajta keresztül kommunikál. Minden csomópontnak a koordinátor hatótávolságán belül kell lennie, nem létezik alternatív útvonal csomópontok között és a koordinátor könnyen okozhat torlódást. Nem feltétlenül szükséges ZigBee Network Layer implementáció a használatához, ha az alkalmazás megoldja a hálózati réteg szükséges feladatait, mivel a 802.15.4-es szabvány specifikál csillag topológiát. Egyszerű adatgyűjtő rendszerekhez megfelelő lehet. 5. ábra: Csillag topológia
24
12
2015.05.14.
Topológiák - Fa A koordinátornak és routereknek lehetnek gyermekei, a koordinátor nem lehet gyermeke senkinek és minden csomópont csak egy csomópont gyermeke lehet. A gyermekeiket és szülőjüket a csomópontok nyilván tartják. Útválasztás: ● Egy gyermek csak a szülőjével és gyermekeivel kommunikálhat közvetlenül ( még akkor is ha egy címzett csomópont adótávolságban is van ). ● Ha egy csomag nem a csomópontnak szól: o Ha a címzett nem az ő általa meghatározott részfában található, továbbítja a szülőjének. o Ha a címzett az ő általa meghatározott részfában található, továbbítja a címzettnek. Ha egy szülő csomópont meghibásodik itt sincs alternatív útvonal 25
Topológiák - Fa
6. ábra: Fa topológia
26
13
2015.05.14.
Topológiák - Háló Hasonló a fa topológiához azzal a kivétellel, hogy az egymás hatótávolságában lévő router csomópontok minden esetben küldhetnek egymás között üzeneteket. Léteznek alternatív útvonalak, ha egy router kiesik a hálózatból a csomagok még célba érhetnek. Útválasztás: ● A routerek az Ad Hoc On-Demand Distance Vector (AODV) algoritmusra épülő route discovery mechanizmus alapján routing táblákat építenek és tartanak karban. ● Ha a címzett nem a csomópont, gyermeke, vagy a szülője és nincs hozzá tartozó bejegyzés a routing táblában és engedélyezve van akkor route discovery folyamatot indít. ● A route discovery lehet kényszerített is, ilyenkor minden esetben route discovery eljárás kerül végrehajtásra. 27
Topológiák - Háló
7. ábra: Háló topológia
28
14
2015.05.14.
Az útvonalfelderítési eljárás (route discovery) ● A feladó szülője egy broadcast üzenetben elküldi a hálózat minden csomópontjának a címzett címét. ● Minden router megkapja az üzenetet és ideiglenes útvonalként rögzíti a feladóhoz vezető következő hop-ot (tehát ahonnan közvetlenül kapta az üzenetet). ● A címzett szülője és minden router, amely az ahhoz vezető utat ismeri válasz üzenetet küld az ideiglenes útvonalon a kezdeményező routernek. ● A válaszüzenet tartalmazza a hop számot és egy link minőség információt minden hopra. ● Ezt a válaszüzenet megérkezésekor az összes router amelyen áthalad frissíti a routing táblázatát. ● Az ideiglenes útvonalak rövid időn belül törlésre kerülnek. A broadcast loopok elkerülése érdekében a broadcast üzenetet a routerek csak abban az esetben továbbítják, ha az adott címmel az első üzenetet kapják. 29
Alkalmazási réteg
15
2015.05.14.
ZigBee APS (ZigBeee Application Support sub-layer) Egy fizikai eszközön logikailag több alkalmazás különálló címzését teszi lehetővé. Ezeket az alkalmazás példányokat végpontoknak (endpoint) nevezi a szabvány. Annak érdekében hogy a bejövő üzenetek a megfelelő végponthoz érkezzenek minden alkalmazásnak egyedien azonosíthatónak kell lennie, erre hivatott a végpont azonosító (endpoint address). Egy eszközön 240 alkalmazás (objektum) lehet, melyek legális végpont azonosítói 1-240. A 255-ös végpont azonosító speciális broadcast, a csomópont minden alkalmazásának szóló üzenetet jelez.
31
ZigBee Device Object Egy speciális alkalmazás amely minden ZigBee eszközön implementált. Végpont azonosítója 0. A következő feladatok elvégzéséért felelős: ● Az eszköz típusának meghatározása (koordinátor, router vagy végeszköz) ● A csomópont inicializálása. ● Az eszköz és szolgáltatás felderítés megvalósítása. ● Hálózat indítás, és csatlakozás implementációja. ● Kötési kérések indítása és megválaszolása. ● Az eszközön elérhető biztonsági funkciók megvalósítása. ● Távoli menedzsment információk lekérdezésének és beállításának megvalósítása. A ZDO alkalmazás profilja a ZigBee Device Protocol. 32
16
2015.05.14.
Stack profilok A profilok más-más felhasználási területre lettek kitalálva. Egymással csak az egy profilba tartozó eszközök képesek kommunikálni. Egy stack profil a hálózati rétegbeli paramétereket specifikálja. Mint például: ● a hálózat topológiája ● az alkalmazások számára elérhető szolgáltatások. A ZigBee Alliance négy stack profile-t definiált: ● Home control: Lakossági felhasználásra. ● Building automation: Nagyobb épületek vezérlési és biztonsági megoldásaihoz. ● Plant control: Ipari monitorozási és vezérlési célokra. ● Network specific: Nem a ZigBee alliance által meghatározott. 33
Alkalmazás profilok Az alkalmazás profilokat a stack profilokhoz rendelik. Az alkalmazás profilok eszközleírásokat (ilyen eszközöket támogat) és ezek interfészspecifikációit (milyen adatokat küldhet és fogadhat) tartalmazzák. Az alkalmazás profilok lehetnek: ● Publikusak: A ZigBee Alliance által definiált alkalmazás profilok, melyek az első három stack profilhoz vannak rendelve. Ezek: o Industrial Plant Monitoring o Home Automation o Commercial Building Automation o Telecom Applications o Personal Home and Hospital Care o Advanced Metering Initiative ● Privátak: A gyártók vagy egyéb alkalmazás programozók által definiált profilok. Ezek kötelezően egy Network specific stack profilhoz kell hogy tartozzanak. 34
17
2015.05.14.
Attribútumok és Klaszterek Az eszközök interfészeiken továbbítható adategységeit attribútumoknak nevezik és ezeket klaszterekbe rendezik. Az attribútumoknak és klasztereknek egyedi azonosítója van. Az alkalmazás profilok definiálják hogy mely klaszterek támogatása kötelező és melyeké opcionális az alkalmazás interfészén. Egy eszköz alkalmazásai által támogatott klaszterek megszabják hogy mely eszközök végpontjaival képes kommunikálni. A legtöbb gyártó kényesen ügyel arra hogy olyan klaszterei legyenek amelyeket vagy csak ő ismer, vagy minden létező klasztertől kellőképp különbözik.
35
Leírók A ZigBee eszközök és alkalmazások bizonyos jellemzőit leíróknak nevezi a specifikáció. Minden eszköz kétféle leíróval rendelkezik: ● Node descriptor ● Node power descriptor Ezeken kívül minden alkalmazásnak vagy egy ún. egyszerű leírója, mely a következő információkat tartalmazza: ● Az alkalmazás végpont azonosítója ● Az alkalmazás profil amelyet megvalósít, azon belüli eszköz azonosítója és annak verziója ● Van-e az alkalmazásnak komplex vagy felhasználó által definiált leírója ● A támogatott bemeneti és kimeneti klaszterek listája 36
18
2015.05.14.
Eszköz és szolgáltatás felderítés Az eszközök képesek a leírók alapján csomópontokat és végpontokat keresni a hálózaton. Eszköz felderítés: ● Eszköz címek kiderítése. ● Ha az eszköz router, az összes csatlakozott csomópontja címeinek megkérdezése. Szolgáltatás felderítés: ● Egy csomópont által nyújtott szolgáltatások lekérdezése. ● Eszköz típus, stack profil, áramellátás ● Információ bármely az eszközön futó alkalmazásról. ● Opcionális és egyéb felhasználó által definiált információ. (pl. egy érthető név) 37
Kötés A kötés lehetőséget biztosít alkalmazások klaszterekkel történő koordinátor által megvalósított összekapcsolására. Az alkalmazásoknak nem kell ismerniük a címzettek semelyik azonosítóját. A kötésben szereplő klasztereknek egymással kompatibilisnek kell lenniük. A koordinátor egy binding table-ben tartja nyilván a kötéseket. A bejegyzések tartalmazzák: ● A forrás hálózati címét és végpont azonosítóját ● A cél hálózati címét és végpont azonosítját ● A forgalmazott klaszter azonosítóját A kötést a két vagy több alkalmazás által egy bizonyos intervallumon belül küldött kötési kérésekre (binding request) jegyzi be a koordinátor. 38
19
2015.05.14.
Kötés Egy kötés lehet: 1-1, 1-N, N-1 A kötések konfigurációja háromféleképpen történhet: ● Pre-configured: A gyártó előre az alkalmazásba kódolja hogy mely eszközökkel kell kötést létesíteni ● Self-configured: Az alkalmazások kompatibilis végpontokat keresnek hálózat kiépüléskor. ● Custom: A rendszer telepítő által definiált kötések. Működési mechanizmus: ● Amikor egy forráson kimenet keletkezik, elküldi azt a koordinátornak. ● A koordinátor a kötési táblából kikeresi a klaszter azonosító és forrás hálózati cím alapján, hogy mely csomópontoknak szól az üzenet. ● Az összes alkalmazásnak továbbítja a klasztert. 39
Keretformátumok
20
2015.05.14.
IEEE 802.15.4 PHY
8. ábra: Az IEEE 802.15.4 PHY keretformátum
● Synchronization header (SHR) [40]: o Preamble [32]: 0 szimbólumok sorozata o Start of Frame Delimiter (SFD) [8]: 0xE5 ● PHY Header (PHR): o Frame length [7]: A PSDU hossza byteban: 0-127 (legális az 5 és >8) o Fentartott [1] ● PHY Service Data Unit (PSDU) [0-1016]: A MAC réteg keretei és adatai. 41
IEEE 802.15.4 MAC
9. ábra: Az IEEE 802.15.4 MAC általános keretformátum
42
21
2015.05.14.
IEEE 802.15.4 MAC ●
Frame control [16]: o
Frame type [3]: Rendre: (000) Beacon, (001) Data, (010) Acknowledgement, (011) Command, (100-111) Reserved
o
Security enabled [1]: Titkosítás alkalmazása. (0 - igen, 1 - nem azaz active-low)
o
Frame pending [1]: A jelenlegin kívül még van küldendő adat.
o
Acknowledgement request [1]: Acknowledgement kérésének jelzésére.
o
Intra-PAN [1]: Ha 0, nincs PAN ID a címmezőkben, ha 1 akkor az üzenet Inter-PAN és szerepelnie kell a PAN ID-nak, ha mindkét cím meg van adva, akkor a forrás PAN ID elhagyandó.
o
Source és Destination addressing mode [2]: (00) Nem szerepel cím, (01) Reserved, (10) Short address, (11) Extended address. Ha nem szerepel cím azt jelzi hogy a feladó/címzett a PAN coordinátor. Mindkét mező értéke nem lehet (00).
10. ábra: Az IEEE 802.15.4 MAC Frame Control mező
43
IEEE 802.15.4 MAC
●
Sequence Number [8]: Beacon üzenetek megkülönböztetésére és nyugtaüzenetek azonosítására.
●
Destination PAN ID [0/16]: Amennyiben jelen van (a Destination addressing mode-tól függően) a címzett csomópont PAN ID-ja.
●
Destination address [0/16/64]: A Destination addressing mode-tól függően nincs jelen, a címzett short vagy extended address-e.
●
Source PAN ID [0/16]: Amennyiben jelen van (a Source addressing mode-tól függően) a forrás csomópont PAN ID-ja.
●
Source address [0/16/64]: A Source addressing mode-tól függően nincs jelen, a címzett short vagy extended address-e.
●
Frame Check Seqence (FCS) [16]: Az MHR és MAC Payload mezők 16 bites ITU-T szábványt követő ellenőrző összege.
44
22
2015.05.14.
MAC Acknowledgement Frame
11. ábra: Az IEEE 802.15.4 MAC Acknowledgement keretformátum
45
MAC Beacon Frame
12. ábra: Az IEEE 802.15.4 MAC Beacon keretformátum
Beacon üzentet csak a koordinátor küldhet, kizárólag időréselt (szinkronizált) CSMA-CA közeghozzáférés megvalósításakor. Ilyenkor kommunikáció csak közvetlenül a beacon üzenetet követő 16 db időperiódusban megengedett. A versengéses periódust garantált időperiódusokkal is kiegészítették. Az időperiódusok hosszát a szuperkeret specifikáció adja meg. Az Addressing fields jeklölés jelen esetben csak a Source PAN ID és Source address mezőket tartalmazza.
46
23
2015.05.14.
MAC Beacon Frame
13. ábra: Az IEEE 802.15.4 MAC Beacon üzenet szuperkeret specifikációs mező
●
Superframe specification [16]: ○ Beacon Order [4] : Az beacon üzenetek szórásának sűrűségét jelzi, exponenciális skálán. Ha értéke 15 akkor a koordinátor csak kérésre küld ki beacon üzenetet. ○ Superframe order [4] : Meghatározza a szuperkeret periódusok hosszát, szintén exponenciális skálán. Ha értéke 15, a beacon üzenetet nem követi szuperkeret. ○ Final CAP ( Contention Access Period ) slot [4]: Meghatározza hogy a beacon üzenet után hány periódusnyi ideig tart a versengéses közeghozzáfér. ○ Battery life extension [1]: Akkor 1-es ha a beacont küldő eszköznek küldött CAP-beli keretek a 6. időperiódus előtt el kell hogy jussanak hozzá. ○ PAN coordinator [1]: 1-es ha a beacon üzenet közvetlenül a PAN koordinátortól származik. ○ Association permit [1]: 1-es ha a beacon üzenetet közvetlenül továbbító eszköz az új eszközök becsatlakozását a hálózatba lehetővé engedélyezi.
47
MAC Beacon Frame ● ● ●
GTS fields: A garantált időperiódusok jellemzése. (Az eszköz címe, és a számára garantált időperiódusok száma, pozíciója) Pending address fields: A koordinátor listában jelzi hogy mely csomópontok számára van továbbítandó üzenete. Beacon payload: Opcionális mező. Ha jelen van a MAC köteles jelezni azt a felsőbb rétegnek.
14. ábra: IEEE 802.15.4 MAC szuperkeret
48
24
2015.05.14.
MAC Command Frame
15. ábra: Az IEEE 802.15.4 MAC Command keretformátum
●
●
Command frame identifier [8]: 1. Association request ( RFD: TX ) 2. Association response ( RFD: RX ) 3. Disassociation notification ( RFD: RXTX ) 4. Data request ( RFD: TX ) 5. PAN ID conflict notification ( RFD: TX ) 6. Orphan notification ( RFD: TX ) 7. Beacon request ( RFD: - ) 8. Coordinator realignment ( RFD: RX ) 9. GTS request ( RFD: - ) Command payload: A MAC Command minden paraméterével.
49
MAC Data Frame ●
Data payload: A magasabb rétegbeli kereteket tartalmazza.
16. ábra: Az IEEE 802.15.4 MAC Data keretformátum
17. ábra: A ZigBee NWK réteg általános keretformátuma
50
25
2015.05.14.
ZigBee NWK
18. ábra: A ZigBee NWK Frame control mező
●
Frame control [16]: o Frame type [2]: (00) Data, (01) Command, többi fenntartott. o Protocol verison [4]: ZigBee NWK protokoll verzió. o Discover route [2]: (00) route discovery elnyomása, (01) route discovery engedélyezése, többi fenntartott. o Multicast flag [1]: 0, ha az üzenet unicast vagy broadcast, 1-es ha multicast típusú. o Security [1]: 1-es ha a biztonsági szolgáltatást az NWK szint alkalmazza. o Source route [1]: 1-es ha a csomag tartalmaz source routing alkeretet. o Destination IEEE Address [1]: 1-es ha a Destination IEEE Address mező szerepel. o Source IEEE Address [1]: 1-es ha a Source IEEE Address mező szerepel. 51
ZigBee NWK
●
Destination address [16]: A címzett short address-e.
●
Source address [16]: A feladó short address-e.
●
Radius [8]: A csomag hatósugara a hálózaton hop-okban mérve.
●
Sequence number [8]: A célcímmel együtt tekintve a keret azonosítására alkalmas.
●
Destination IEEE Address [0/64]: A címzett EUI-64-es azonosítóját tartalmazza. Csak akkor szerepel ha a Frame control mező Destination IEEE address almezője 1-es.
●
Source IEEE Address [0/64]: A forrás EUI-64-es azonosítóját tartalmazza. Csak akkor szerepel ha a Frame control mező Source IEEE address almezője 1-es.
Az utóbbi két mező lehetővé teszi az NWK rétegben működő szolgáltatások számára hogy detektálják a címütközéseket.
52
26
2015.05.14.
ZigBee NWK ●
●
Multicast control [0/8]: o
Multicast Mode [2]: (00) Member mode, (01) Nonmember mode, többi reserved.
o
NonmemberRadius [3]: Ha 0 és a csomópont nem tagja a csoportnak a csomag eldobásra kerül. Ha 1-6 között van akkor a csomópont dekrementálja az értékét és továbbítja a csomagot. Ha 7 akkor a csomag az érték dekrementálása nélkül kerül továbbításra.
o
MaxNonmemberRadius [3]: Erre az értékre állítják be a csoport tagok a NonmemberRadius mezőt továbbításkor.
Source route subframe: o
Relay count [8]: A Relay list-ben megadott címek száma.
o
Relay index [8]: A soron következő csomópont címének indexe a relay list-ben. A csomópontok a csomag továbbítása előtt dekrementálják.
o
Relay list: A köztes csomópontok címeinek listája. Minél közelebb vannak a címzetthez, annál kisebb indexű helyen szerepelnek a listában. 53
ZigBee NWK Command Frame
19. ábra: A ZigBee NWK Command keretformátum ●
●
NWK command identifier [8]: Az NWK parancs üzenet azonosítója. Legális értékei: 1. Route request 2. Route reply 3. Network Status 4. Leave 5. Route Record 6. Rejoin request 7. Rejoin response 8. Link Status 9. Network Report 10. Network Update NWK command payload: Az NWK parancs minden paraméterével.
54
27
2015.05.14.
NWK Data Frame ●
Data payload: A magasabb rétegbeli kereteket tartalmazza.
20. ábra: A ZigBee NWK Data keretformátum
21. ábra: A ZigBee APS általános keretformátuma
55
ZigBee APS
22. ábra: A ZigBee APS Frame control mező
●
Frame control [8]: o
Frame type [2]: (00) Data, (01) Command, (10) Acknowledgement, (11) fenntartott.
o
Delivery mode [2]: (00) Normal unicast, (01) Indirect, (10) Broadcast, (11) Group addressing
o
Acknowledgement format [1]: 0, ha command frame ack., 1 ha data frame ack.
o
Security [1]: 1-es ha a biztonsági szolgáltatást az APS szint alkalmazza.
o
Acknowledgement request [1]: Nyugtázás kérése.
o
Extended header present [1]: Kiterjesztett fejrész használata
56
28
2015.05.14.
ZigBee APS
●
Destination endpoint [0/8]: Ha a delivery mode nem (11) Group addressing, a címzett(ek) végpont azonosítója.
●
Group address [0/16]: Ha a delivery mode (11) Group addressing, a címzettek csoport azonosítója.
●
Cluster identifier [0/16]: Csak Data és Acknowledgement frame esetén. Az alkalmazás által használt kalszter azonosítója.
●
Profile identifier [0/16]: Csak Data és Acknowledgement frame esetén. Az alkalmazás által használt alkalmazási profil azonosító.
●
Source endpoint [0/8]: Csak Data és Acknowledgement frame esetén. Az feladó végpont azonosítója.
●
APS counter [8]: Csomag azonosító, ugyanazon csomag többszöri feldolgozásának elkerülésére.
●
Extended header: Darabolás támogatása. Darab azonosító, darabok száma, darabonkénti nyugtázás.
57
APS Acknowledgement Frame
23. ábra: A ZigBee APS Acknowledgement keret formátuma
58
29
2015.05.14.
APS Comand Frame
24. ábra: A ZigBee APS Command keret formátuma
● ●
APS Command identifier [8]: Az APS parancs azonosítója. APS Command payload: A ZigBee APS parancs minden paraméterével.
59
APS Data Frame
25. ábra: A ZigBee APS Data keret formátum
●
APS payload: Az alkalmazások által generált és felhasznált adat.
60
30
2015.05.14.
Biztonsági funkciók
ZigBee Biztonság A ZigBee biztonsági szolgáltatásai: ● Kulcsgenerálás és transzport ● Keret védelem (integritás és titkosítás) ● Eszköz authentikáció A ZigBee specifikációból következik: ● Az alkalmazások logikai elszeparálhatóság nélkül futnak. ● Az alacsonyabb rétegbeli szolgáltatások bármely alkalmazás számára teljes mértékben elérhetőek. ● Nem lehetne meggyőződni arról hogy egy másik eszközön futó alkalmazás kellő mértékben védett.
62
31
2015.05.14.
ZigBee Biztonság A ZigBee csak az eszközök között titkosít. A rétegek és alkalmazások egymásban megbíznak, és ugynazokat a biztonsági szolgáltatásokat érik el. Tehát megegyezik egy 802.15.4 MAC-hez specifikált biztonsági csomaggal, amely az AES-CCM-128 (NIST): ● Titkosít majd authentikál, de utóbbi kihagyható ● Egy szimmetrikus kulcs elegendő az eljárás mindkét részéhez A hálózatban lennie kell pontosan egy kitüntetett csomópontnak mely Trust Center szerepkört tölt be, a kulcsok menedzselését végzi. Alapértelmezésben a ZigBee koordinátor a Trust Center. A Trust Center lehet előre programozott eszközönként, vagy kezdetben csak a koordinátor által ismert. 63
ZigBee Biztonság Kulcsok kiosztása: ● Programozott ● Kiküldött ● Kulcs megegyezéssel generált Kulcs típusok: ● Link kulcs: Két eszköz között közös. A Trust Centernek minden eszközzel van közös link kulcsa, ez szükséges az eszközök authentikációjához. ● Hálózati kulcs: A hálózaton közös. A Trust Center több hálózati kulcsot generál melyeket sorszámmal azonosít, dinamikusan cserélget, illetve frissít.
64
32
2015.05.14.
A biztonság ára?
26. ábra: Csomópont szoftveres titkosítással.
28. ábra: Elfogyasztott energia mennyisége egymást követő küldési és fogadási műveletek esetén. (16-20 ms)
27. ábra: Csomópont hardveres titkosítással.
65
Ábrajegyzék 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
ábra: A ZigBee Certified Product Logo. SunSpec Alliance Newsletter, Second Quarter 2011. http://archive.constantcontact.com/fs062/1103529991451/archive/1105390870941.html ábra: ZigBee architektúra. [2], Figure 1.1 Outline of the ZigBee Stack Architecture, 30. oldal. ábra: A ZigBee helye a vezetéknélküli technológiák között. [11], 23. dia. ábra: Az ISM sávok. [5], 29. dia. ábra: Csillag topológia. [10], topológia ábráját felhasználva. ábra: Fa topológia. [10], topológia ábráját felhasználva. ábra: Háló topológia. [10], topológia ábráját felhasználva. ábra: Az IEEE 802.15.4 PHY keretformátum. [1], 43. oldal. ábra: Az IEEE 802.15.4 MAC általános keretformátum. [1], 112. oldal. ábra: Az IEEE 802.15.4 MAC Frame Control mező. [1], 112. oldal. ábra: Az IEEE 802.15.4 MAC Acknowledgement keretformátum. [1], 121. oldal. ábra: Az IEEE 802.15.4 MAC Beacon keretformátum. [1], 116. oldal. ábra: Az IEEE 802.15.4 MAC Beacon üzenet szuperkeret specifikációs mező. [1], 117. oldal. ábra: IEEE 802.15.4 MAC szuperkeret. http://www.prismmodelchecker.org/casestudies/zigbee.php ábra: Az IEEE 802.15.4 MAC Command keretformátum. [1], 122. oldal. ábra: Az IEEE 802.15.4 MAC Data keretformátum. [1], 120. oldal.
66
33
2015.05.14.
Ábrajegyzék 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
ábra: ZigBee NWK általános keretformátuma. [2], 307. oldal. ábra: A ZigBee NWK Frame control mező. [2], 308. oldal. ábra: A ZigBee NWK Command keretformátum. [2], 313 oldal. ábra: A ZigBee NWK Data keretformátum. [2], 313. oldal. ábra: A ZigBee APS általános keretformátuma. [2], 52. oldal. ábra: A ZigBee APS Frame control mező. [2], 52. oldal. ábra: A ZigBee APS Acknowledgement keret formátuma. [2], 58. oldal. ábra: A ZigBee APS Command keret formátuma. [2], 58. oldal. ábra: A ZigBee APS Data keret formátum. [2], 57. oldal. ábra: Csomópont szoftveres titkosítással. [9], 9. dia. ábra: Csomópont hardveres titkosítással. [9], 10. dia. ábra: Elfogyasztott energia mennyisége egymást követő küldési és fogadási műveletek esetén. (16-20 ms) [9], 11. dia.
67
Források 1. IEEE Computer Society: IEEE Std. 802.15.4, MAC and PHY Specifications for LR-WPANs. 2003. 2. ZigBee Alliance: ZigBee Specification (Document 053474r17). 2008. 3. dr. Buchmann Attila: Vezetéknélküli szenzorhálózatok. 2012. Diasor. 4. Robert Craige: ZigBee Security. 2009. Diasor. 5. Dr. José A. Guttierez: IEEE Std. 802.15.4: Enabling Pervasive Wireless Sensor Networks. 2005. Diasor. 6. Dusan Stevanovic: ZigBee / IEEE 802.15.4 Standard. 2007. Diasor. 7. Jennic Limited: ZigBee Stack User Guide. 2008. 8. Bánszki István, Schmutner Norbert: ZigBee 2007 Specifikáció. 2014. Diasor. 9. Geoffrey Ottoy, Tom Hamelinckx, Bart Preneel, Lieven De Strycker and Jean-Pierre Goemaere: AES Data Encryption in a ZigBee network:Software or Hardware? 2010. Diasor. 10. Arthur Stachowic: ZigBee Wireless Networks. 2010. Online cikk. http://zigbee.pbworks.com/w/page/25465049/ZigBee 11. ZigBee Alliance: ZigBee Overview. 2009. Diasor. 68
34
2015.05.14.
Köszönjük a figyelmet!
69
35