TETRA 060106
Locatie Afhankelijke Diensten - Wireless Technology for Positioning Applications (LADI WITEPA)
Case study: Nauwkeurigheid van dynamische RSS-based indoor plaatsbepalingssystemen De draadloze communicatiestandaard ZigBee
DraMCo
[email protected] 10 juli 2008
1
1
Inleiding
ZigBee[1, 2] is een netwerktechnologie uit de categorie van de WPAN’s (Wireless Personal Area Network) die gericht is op een aantal doelstellingen, namelijk: • robuustheid • flexibiliteit • een laag energieverbruik • lage kosten De technologie is ontworpen om aan monitoring en sturing te doen. Hiervoor volstaan zogenaamde low-duty cycle netwerken waar geen grote datahoeveelheden uitgewisseld moeten worden. De theoretisch maximum bitrate bedraagt 250kbps, wat een heel stuk lager is dan bij bijvoorbeeld Bluetooth en Wi-Fi. Bij ZigBee daarentegen, kan een netwerk veel groter worden dan bij andere draadloze technologie¨en. Figuur 1 situeert het toepassingsgebied van ZigBee en vergelijkt deze met andere momenteel bestaande technologie¨en. Men kan zogenaamde meshnetwerken opstellen waarbij de data zelf zijn weg zoekt doorheen het netwerk. Een dergelijk netwerk blijft ook werken indien een node uitvalt of wanneer nodes verplaatst worden (self-healing en self-forming). Het resultaat is een zeer robuust netwerk. De hardwarecomponenten die elke node nodig heeft zijn een radio-ontvanger, processor of microcontroller en geheugen. Door de grote prijsdaling van al deze componenten in de laatste jaren is het mogelijk om aan een relatief lage prijs ZigBee modules te bouwen. Net zoals de meeste communicatie protocollen is ZigBee opgebouwd uit lagen. Aan de hand van deze lagen wordt in de volgende pagina’s de werking van ZigBee verder uitgediept.
SHORT < RANGE > LONG
Text
Graphics
Internet
Hi−Fi Audio
Streaming Video
Digital Video
Multi−Channel Video
802.11b 802.11a/HL2 & 802.11g Bluetooth 2 ZigBee
LAN
Bluetooth 1
PAN
Figuur 1: Toepassingsgebied van ZigBee en andere draadloze technologie¨ en
2
De IEEE 802.15.4/ZigBee protocol stack
ZigBee is opgebouwd uit meerdere lagen, wat meestal te vergelijken is met het bekendere OSIreferentiemodel. Het lagenmodel of de zogenaamde protocolstack van ZigBee is weergegeven in Figuur 2. De IEEE 802.15.4 standaard definieert de onderste twee lagen (hier in het blauw). De ZigBee Alliance definieert de hoger gelegen lagen (groen), uitgezonderd de applicatielaag (geel) die door de gebruiker zelf kan aangepast worden. 2
Application (APL) Layer Application Framework
Endpoint 240 APSDE−SAP
Endpoint 1 APSDE−SAP
ZigBee Device Object (ZDO)
Endpoint 0 APSDE−SAP
Application Support Sublayer (APS)
Security Service Provider
APS Message Broker
Reflector Management
NLDE−SAP
IEEE 802.15.4 definded
NWK Security Management
ZigBee Alliance definded
MLDE−SAP
NWK Message Broker
Routing Management
Network Management
NLME−SAP
Network (NWK) Layer
ZDO Management Plane
APS Security Management
APSME−SAP
Application Object 1
ZDO Public Interfaces
Application Object 240
MLME−SAP Medium Acceses Control (MAC) Layer
End Manufacturer definded
PD−SAP
Layer function
PLME−SAP Physical (PHY) Layer 2.4GHz Radio
Layer Interface
868/915MHz
Figuur 2: ZigBee protocol stack Elke laag levert diensten aan de bovenliggende laag. Daarvoor communiceren ze via de Service Acces Points. Er is telkens een SAP voor de data en een SAP voor management. De fysische laag omvat alle hardwarematige voorzieningen om de data draadloos te versturen. Hier wordt bepaald welke RF zender/ontvanger gebruikt wordt, op welke frequentie gewerkt wordt en welke modulatietechniek gebruikt wordt. Ook de LQI (Link Quality Indication) en de kanaalselectie gebeuren in deze laag. De MAC laag zorgt voor de verzending en ontvangst (MAC protocol) van data via de fysische laag. De laag staat ook in voor beacon management, channel access, frame goedkeuring, associatie en dissociatie, synchronisatie. . . De netwerklaag staat voornamelijk in voor het netwerk management zoals toevoegen en verlaten van een netwerk, informatie over buren, routebepaling, Daarnaast staat ze ook in voor de beveiliging van de data. De toepassingslaag bestaat uit meerdere delen: de Application Support Sublayer (APS), het Application Framework (AF), het ZigBee Device Object (ZBO) en de door de gebruiker gecre¨eerde interface.
2.1
Netwerktopologie¨ en
ZigBee ondersteunt drie soorten topologie¨en: • De klassieke ster topologie • De cluster-tree topologie • De mesh topologie (ook soms peer-to-peer genoemd)
3
De stertopologie is de meest eenvoudige netwerkvorm. Hierbij vormt ´e´en van de nodes het centrale knooppunt. Als er behoefte is aan een groot netwerk worden veelal diverse sternetwerken aan elkaar gekoppeld, wat resulteert in een cluster-tree netwerk. Beide topologie¨en hebben als nadeel dat de centrale node(s) alle data moet(en) verwerken. Bijgevolg vormen deze nodes de bottleneck en achilleshiel van het netwerk. In omgevingen waar een hoge betrouwbaarheid wordt ge¨eist, kan het dan ook aangewezen zijn om een meshnetwerk te gebruiken. In een dergelijk netwerk zijn immers meerdere routes naar ´e´enzelfde punt mogelijk. Wanneer een bepaalde link verbroken wordt, kan het netwerk toch blijven functioneren. Daarnaast zal een dergelijk netwerk proberen om de verbroken verbinding te herstellen. Figuur 3 verduidelijkt nog de verschillende topologie¨en: MESH STAR
CLUSTER TREE PAN Coordinator (FFD) - ZigBee Coordinator Full Function Device - ZigBee Router Reduced Function Device - ZigBee End Device
Figuur 3: Soorten topologie¨ en.
2.2
Netwerkcomponenten
De IEEE 802.15.4 standaard definieert 2 types van netwerkcomponenten (devices): • Full Function Device: Een FFD kan communiceren met zowel andere FFD’s als met RFD’s. Dit type devices kan de algemene synchronisatie verzorgen met andere nodes binnen het netwerk, dit met behulp van beacon frame transmissie. • Reduced Function Device: Een RFD kan enkel communiceren met een FFD. Dit type device heeft beperkte functionaliteit en is bedoeld voor eenvoudige communicatiehandelingen. In elk netwerk bevindt zich ten minste ´e´en FFD die dienst doet als PAN co¨ordinator. Dit is de algemene controller van het netwerk. Dit device identificeert het Personal Area Network (PAN).
4
2.3
ZigBee architectuur
Volgens de ZigBee specificatie worden de netwerkelementen (nodes) uit 2.2 anders benoemd: • ZigBee Co¨ ordinator (ZC): Er is slechts ´e´en ZC nodig voor elk ZigBee netwerk. De ZC initialiseert het netwerk en gedraagt zich als een PAN Co¨ordinator (FFD), zoals deze gedefinieerd wordt in de IEEE 802.15.4 standaard. Dit type gedraagt zich ook als een router eens het netwerk gevormd is. • ZigBee Router (ZR): Dit type zoekt naar een geschikte ZC en probeert tot een netwerk toe te treden, dit door zich te koppelen aan een ZC of een andere ZR. ZR’s zijn noodzakelijk om uitgebreide netwerken te ontwikkelen. De ZR handelt als een IEEE 802.15.4 Co¨ ordinator (FFD), kent lokaal adressen toe en neemt deel aan de Multihop/mesh routing. • ZigBee End Device (ZED): Dit type zoekt naar een geschikte ZC en probeert tot een netwerk toe te treden, dit door zich te koppelen aan een ZC al dan niet via een ZR. ZED’s gedragen zich als IEEE 802.15.4 RFD’s. Andere devices zullen niet toegelaten worden om via een ZED toe te treden tot het netwerk en de ZED’s zullen nooit deelnemen aan de routing van boodschappen. Wanneer verder in deze tekst de verschillende nodes benoemd worden, zal steeds de typebenaming volgens de ZigBee specificatie gebruikt worden.
3
De Fysische laag (PHY)
De fysische laag staat in voor het draadloos verzenden en ontvangen van data. Daarvoor zijn drie licentievrije frequentiebanden voorzien. In totaal zijn 27 kanalen beschikbaar. Hiervan bevindt er zich 1 op 868MHz, 10 in de 915MHz band en 16 in de 2,4GHz band. Dit alles is weergegeven in Tabel 1. Bij het opstarten van het netwerk wordt een kanaal gekozen door de co¨ordinator. Meestal kiest de co¨ordinator het kanaal waarop het minste dataverkeer van andere netwerken plaats vindt. Eenmaal het kanaal gekozen is, blijft dit in principe vast. Band 868MHz
Bandbreedte /
Beschikbaarheid Europa
Datarate 20 kbps
Kanaal nrs. 0
2MHz
Amerika
40 kbps
1-10
5MHz
Wereldwijd
250 kbps
11-26
868.3MHz
915MHz ISM 902MHz - 928MHz
2.4GHz ISM 2.4GHz - 2.4835GHz
Tabel 1: ZigBee: beschikbare kanalen en banden Als modulatietechniek wordt een 16-voudige quasi-orthogonale modulatietechniek gebruikt. Telkens 4 databits worden gebruikt om 1 van de 16 pseudo-random white noise (PN) bitsequenties te selecteren. Deze techniek is te vergelijken met de Direct Sequence Spread Spectrum (DSSS) techniek, in tegenstelling tot Bluetooth waar Frequency Hopping Spread Spectrum (FHSS) gebruikt wordt. 5
De verschillende PN sequenties voor opeenvolgende datasymbolen worden aaneengeschakeld en met de resulterende bitstroom wordt de carrier O-QPSK gemoduleerd. Naast de datatransmissie op zich, is de fysische laag ook verantwoordelijk voor de volgende taken: • Activeren en deactiveren van de radio-ontvanger. De radio-ontvanger kan zich bevinden in 3 verschillende staten: verzenden, ontvangen of slapen. Vanuit de MAC laag zal gevraagd worden om de ontvanger AAN (zenden en ontvangen) of UIT (slapen) te plaatsen. • Ontvanger Energie Detectie (ED). Dit is een schatting van de ontvangen signaalsterkte binnen de bandbreedte van een IEEE 802.15.4 kanaal. Deze taak omhelst geen signaalherkenning of decodering op het kanaal. De standaard raadt aan om een energiedetectie te doen gedurende een tijdspanne van 8 symboolperiodes. Deze meting wordt vooral gebruikt om na te gaan of het kanaal bezet is of ongebruikt • Link Quality Indication (LQI). De LQI meting karakteriseert de kwaliteit van een link tussen 2 nodes. De LQI kan ge¨ımplementeerd worden door gebruik te maken van de eerder beschreven ontvangers ED techniek, een schatting van de signaal-ruis verhouding of een combinatie van beide technieken. Het LQI resultaat kan gebruikt worden in hogere lagen (bijvoorbeeld in de Netwerklaag om het beste datapad te kiezen). • Clear Channel Assessment (CCA). De CCA operatie is verantwoordelijk voor de rapportering van de staat van de activiteit binnen in het medium: busy of idle. De CCA wordt uitgevoerd in 3 verschillende modes: – Energie Detectie mode. De CCA rapporteert een bezet medium als de ontvangen energie een vastgelegd drempelniveau overschreden heeft. Dit wordt de ED drempel genoemd. – Carrier Sense mode. De CCA rapporteert alleen een bezet medium als het een signaal detecteert met de modulatie- en spreidingskarakteristiek van de IEEE 802.15.4 standaard. – Carrier Sense met Energie Detectie mode. Dit is een combinatie van de voorgaande modes. De CCA rapporteert dat het medium bezet is alleen als het een signaal detecteert met de modulatie- en spreidingskarakteristiek van de IEEE 802.15.4 standaard ´en met een ontvangen energie boven de ED drempel. • Kanaal selectie. De IEEE 802.15.4 definieert 27 verschillende draadloze kanalen. Een netwerk heeft de mogelijkheid om te kiezen in welk kanaal er gewerkt kan worden. Bijgevolg moet de fysische laag de mogelijkheid hebben om de ontvanger op een bepaald kanaal af te stemmen na een vraag hiertoe vanuit een hogere laag. De datasnelheid bedraagt (theoretisch) 250 kbps bij 2.4 GHz, 40 kbps bij 915 MHZ en 20 kbps bij 868 MHz. Lage frequenties zijn meer geschikt voor grotere transmissieafstanden doordat de propagatieverliezen er lager liggen. Daartegenover staat natuurlijk dat een hoge datasnelheid een hogere throughput oplevert en eveneens het gebruik van een lagere duty cycle mogelijk maakt. De meeste gebruikte frequentieband is echter de 2.4GHz band omdat deze wereldwijd vrij beschikbaar is.
6
4
De Medium Access Control laag (MAC)
De MAC laag staat in voor het verzenden en ontvangen van data via de fysische laag. De laag staat ook in voor beacon management, channel access, frame goedkeuring, associatie en dissociatie van nodes, synchronisatie. . .
4.1
Frame structuur
In de 802.15.4 standaard zijn 4 soorten frames gedefinieerd: • Data frame • ACK frame • MAC command frame • Beacon frame Figuur 4 toont hoe deze frames opgebouwd zijn. De onderste laag bevat de fysische PDU (Protocol Data Unit), dit is het datapakket dat alle data van de bovenliggende lagen bevat. Het is dan ook dit datapakket dat draadloos wordt doorgezonden. De PDU bestaat uit een synchronisatie header, een fysische header en een PHY SDU (Service Data Unit). De PHY SDU bevat de data van de daarbovenliggende MAC laag, met noemt dit ook de MAC PDU. Deze data-eenheid kan maximaal 127 bytes groot zijn. De MAC PDU kan telkens ´e´en van de 4 verschillende soorten frames bevatten. Het dataframe is bedoeld om de applicatiedata te versturen en kan tot 102 bytes groot zijn. Het frame heeft een sequentienummer zodat er een flowcontrole kan op toegepast worden om te verzekeren dat alle pakketen toekomen. De frame check sequence (of FCS) dient om te controleren of de ontvangen pakketten fouten vertonen. Het ACK (acknowledgement) frame zorgt voor de bevestiging van een dataframe. Dit wil zeggen dat, wanneer een bevestiging aangevraagd wordt bij het versturen van data, de ontvanger het gepaste sequentienummer moet terugsturen in een ACK frame (als het pakket zonder fouten is toegekomen). Dit wordt dan teruggestuurd naar de zender. Indien de zender geen bevestiging ontvangt weet deze dat er iets mis is gegaan met de transmissie. Hierop zal de zender een retransmissie uitvoeren, als dit zo ingesteld is. Een MAC command frame geeft de gebruiker de mogelijkheid om client nodes (dit zijn nodes die afhankelijk zijn van een andere node) te beheren en te configureren vanop afstand. Zo kan men vanaf een centraal punt makkelijk instellingen veranderen zonder elke client node apart te moeten benaderen en te herprogrammeren. Het beacon frame tenslotte, maakt de nodes “wakker” wanneer deze iets mogen zenden. De client nodes kijken dan of het bestemmingsadres van het frame overeenkomt met hun eigen adres. Zoniet gaan ze terug in slaapstand. Beacons zijn vooral belangrijk bij mesh en clustertree netwerken om alle nodes gesynchroniseerd te houden zonder dat de nodes veel energie verbruiken door een lange tijd te moeten luisteren.
4.2
Werkingsmodes
Het IEEE 802.15.4 MAC protocol voorziet twee verschillende werkingsmodes die gekozen worden door de PAN Co¨ ordinator: 7
127 bytes maximum bytes 2
PHY sublayer
4−20
max. 102
Sequence Address number info
Frame control
Sequence number
Frame control
Sequence Address Command Frame type/ check number info payload sequence
Frame control
Sequence Address number info
5
1
Synchronisation header
PHY header
Payload data
2 Frame check sequence
Frame control
MAC sublayer
bytes
1
Frame check sequence
Data frame ACK frame
Beacon payload
Frame check sequence
MAC frame Beacon frame
MAC protocol data unit PHY service data unit
PHY protocol data unit Figuur 4: ZigBee framestructuur • Beacon-enabled mode. In deze mode worden periodiek beacons verzonden door de PAN Co¨ ordinator om nodes die met hem geassocieerd zijn te synchroniseren en om het PAN te identificeren. Een beacon frame bepaalt het begin van een Superframe, dit definieert een tijdsinterval waarbinnen nodes gegevens kunnen uitwisselen. Toegang tot het medium wordt geregeld met het slotted CSMA/CA mechanisme (zie: 4.3.1). • Nonbeacon-enabled mode. Nodes kunnen op elk tijdstip data versturen. De toegang tot het medium wordt in dit geval geregeld met het (unslotted) CSMA/CA mechanisme (zie: 4.3.2).
4.3
Channel Acces
In de 802.15.4 standaard zijn twee channel access technieken ge¨ımplementeerd. Deze technieken regelen de manier waarop het medium (kanaal) in gebruik wordt genomen. Men maakt een onderscheid tussen nonbeacon-enabled en beacon-enabled netwerken. Bij een nonbeacon-enabled netwerk gebruikt men het “gewone” CSMA/CA mechanisme of ook wel unslotted CSMA/CA genoemd. Bij een beacon-enabled netwerk wordt gebruik gemaakt van slotted CSMA/CA met de superframe structuur. Het begrip superframe wordt verduidelijkt in 4.3.2.
8
4.3.1
(Unslotted) CSMA/CA
Bij draadloze communicatie kunnen botsingen optreden wanneer meerdere devices op hetzelfde ogenblik proberen data te versturen. Omdat botsingen in dit “draadloze milieu” moeilijk te detecteren zijn, probeert men deze te vermijden door middel van het CSMA/CA mechanisme. CSMA/CA staat voor: • CS: Carrier Sense. Het draadloze toestel gaat eerst “luisteren” of het medium in gebruik is (listen before talking). • MA: Multiple Access. Het medium gedeeld wordt met andere apparaten. • CA: Collision Avoidance. Botsingen probeert men te vermijden, dit in tegenstelling tot Collision Detection (CD) dat bijvoorbeeld gebruikt wordt bij Ethernet. Het luisteren gebeurt door een CCA uit te voeren na eerst een bepaalde tijd gewacht te hebben. Dit is een eerste maatregel om botsingen te vermijden. Als het kanaal vrij is, kan er data verstuurd worden. Indien er toch een botsing is opgetreden wordt terug een random tijd gewacht alvorens opnieuw een CCA uit te voeren (de back-off periode). Op deze manier wordt er voor gezorgd dat de verschillende devices niet steeds op hetzelfde ogenblik proberen om hun data te versturen. 4.3.2
Slotted CSMA/CA met superframes
Bij slotted CSMA/CA worden beacon frames gebruikt om een superframe (Figuur 5) af te bakenen. De beacons worden met vaste regelmaat door de co¨ordinator verstuurd. Op deze manier kunnen de andere nodes in het netwerk zich met de co¨ordinator synchroniseren, maar de beacons worden ook gebruikt voor de structuuromschrijving van het superframe en de identificatie van het PAN. Elk beacon interval is onderverdeeld in een actief gedeelte en een optioneel inactief deel. Het actieve deel, of het eigenlijke superframe, wordt onderverdeeld in 16 tijdsloten, waarvan het eerste altijd een beacon frame is. De actieve periode van een superframe bestaat uit een CAP (Contention Access Period) en een eventuele CFP (Contention Free Period). Tijdens de CAP kunnen alle nodes communiceren met de co¨ordinator volgens het CSMA/CA mechanisme. Na de CAP kan een eventuele CFP komen waarin gegarandeerde tijdsloten (GTS = Guarnateed Time Slots) vrijgehouden worden voor enkele nodes. Deze worden door de co¨ordinator bepaald. Tijdens de CFP is dus onnodig om het CSMA/CA mechanisme te gebruiken aangezien er geen botsingen kunnen optreden. De co¨ordinator kan tot 7 GTS’s toewijzen en een GTS kan langer dan 1 tijdslot duren. De minimale CAP lengte is 440 symbolen. De structuur van het superframe wordt door 2 variabelen bepaald: het Beacon Interval (BI) en de Super Frame Duration (SD). BI en SD worden gevonden door middel van: BI =aBaseSuperf rameDuration · 2BO , f or 0 ≤ BO ≤ 14 SO
SD =aBaseSuperf rameDuration · 2
, f or 0 ≤ SO ≤ BO ≤ 14
(1) (2)
De constante aBaseSuperf rameDuration uit (1) en (2) is de minimum duur van een Superframe bij SO = 0. 9
BI = aBaseSuperF rameDuration × 2BO SD = aBaseSuperF rameDuration × 2SO
CAP beacon
CFP (GTS) INACTIVE time slot
CAP - Contention Access Period CFP - Contention Free Period GTS - Guaranteed Time Slots
beacon BO/SO - Beacon/Superframe Order BI - Beacon Interval SD - Superframe Duration
Figuur 5: Opbouw van een superframe
4.4
Adressering
Devices kunnen gebruik maken van het standaard 64 bit adres, of een optioneel 16 bit verkort adres. Zo kunnen tot 65535 nodes (216 − 1 die bestemd is voor de co¨ordinator) in het netwerk worden opgenomen.
4.5 4.5.1
Datatransfer model Datatransfer naar de co¨ ordinator
Bij de transfer van data bij nonbeacon-enabled netwerken kunnen de eindnodes en de co¨ordinator zelf kiezen wanneer ze data versturen naar elkaar. Optioneel kan een ontvangstbevestiging (acknowledgement) gestuurd worden (Figuur 6 a). Bij beacon-enabled netwerken kan de eindnode enkel data versturen als de co¨ordinator hiervoor toestemming geeft, dit gebeurt door een beacon te sturen naar de eindnode. Wanneer het beacon ontvangen is synchroniseert de node zich met de superframe structuur. Vervolgens wordt de data verzonden via in de CAP, of direct in de CFP. De co¨ordinator kan dit bericht nog optioneel bevestigen indien dit gevraagd is (Figuur 6 b).
Network Device
Coordinator
Network Device
Coordinator Beacon
Data
Data Acknowledgement Acknowledgement
(optional)
(optional)
a
b
Figuur 6: Datatransfer naar de co¨ ordinator
10
4.5.2
Datatransfer vanuit de co¨ ordinator
Ook hier moet terug een onderscheid worden gemaakt tussen nonbeacon-enabled en beaconenabled netwerken. Bij nonbeacon-enabled netwerken moet de eindnode zelf vragen aan de co¨ordinator of er data beschikbaar is. Dit wordt periodiek gedaan op een tempo dat in de applicatie ingesteld is. Hierop kan de co¨ordinator een optionele bevestiging van deze aanvraag versturen. Als er te versturen data voor die node is, wordt deze doorgestuurd, zoniet wordt een dataframe zonder data doorgestuurd (payload = 0) om aan te tonen dat er geen data was. Als hiervan een bevestiging ontvangen wordt, wordt de data uit de lijst met de te versturen data gehaald (Figuur 7 a). In een beacon-enabled zal de co¨ ordinator in de beacon aanduiden dat er data te versturen is voor een bepaalde node. Wanneer de desbetreffende node dit beacon ontvangt zal deze herkennen dat de co¨ ordinator data wil versturen. Hierop zal deze een data request uitvoeren naar de co¨ ordinator. De co¨ ordinator ziet deze aanvraag en kan een optionele bevestiging van de aanvraag sturen. Vervolgens verstuurt de co¨ordinator de data naar de node. Wanneer de bevestiging voor de verstuurde data is ontvangen wordt deze uit de lijst met te versturen data gehaald (Figuur 7 b).
Network Device
Coordinator
Network Device
Coordinator Beacon
Data Request Acknowledgement Data
Data Request
Acknowledgement
Acknowledgement Data Acknowledgement
a
b
Figuur 7: Datatransfer vanuit de co¨ ordinator
4.5.3
Peer-to-peer datatransfer
Bij peer-to-peer of meshnetwerken moet elke node kunnen communiceren met elke andere node in zijn buurt. Om dit goed te laten werken moet er steeds geluisterd worden, en af en toe gesynchroniseerd worden. In de bovenstaande gevallen van datatransfers kan de data doorgestuurd worden met unslotted CSMA/CA.
11
5
De netwerklaag (NWK)
5.1
Algemene beschrijving van de netwerklaag
De ZigBee Netwerklaag (NWK) is verantwoordelijk voor het netwerkonderhoud, zoals het behandelen van aanvragen van nodes om toe te treden tot een netwerk en dit ook te verlaten, voor de veiligheid en de routing. De ZigBee co¨ordinator is verantwoordelijk voor het opstarten van het netwerk en het toekennen van netwerkadressen aan de nieuw toegetreden nodes. De netwerklaag is noodzakelijk om de correcte werking te verzekeren van de MAC sublaag. Hiervoor beschikt de netwerklaag over 2 belangrijke entiteiten: een data entiteit (NLDE) en een management entiteit (NLME). De NLDE voorziet 2 types van provides, 2 diensten types: • De NLDE genereert NPDUs (Netwerklaag PDUs) wanneer een PDU (Protocol Data Unit) ontvangen werd van de Applicatielaag, door een gepaste Netwerklaag-header toe te voegen. • De NLDE is in staat om NPDUs naar andere nodes binnen het netwerk te versturen. De NLME voorziet ook een management dienst om applicaties de mogelijkheid te geven om gegevens uit te wisselen met de protocolstack. De NLME voorziet verschillende soorten diensten: • Configuratie van een nieuwe node • Configureren van de protocolstack voor correcte werking. • Starten van een netwerk. • Toetreden tot en het verlaten van een netwerk. • Adressering. • Route discovery, ontdekken en opslaan van routes doorheen het netwerk. • Ontdekken van buren. In Figuur 8 is te zien dat de diensten die aangeboden worden door de Netwerklaag aangesproken worden door 2 service access points (SAPs). We spreken van de NLDE-SAP en de NLME-SAP. De SAPs gedragen zich als interfaces tussen de Netwerklaag en de Applicatielaag. Anderzijds zijn er ook nog de MLDE-SAP en de MLME-SAP, deze worden gebruikt als interfaces tussen de MAC sublaag en de Netwerklaag.
5.2 5.2.1
De belangrijkste functionaliteit van de netwerklaag Functionaliteit van de nodes
• ZED: Beschikt over de mogelijkheid om toe te treden tot een netwerk door zich te associ¨eren tot een ZC of ZR. Verder kan dit type node ook het netwerk verlaten. • ZR: heeft dezelfde functionaliteiten als een ZED, maar kan daar bovenop routing van pakketten verzorgen en andere nodes toelaten om toe te treden tot het netwerk en om dit te verlaten. 12
Next Higher Layer Entity NLDE SAP
NLME SAP
NLDE
NLME NWK IB
MLDE SAP
MLME SAP
MAC Layer Entity
Figuur 8: Netwerklaag referentiemodel • ZC: Bovenop de functionaliteiten van de ZR, is de ZC ook in staat om een nieuw netwerk op te stellen. 5.2.2
Neighbour tables
Elke node kan een tabel onderhouden waarin de buren weergegeven worden. Deze buren zijn de andere nodes die zich binnen het bereik van de verzamelende node bevinden. Deze tabel is zeer belangrijk om de associatie en dissociatie van nodes te regelen. 5.2.3
Gedistribueerd toekennen van adressen
Het IEEE 802.15.4 protocol voorziet al uitgebreide adressen voor alle nodes, de zogenaamde 64-bit MAC adressen. Zo’n adres is uniek. Wanneer een node echter toetreedt tot een netwerk en zo een ouder-kind relatie vormt, dan wordt aan deze node een netwerkadres toegekend dat uniek is binnen het netwerk. Het adres voorzien door de Netwerklaag is een 16-bit adres. De ZigBee specificatie voorziet een mechanisme om deze unieke adressen te genereren. Als het netwerk een boomstructuur heeft, dan bepaalt de plaats van de node in het netwerk de waarde van het netwerkadres.
5.3
Routing protocollen
Routing is een van de meest belangrijke voorzieningen van de ZigBee Netwerklaag. De specificatie voorziet 3 routing mechanismen: • Tree routing: Wanneer we een boomstructuur hebben binnen ons netwerk zal het mogelijk zijn om dit routingmechanisme te gebruiken. Het adres bepaalt immers waar de bestemming van een verzonden pakket te vinden is (5.2.2). Een eenvoudige vergelijking wijst uit of het pakket omhoog moet doorgegeven worden (naar de ouder) of naar omlaag (naar een gepast kind). • Neighbour routing: Dit routingsmechanisme maakt gebruik van neighbour tables zoals deze reeds eerder werden besproken. Wanneer de bestemming binnen bereik is, dan kan een bericht onmiddellijk naar de bestemming gestuurd worden. Binnen bereik
13
wil ook zeggen dat er een neighbour table entry aanwezig is voor de bestemming. Dit routingmechanisme wordt typisch gebruikt in samenwerking met andere mechanismes. • Mesh routing: De mesh routing werkt met behulp van routingtabellen. Als de bestemming van het bericht ook een routing table entry heeft, kan de hieraan verbonden route gebruikt worden om de boodschap naar zijn bestemming te brengen. Elke ZC of ZR kan een routingtabel onderhouden. Als een ZED een pakket wil versturen, wordt dit doorgegeven aan zijn ouder die wel een routingtabel heeft. Wanneer een node een boodschap ontvangt voor iemand anders, controleert deze in zijn routingtabel of er een entry bestaat voor deze bestemming. Indien dit het geval is, zal deze entry een adres bevatten waar het bericht naar toe gestuurd moet worden om de bestemming te bereiken. De hierop volgende node in de ketting zal net hetzelfde doen. Zo gaat het bericht van node naar node tot het zijn bestemming bereikt. Als er voor de bestemming geen ingang te vinden is, zal de ZC of ZR een route discovery uitvoeren om een passende ingang aan te maken.
6
De applicatielaag (APL)
De applicatielaag is verantwoordelijk voor het ontdekken (discovery) van aanwezige devices in het netwerk en ook voor het achterhalen van de applicaties die deze devices voorzien. De applicatielaag zal de functies, die voorzien zijn door de netwerklaag, aanroepen met behulp van de SAPs. De Applicatielaag bestaat uit 3 verschillende blokken met elk een andere functionaliteit en verantwoordelijkheid: • Application Support Sub-layer (APS). Dit blok is verantwoordelijk voor het onderhoud van een tabel die de koppelingen weergeeft tussen verschillende nodes in het netwerk. De APS-laag voorziet een interface tussen de NWK laag en de APL met zijn set van diensten. • ZigBee Device Object (ZDO). Is verantwoordelijk voor het management van ZigBee devices in het netwerk, zoals het ontdekken van nieuwe nodes in het netwerk en eveneens het bepalen van zijn rol in dat netwerk. Het bepaalt ook welke diensten deze nodes zullen kunnen leveren. • Application Framework (AF). Elke node kan tot 240 applicatieobjecten bevatten die gedefinieerd worden met behulp van endpoints. Een voorbeeld van zo een applicatieobject is een power switch of een A/D converter. Er is een onrechtstreekse samenwerking tussen de APL en de MAC laag. De volledige configuratie van een device hangt eigenlijk af van de toepassing waarin deze node gebruikt wordt. Deze wordt dus grotendeels bepaald door de ontwerper.
14
Referenties [1] IEEE, 802.15.4 standaard, 2003. 1 [2] ZigBee Alliance, Zigbee Specification, 2006. 1
15