ZigBee 網(wǎng)絡(luò)層規(guī)范
1.網(wǎng)絡(luò)層參考模型及實(shí)現(xiàn)
網(wǎng)絡(luò)層主要實(shí)現(xiàn)節(jié)點(diǎn)加入、離開、路由查找和傳送數(shù)據(jù)等功能。目前 ZigBee 網(wǎng)絡(luò)層主要支持兩種路由算法,即樹路由(Cluster-Tree)和網(wǎng)狀網(wǎng)路由。支持星狀(Star)、樹狀(Cluster-Tree)、網(wǎng)格(Mesh)等多種拓?fù)浣Y(jié)構(gòu),如圖 所示。
在這些拓?fù)浣Y(jié)構(gòu)中一般包括三種設(shè)備:協(xié)調(diào)器、路由器和末端節(jié)點(diǎn)。
協(xié)調(diào)器也稱為全功能設(shè)備(Full-Function Device,F(xiàn)FD),相當(dāng)于蜂群結(jié)構(gòu)中的蜂后,是唯一的,是 ZigBee 網(wǎng)絡(luò)啟動或建立網(wǎng)絡(luò)的設(shè)備。一旦網(wǎng)絡(luò)建立,該協(xié)調(diào)器就如同一個路由器,在網(wǎng)絡(luò)中提供數(shù)據(jù)交換,建立安全機(jī)制,建立網(wǎng)絡(luò)中綁定等路由功能。
網(wǎng)絡(luò)中的其他操作并不依賴該協(xié)調(diào)器,因?yàn)?ZigBee 網(wǎng)絡(luò)是分布式網(wǎng)絡(luò)。路由器相當(dāng)于雄蜂,數(shù)目不多,需要一直處于工作狀態(tài),需要主干線供電。但在樹狀拓?fù)渚W(wǎng)絡(luò)模式中,允許路由器周期地運(yùn)行操作,所以可以采用電池供電。路由器的功能主要包括作為普通設(shè)備加入網(wǎng)絡(luò),實(shí)現(xiàn)多跳路由,輔助其他的子節(jié)點(diǎn)完成通信。
末端節(jié)點(diǎn)則相當(dāng)于數(shù)量最多的工蜂,也稱為精簡功能設(shè)備(Reduced-Function Device,RFD),只能傳送數(shù)據(jù)給 FFD 或從 FFD 接收數(shù)據(jù),該設(shè)備需要的內(nèi)存較少(特別是內(nèi)部 RAM)。
為了維持網(wǎng)絡(luò)最基本的運(yùn)行,末端節(jié)點(diǎn)沒有指定的責(zé)任,沒有必不可缺少性,可以根據(jù)自己的功能需要休眠或喚醒,一般可由電池供電。樹路由把整個網(wǎng)絡(luò)看作是以協(xié)調(diào)器為根的一棵樹,樹狀路由不需要路由表,節(jié)省存儲資源,缺點(diǎn)是不靈活,浪費(fèi)了大量的地址空間,路由效率低。網(wǎng)狀網(wǎng)的路由算法是無線自組網(wǎng)按需平面距離矢量路由算法(Ad Hoc On-Demand Distance Vector Routing,AODV)的
一個簡化版本。在 AODV 中,一個網(wǎng)絡(luò)節(jié)點(diǎn)要建立連接時才廣播一個連接建立的請求,其他的 AODV 節(jié)點(diǎn)轉(zhuǎn)發(fā)這個請求消息,并記錄源節(jié)點(diǎn)和回到源節(jié)點(diǎn)的臨時路由。當(dāng)接收連接請求的節(jié)點(diǎn)知道到達(dá)目的節(jié)點(diǎn)的路由時,就把這個路由信息按照先前記錄的回到源節(jié)點(diǎn)的臨時路由發(fā)回源節(jié)點(diǎn)。
源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間使用這個經(jīng)由其他節(jié)點(diǎn)并且有最短跳數(shù)的路由進(jìn)行數(shù)據(jù)傳輸。當(dāng)鏈路斷掉,路由錯誤回送源節(jié)點(diǎn),源節(jié)點(diǎn)就重新發(fā)起路由查找的過程。它可以用于較大規(guī)模的網(wǎng)絡(luò),需要節(jié)點(diǎn)維護(hù)一個路由表,耗費(fèi)一定的存儲資源,但往往能達(dá)到最優(yōu)的路由效率,而且使用靈活。
除了這幾種路由方法,ZigBee 還可以進(jìn)行鄰居表路由,其實(shí)鄰居表可以看作是特殊的路由表,只不過只需要一跳就可以發(fā)送到目的節(jié)點(diǎn)。
2.網(wǎng)絡(luò)層規(guī)范概述
ZigBee 協(xié)議棧的核心部分在網(wǎng)絡(luò)層。網(wǎng)絡(luò)層負(fù)責(zé)拓?fù)浣Y(jié)構(gòu)的建立和維護(hù)、命名和綁定服務(wù),它們協(xié)同完成尋址、路由、傳送數(shù)據(jù)及安全這些不可或缺的任務(wù),支持星狀(Star)、樹狀(Cluster-Tree)、網(wǎng)格(Mesh)等多種拓?fù)浣Y(jié)構(gòu)。
為了滿足應(yīng)用層的要求,ZigBee 協(xié)議的網(wǎng)絡(luò)層劃分為網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體(NLDE)和網(wǎng)絡(luò)層管理實(shí)體(NLME),NLDE 提供相關(guān)的 SAP 的數(shù)據(jù)傳輸服務(wù),而 NLME 則提供經(jīng)由相關(guān)的 SAP 的管理服務(wù)。
網(wǎng)絡(luò)層必須從功能上為 MAC 子層提供支持,并為應(yīng)用層提供合適的服務(wù)接口。為了
實(shí)現(xiàn)與應(yīng)用層的接口,網(wǎng)絡(luò)層從邏輯上分為兩個具有不同功能的服務(wù)實(shí)體,即數(shù)據(jù)實(shí)體(NLDE)和管理實(shí)體(NLME)。數(shù)據(jù)實(shí)體通過和它相連的 NLDE-SAP 服務(wù)存取點(diǎn)提供數(shù)據(jù)管理服務(wù);而網(wǎng)絡(luò)層管理實(shí)體(NLME)則通過和它相連的 NLME-SAP 服務(wù)存取點(diǎn)提供管理服務(wù)。NLME 使用 NLDE 完成一些管理任務(wù),并維護(hù)一個被稱作網(wǎng)絡(luò)信息中心(NIB)的數(shù)據(jù)庫對象。
NLDE 提供如下服務(wù):
(1)產(chǎn)生網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元(NPDU)。
(2)提供基于拓?fù)浣Y(jié)構(gòu)的路由策略。
NLME 提供如下服務(wù):
(1)配置新設(shè)備。
(2)建立網(wǎng)絡(luò)。
(3)加入和離開網(wǎng)絡(luò)。
(4)尋址。
(5)鄰居發(fā)現(xiàn)。
(6)路由發(fā)現(xiàn)。
(7)接收控制。
3.網(wǎng)絡(luò)層服務(wù)規(guī)范
網(wǎng)絡(luò)層提供了兩種服務(wù),可以通過兩個服務(wù)存取點(diǎn)(SAP)分別進(jìn)行訪問。這兩個服
務(wù)是網(wǎng)絡(luò)層數(shù)據(jù)服務(wù)和網(wǎng)絡(luò)層管理服務(wù)。前者可以通過網(wǎng)絡(luò)層數(shù)據(jù)實(shí)體服務(wù)存取點(diǎn)
(NLDE-SAP)進(jìn)行訪問,后者則可以通過網(wǎng)絡(luò)層管理服務(wù)實(shí)體服務(wù)存取點(diǎn)(NLME-SAP)進(jìn)行訪問。這兩個服務(wù)與 MCPS-SAP 和 MLME-SAP 一起組成了應(yīng)用層和 MAC 子層間的接口。除了這些外部接口,在網(wǎng)絡(luò)層內(nèi)部,NLME 和 NLDE 之間也存在一個接口,NLME可以通過它訪問網(wǎng)絡(luò)層的數(shù)據(jù)服務(wù)。
4.網(wǎng)絡(luò)層幀結(jié)構(gòu)
網(wǎng)絡(luò)層的幀是由網(wǎng)絡(luò)層幀頭和網(wǎng)絡(luò)負(fù)載組成的。幀頭部分域的順序是固定的,但是根
據(jù)具體情況,其他所有域不一定必須包含。如圖所示。
5.網(wǎng)絡(luò)層功能
網(wǎng)絡(luò)層負(fù)責(zé)拓?fù)浣Y(jié)構(gòu)的建立和維護(hù)網(wǎng)絡(luò)連接,主要功能包括設(shè)備連接和斷開網(wǎng)絡(luò)時所
采用的機(jī)制,以及在幀信息傳輸過程中所采用的安全性機(jī)制。此外,還包括設(shè)備的路由發(fā)現(xiàn)和路由維護(hù)及轉(zhuǎn)交。并且,網(wǎng)絡(luò)層完成對一跳(one-hop)鄰居設(shè)備的發(fā)現(xiàn)和相關(guān)節(jié)點(diǎn)信息的存儲。一個 ZigBee 協(xié)議器創(chuàng)建一個新網(wǎng)絡(luò),為新加入的設(shè)備分配短地址等。并且,網(wǎng)絡(luò)層還提供一些必要的函數(shù),確保 ZigBee 的 MAC 層正常工作,并且為應(yīng)用層提供合適的服務(wù)接口。
網(wǎng)絡(luò)層的主要功能包括以下 8 個方面:
(1)通過添加恰當(dāng)?shù)膮f(xié)議頭能夠從應(yīng)用層生成網(wǎng)絡(luò)層的 PDU,即 NPDU。
(2)確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。
(3)配置一個新的設(shè)備,可以是網(wǎng)絡(luò)協(xié)調(diào)器,也可以向存在的網(wǎng)絡(luò)中加入設(shè)備。
(4)建立并啟動無線網(wǎng)絡(luò)。
(5)加入或離開網(wǎng)絡(luò)。
(6)ZigBee 的協(xié)調(diào)器和路由能為加入網(wǎng)絡(luò)的設(shè)備分配地址。
(7)發(fā)現(xiàn)并記錄鄰居表、路由表。
(8)信息的接收控制,同步 MAC 子層或直接接收信息。
ZigBee 應(yīng)用層規(guī)范
ZigBee 協(xié)議棧的層結(jié)構(gòu)包括 IEEE 802.15.4 媒體接入控制層(MAC)和物理層(PHY),以及 ZigBee 網(wǎng)絡(luò)層。每一層通過提供特定的服務(wù)完成相應(yīng)的功能。其中,ZigBee 應(yīng)用層包
APS 子層、ZDO(包括 ZDO 管理層)以及用戶自定義的應(yīng)用對象。APS 子層的任務(wù)包括維護(hù)綁定表和綁定設(shè)備間的消息傳輸。所謂的綁定指的是根據(jù)兩個設(shè)備所提供的服務(wù)和它們的需求而將兩個設(shè)備關(guān)聯(lián)起來。
ZDO 的任務(wù)包括界定設(shè)備在網(wǎng)絡(luò)中的作用,發(fā)現(xiàn)網(wǎng)絡(luò)中的設(shè)備并檢查它們能夠提供哪些應(yīng)用服務(wù),產(chǎn)生或者回應(yīng)綁定請求,并在網(wǎng)絡(luò)設(shè)備間建立安全的通信。
ZigBee 應(yīng)用層有三個組成部分,包括應(yīng)用支持子層(Application Support Sub-Layer,APS)、應(yīng)用框架(Application Framework,AF)、ZigBee 設(shè)備對象(ZigBee Device Object,ZDO)。它們共同為各應(yīng)用開發(fā)者提供統(tǒng)一的接口,規(guī)定了與應(yīng)用相關(guān)的功能,如端點(diǎn)(Endpoint)的規(guī)定,綁定(Binding)、服務(wù)發(fā)現(xiàn)和設(shè)備發(fā)現(xiàn)等。
1.應(yīng)用支持子層
APS 主要作用包括:協(xié)議數(shù)據(jù)單元 APDU 的處理,APSDE 提供在同一個網(wǎng)絡(luò)中的應(yīng)用實(shí)體之間的數(shù)據(jù)傳輸機(jī)制,APSME 提供多種服務(wù)給應(yīng)用對象,并維護(hù)管理對象的數(shù)據(jù)庫。APS 是網(wǎng)絡(luò)層(NWK)和應(yīng)用層(APL)之間的接口。
該接口包括一系列可以被 ZDO和用戶自定義應(yīng)用對象調(diào)用的服務(wù)。這些服務(wù)由兩個實(shí)體提供:APS 數(shù)據(jù)實(shí)體(APSDE)通過 APSDE 服務(wù)接入點(diǎn)(APSDE-SAP),APS 管理實(shí)體(APSME)通過 APSME 服務(wù)接入點(diǎn)(APSME-SAP)。APSDE 在同一個網(wǎng)絡(luò)中的兩個和多個設(shè)備提供傳輸應(yīng)用 PDU 的數(shù)據(jù)傳輸服務(wù)。APSME 提供設(shè)備發(fā)現(xiàn)和設(shè)備綁定服務(wù),并維護(hù)一個管理對象的數(shù)據(jù)庫,也就是 APS 信息庫(AIB)。
2.應(yīng)用框架
在 ZigBee 應(yīng)用中,應(yīng)用框架提供了兩種標(biāo)準(zhǔn)服務(wù)類型。一種是鍵值對(Key Value Pair,KVP)服務(wù)類型,另一種是報文(message,MSG)服務(wù)類型。KVP 服務(wù)用于傳輸規(guī)范所定義的特殊數(shù)據(jù)。它定義了屬性(attribute)、屬性值(value)以及用于 KVP 操作的命令:Set、Get、Event。其中,Set 用于設(shè)置一個屬性值;
Get 用于獲取一個屬性值;Event 用于通知一個屬性已經(jīng)發(fā)生改變。KVP 消息主要用于傳輸一些較為簡單的變量格式。由于ZigBee 的很多應(yīng)用領(lǐng)域中的消息較為復(fù)雜,并不適用于 KVP 格式,因此 ZigBee 協(xié)議規(guī)范定義了 MSG 服務(wù)類型。MSG 服務(wù)對數(shù)據(jù)格式不作要求,適合任何格式的數(shù)據(jù)傳輸。因此可以用于傳送數(shù)據(jù)量大的消息。
應(yīng)用框架AF為每個應(yīng)用對象提供了鍵值對(KVP)服務(wù)和報文(MSG)服務(wù)。KVP
命令幀的格式如圖3.6所示。MSG命令幀格式如圖所示。
3.ZigBee設(shè)備對象
ZDO 實(shí)際上是介于應(yīng)用層端點(diǎn)和應(yīng)用支持子層中間的端點(diǎn),其主要功能集中在網(wǎng)絡(luò)
管理和維護(hù)上。應(yīng)用層的端點(diǎn)可以通過 ZDO 提供的功能來獲取網(wǎng)絡(luò)或者是其他節(jié)點(diǎn)的信息,包括網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、其他節(jié)點(diǎn)的網(wǎng)絡(luò)地址和狀態(tài)以及其他節(jié)點(diǎn)的類型和提供的服務(wù)等信息。
端點(diǎn)是應(yīng)用對象存在的地方,ZigBee 允許多個應(yīng)用同時位于一個節(jié)點(diǎn)上,ZigBee 定義了幾種描述符,對設(shè)備以及提供的服務(wù)進(jìn)行描述,可以通過這些描述符來尋找合適的服務(wù)或者設(shè)備。
此外,ZigBee 協(xié)議棧還提供了安全組件,如采用了 AES128 的算法對網(wǎng)絡(luò)層和應(yīng)用層的數(shù)據(jù)進(jìn)行加密保護(hù);設(shè)立信任中心的角色,用于管理密鑰和管理設(shè)備,可以執(zhí)行設(shè)置的安全策略。
從以上分析可知,ZigBee 協(xié)議套件簡單緊湊,因而與之兼容的硬件要求也比較簡單,8 位微處理器 80C51 就可以滿足要求,全功能協(xié)議軟件需要 32KB 的 ROM,最小功能協(xié)議軟件需求大約 4KB 的 ROM。
目前,飛思卡爾、得州儀器 TI 等國際巨頭已推出了比較成熟的 ZigBee 開發(fā)平臺,如 TI 推出基于 CC2420 收發(fā)器和 TI MSP430 超低功耗單片機(jī)的平臺,CC2430 的 SOC 平臺 C51RF-3-PK 等。
ZigBee 設(shè)備配置層提供標(biāo)準(zhǔn)的 ZigBee 配置服務(wù),它定義和處理描述符請求。在
ZigBee 設(shè)備配置層中定義了稱為 ZigBee 設(shè)備對象的特殊軟件對象,在其他服務(wù)中提供綁定服務(wù)。遠(yuǎn)程設(shè)備可以通過 ZDO 接口請求任何標(biāo)準(zhǔn)的描述符信息。當(dāng)接收到這些請求時,ZDO 會調(diào)用配置對象以獲取相應(yīng)的描述符值。在目前的 ZigBee 協(xié)議版本中,還沒有完全實(shí)現(xiàn)設(shè)備配置層。ZDO 是特殊的應(yīng)用對象,它在端點(diǎn)(end-point)0 上實(shí)現(xiàn)。
ZigBee 安全服務(wù)規(guī)范
ZigBee 設(shè)備之間的通信使用 IEEE 802.15.4 無線標(biāo)準(zhǔn),該標(biāo)準(zhǔn)指定物理層(PHY)和媒介存取控制層(MAC)兩層規(guī)范。而 ZigBee 規(guī)范了網(wǎng)絡(luò)層(NWK)和應(yīng)用層(APL)標(biāo)準(zhǔn),各層規(guī)范功能分別如下。
PHY:提供基本的物理無線通信能力。
MAC:提供設(shè)備間的可靠性授權(quán)和一跳通信連接服務(wù)。
NWK:提供用于構(gòu)建不同網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的路由和多跳功能。
APL:包括一個應(yīng)用支持子層、ZigBee 設(shè)備對象和應(yīng)用。
在安全服務(wù)規(guī)范方面,協(xié)議棧分別在 MAC、NWK 和 APS 三層具有安全機(jī)制,保證各層數(shù)據(jù)幀的安全傳輸。同時,APS 提供建立和保持安全關(guān)系的服務(wù)。ZDO 管理安全性策略和設(shè)備的安全性結(jié)構(gòu)。
-END-
-
ZigBee
+關(guān)注
關(guān)注
158文章
2271瀏覽量
243452 -
拓?fù)浣Y(jié)構(gòu)
+關(guān)注
關(guān)注
6文章
326瀏覽量
39338 -
路由
+關(guān)注
關(guān)注
0文章
278瀏覽量
41950
發(fā)布評論請先 登錄
相關(guān)推薦
ZigBee接入EPA網(wǎng)絡(luò)的安全策略
ZigBee協(xié)議棧網(wǎng)絡(luò)層的研究與實(shí)現(xiàn)_典型應(yīng)用
基于ZigBee技術(shù)的傳感器網(wǎng)絡(luò)構(gòu)建與應(yīng)用
基于ZigBee的無線傳感器網(wǎng)絡(luò)
基于精簡版協(xié)議棧代碼開放的ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)研究介紹
zigbee協(xié)議棧工作流程 From zigbee菜鳥筆記(十 一)精選資料分享
基于精簡協(xié)議棧的ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)研究
ZigBee網(wǎng)絡(luò)層協(xié)議的分析與設(shè)計
ZigBee無線網(wǎng)絡(luò)協(xié)議層
![<b class='flag-5'>ZigBee</b>無線<b class='flag-5'>網(wǎng)絡(luò)</b>協(xié)議<b class='flag-5'>層</b>](https://file1.elecfans.com//web2/M00/A6/DE/wKgZomUMQPWAa4VaAABIjY-kxVg335.png)
如何才能使用zigbee創(chuàng)建一個大規(guī)模的無線傳感網(wǎng)絡(luò)
![如何才能使用<b class='flag-5'>zigbee</b>創(chuàng)建一個大規(guī)模的無線傳感<b class='flag-5'>網(wǎng)絡(luò)</b>](https://file.elecfans.com/web1/M00/A9/05/o4YBAF2R02qAUhRoAAMpvKPPXTU344.png)
使用zigbee規(guī)范構(gòu)建一個大規(guī)模的無線傳感網(wǎng)絡(luò)的詳細(xì)資料說明
![使用<b class='flag-5'>zigbee</b><b class='flag-5'>規(guī)范</b>構(gòu)建一個大規(guī)模的無線傳感<b class='flag-5'>網(wǎng)絡(luò)</b>的詳細(xì)資料說明](https://file.elecfans.com/web1/M00/A9/B3/pIYBAF2cXzOAaMc-AAE7JaYW0kk578.png)
使用zigbee規(guī)范構(gòu)建一個大規(guī)模的無線傳感網(wǎng)絡(luò)的詳細(xì)資料說明
![使用<b class='flag-5'>zigbee</b><b class='flag-5'>規(guī)范</b>構(gòu)建一個大規(guī)模的無線傳感<b class='flag-5'>網(wǎng)絡(luò)</b>的詳細(xì)資料說明](https://file.elecfans.com/web1/M00/A9/B3/pIYBAF2cXzOAaMc-AAE7JaYW0kk578.png)
ZigBee協(xié)議網(wǎng)絡(luò)層和應(yīng)用層規(guī)范詳解
![<b class='flag-5'>ZigBee</b>協(xié)議<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>層</b>和應(yīng)用<b class='flag-5'>層</b><b class='flag-5'>規(guī)范</b>詳解](https://file.elecfans.com/web1/M00/E4/0F/o4YBAGBHNKOAXCzKAACpoqG_FE0600.png)
評論