關(guān)于zigbee協(xié)議棧各層的系統(tǒng)分析
隨著傳感器網(wǎng)絡(luò)的大肆應(yīng)用;隨著物聯(lián)網(wǎng)概念的爆發(fā);隨著通信技術(shù)的迅速發(fā)展,人們提出了在自身附近幾米范圍內(nèi)通信的要求,這樣就出現(xiàn)了個人區(qū)域網(wǎng)絡(luò)PAN(Personal Area Network)和無線個人區(qū)域網(wǎng)絡(luò)WPAN(Wireless Personal Area Network)的概念。WPAN網(wǎng)絡(luò)為近距離范圍內(nèi)的設(shè)備建立無線連接,把幾米到幾十米范圍內(nèi)的多個設(shè)備通過無線方式連接在一起,使他們可以相互通信甚至接入LAN或者Internet。
本文引用地址:http://m.butianyuan.cn/article/201710/367945.htm2001年8月成立的zigbee聯(lián)盟就是一個針對WPAN網(wǎng)絡(luò)而成立的產(chǎn)業(yè)聯(lián)盟。該聯(lián)盟致力于近距離、低復(fù)雜度、低數(shù)據(jù)速率、低成本的無線網(wǎng)絡(luò)技術(shù)。他們開發(fā)的技術(shù)被稱為zigbee技術(shù),該技術(shù)希望被部署到商用電子、住宅及建筑自動化、工業(yè)設(shè)備監(jiān)測、PC外設(shè)、醫(yī)療傳感設(shè)備、玩具以及游戲等其他無線傳感和控制領(lǐng)域當(dāng)中。
1.1 IEEE802.15.4標(biāo)準(zhǔn)
zigbee聯(lián)盟已于2005年6月27日公布了第一份zigbee規(guī)范“zigbee SpecificaTIon V1.0”。這標(biāo)準(zhǔn)定義了在IEEE 802.15.4-2003物理層和標(biāo)準(zhǔn)媒體接入控制層上的網(wǎng)絡(luò)層及支持的應(yīng)用服務(wù)。zigbee聯(lián)盟的長期目標(biāo)是能夠建立基于互操作平臺和配置文件的可伸縮、低成本嵌入式基礎(chǔ)架構(gòu)。
1.1.1 IEEE802.15.4協(xié)議框架
IEEE802.15.4標(biāo)準(zhǔn)采用分層結(jié)構(gòu)。每一層為上層提供一系列特殊的服務(wù):數(shù)據(jù)實體提供數(shù)據(jù)傳輸服務(wù),管理實體則提供所有其他的服務(wù)。所有的服務(wù)實體都通過服務(wù)接入點SAP(Service Access Point)為上層提供一個接口,每個SAP都支持一定數(shù)量的服務(wù)原語來實現(xiàn)所需的功能。
IEEE 802.15.4標(biāo)準(zhǔn)堆棧架構(gòu)是在OSI七層模型的基礎(chǔ)上根據(jù)市場和應(yīng)用的實際需要定義了,如圖2-1。其中,IEEE 802.15.4標(biāo)準(zhǔn)定義了底層:物理層PHY(Physical Layer)和媒體訪問控制子層MAC(Medium Access Control Sub-Layer)層。zigbee聯(lián)盟在此基礎(chǔ)上定義了網(wǎng)絡(luò)層NWK(Network Layer),應(yīng)用層APL(ApplicaTIon Layer)架構(gòu)。其中應(yīng)用層包括應(yīng)用支持子層APS(ApplicaTIon Support Sub-Layer),應(yīng)用框架AF(ApplicaTIon Framework),zigbee設(shè)備對象ZDO(zigbee Device Objects)以及用戶定義應(yīng)用對象(Manufacturer-Defined Application Objects )。[16]
IEEE 802.15.4工作在工業(yè)科學(xué)醫(yī)療ISM(Industrial、Scientific and Medical)頻段,定義了兩個物理層PHY,分別工作在兩個頻段上:868/915 MHz和2.4GHz。其中低頻段物理層覆蓋了868MHz的歐洲頻段和915MHz的美國與澳大利亞等國的頻段。高頻段2.4GHz則全球通用。
IEEE 802.15.4 MAC層采用避免沖突多載波信道接入CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance)方式,主要負(fù)責(zé)傳輸信標(biāo)幀,同步以及提供可信賴的傳輸機制。
1.1.2 網(wǎng)絡(luò)節(jié)點類型
在W-PAN中有三種網(wǎng)絡(luò)角色:PAN網(wǎng)絡(luò)協(xié)調(diào)器、協(xié)調(diào)器和設(shè)備。這三種角色在IEEE 802.15.4規(guī)范中分別對應(yīng)zigbee協(xié)調(diào)器ZC(zigbee Coordinator)、zigbee路由器ZR(zigbee Router)和終端設(shè)備ZED(zigbee End Device)。
協(xié)調(diào)器和路由器只能是全功能器件FFD。一個PAN的網(wǎng)絡(luò)中,至少要有一個全功能器件成網(wǎng)絡(luò)的協(xié)調(diào)器,它可以看作是一個PAN的網(wǎng)關(guān)節(jié)點(SINK節(jié)點),它是網(wǎng)絡(luò)建立的起點,負(fù)責(zé)PAN網(wǎng)絡(luò)的初始化,確定PAN的ID號和PAN操作的物理信道并統(tǒng)籌短地址分配,充當(dāng)信任中心和儲存安全密鑰,與其他網(wǎng)絡(luò)的連接等。協(xié)調(diào)器在加入網(wǎng)絡(luò)之后獲得一定的短地址空間。這個空間內(nèi),他有能力允許其他節(jié)點加入網(wǎng)絡(luò),并分配短地址。當(dāng)然協(xié)調(diào)器還具備路由和數(shù)據(jù)轉(zhuǎn)發(fā)的功能。在任何一個拓?fù)渚W(wǎng)絡(luò)上,所有設(shè)備都有一個唯一的64位IEEE長地址,該地址可以在PAN中用于直接通信?;蛘弋?dāng)所有設(shè)備之間都已經(jīng)存在連接時,可以將其轉(zhuǎn)變?yōu)?6位的網(wǎng)絡(luò)短地址分配給PAN設(shè)備。因此在設(shè)備發(fā)起連接時采用的是64位的長地址,只有連接成功后,系統(tǒng)分配了PAN的標(biāo)志符后,才能采用16位的短地址來通信。路由器可以只運行一個存放有路由協(xié)議的精簡協(xié)議棧,負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的路由,實現(xiàn)數(shù)據(jù)中轉(zhuǎn)功能。
在網(wǎng)絡(luò)中最基本的節(jié)點就是終端節(jié)點ZED,一個終端節(jié)點可以是全功能器件FFD或者是精簡功能器件RFD。
1.2.1 IEEE 802.15.4
IEEE802.15.4包括用于低速無線個人域網(wǎng)LR-WPAN的物理層PHY和媒體接入控制層MAC兩個規(guī)范。圖2-4給出了IEEE 802.15.4的分層參考模型。
1.2.1.1 IEEE 802.15.4 PHY層
物理層的作用主要是利用物理介質(zhì)為數(shù)據(jù)鏈路層提供物理連接,負(fù)責(zé)處理數(shù)
據(jù)傳輸率并架空數(shù)據(jù)出錯率,以便透明低傳送比特流。zigbee協(xié)議的物理層主要負(fù)責(zé)以下任務(wù):
(1)啟動和關(guān)閉RF收發(fā)器。
?。?)信道能量檢測。
?。?)對接收到的數(shù)據(jù)報進行鏈路質(zhì)量指示LQI(Link Quality Indication)。
(4)為CSMA/CA算法提供空閑信道評估CCA(Clear Channel Assessment)。
?。?)對通信信道頻率進行選擇。
?。?)數(shù)據(jù)包的傳輸和接收
IEEE 802.15.4的物理層定義了物理信道和MAC子層間的接口,提供數(shù)據(jù)服務(wù)和物理層管理服務(wù)。物理層數(shù)據(jù)服務(wù)從無線物理信道上收發(fā)數(shù)據(jù),物理層管理服務(wù)維護一個物理層相關(guān)數(shù)據(jù)組成的數(shù)據(jù)庫。
1.2.1.2 IEEE 802.15.4 MAC層
IEEE 802.15.4媒體介入控制層的沿用了傳統(tǒng)無線局域網(wǎng)中的帶沖突避免的載波多路偵聽訪問技術(shù)CSMA/CA方式,以提高系統(tǒng)的兼容性。這種設(shè)計,不但使多種拓?fù)浣Y(jié)構(gòu)網(wǎng)絡(luò)的應(yīng)用變得簡單,還可以實現(xiàn)非常有效的功耗管理。
MAC層完成的具體任務(wù)如下:
?。?)協(xié)調(diào)器產(chǎn)生并發(fā)送信標(biāo)幀(Beacon)。
?。?)普通設(shè)備根據(jù)協(xié)調(diào)器的信標(biāo)幀與協(xié)調(diào)器同步。
?。?)支持PAN網(wǎng)絡(luò)的關(guān)聯(lián)(Association)和取消關(guān)聯(lián)(Disassociation)操作。
?。?)為設(shè)備的安全性提供支持。
?。?)使用CSMA-CA機制共享物理信道。
?。?)處理和維護時隙保障GTS(Guaranteed Time Slot)機制。
?。?)在兩個對等的MAC實體之間提供一個可靠的數(shù)據(jù)鏈路。
在IEEE 802.15.4的MAC層中引入了超幀結(jié)構(gòu)和信標(biāo)幀的概念。這兩個概念的引入極大了方便了網(wǎng)絡(luò)管理,我們可以選用以超幀為周期組織LR-WPAN網(wǎng)絡(luò)內(nèi)設(shè)備間的通信。每個超幀都以網(wǎng)絡(luò)協(xié)調(diào)器發(fā)出信標(biāo)幀為始,在這個信標(biāo)幀中包含了超幀將持續(xù)的時間以及對這段時間的分配等信息。網(wǎng)絡(luò)中的普通設(shè)備接收到超幀開始時的信標(biāo)幀后,就可以根據(jù)其中的內(nèi)容安排自己的任務(wù),例如進入休眠狀態(tài)直到這個超幀結(jié)束。
MAC子層提供兩種服務(wù):MAC層數(shù)據(jù)服務(wù)和MAC層管理服務(wù)(MAC sub-layer management entity,MLME)。前者保證MAC協(xié)議數(shù)據(jù)單元在物理層數(shù)據(jù)服務(wù)中正確收發(fā),后者維護一個存儲MAC子層協(xié)議相關(guān)信息的數(shù)據(jù)庫。
1.3 zigbee協(xié)議分析
1.3.1 zigbee協(xié)議
zigbee的協(xié)議棧結(jié)構(gòu)是由一系列稱為層的協(xié)議塊所組成的。每個層為上一層提供一系列特定的服務(wù)。數(shù)據(jù)入口提供數(shù)據(jù)傳輸?shù)姆?wù),管理入口提供其余的所有服務(wù)。每個服務(wù)接口都通過SAP(Service Access Point)接口與上一層進行數(shù)據(jù)交換,每個SAP都支持一系列的服務(wù)原語。
zigbee協(xié)議棧是基于OSI(Open Systems Interconnection)標(biāo)準(zhǔn)的,但只定義了所需要的那些層。主要由物理層PHY,媒體接入層MAC,網(wǎng)絡(luò)層以及應(yīng)用框架層組成,框架圖如圖所示。其中,PHY層和MAC層采用了IEEE 802.15.4協(xié)議標(biāo)準(zhǔn)。
zigbee網(wǎng)絡(luò)層主要用于zigbee的無線個人區(qū)域網(wǎng)WPAN網(wǎng)的組網(wǎng)連接,數(shù)據(jù)管理以及網(wǎng)絡(luò)安全等。
zigbee應(yīng)用框架層主要為zigbee技術(shù)的實際應(yīng)用提供一些應(yīng)用框架模型等,以便對zigbee技術(shù)的開發(fā)應(yīng)用,在不同的應(yīng)用場合,其開發(fā)應(yīng)用框架不同,從目前來看,不同廠商提供的應(yīng)用框架是有差異的。
1.3.2 zigbee網(wǎng)絡(luò)層
網(wǎng)絡(luò)層需要在功能上保證與IEEE 802.15.4標(biāo)準(zhǔn)兼容,同時也需要上層提供合適的功能接口。
對于網(wǎng)絡(luò)層,其完成和提供的主要功能如下:
?。?)產(chǎn)生網(wǎng)絡(luò)層的數(shù)據(jù)包:當(dāng)網(wǎng)絡(luò)層接受到來自應(yīng)用子層的數(shù)據(jù)包,網(wǎng)絡(luò)層對數(shù)據(jù)包進行解析,然后加上適當(dāng)?shù)木W(wǎng)絡(luò)層包頭向MAC傳輸。
?。?)網(wǎng)絡(luò)拓?fù)涞穆酚晒δ埽壕W(wǎng)絡(luò)層提供路由數(shù)據(jù)包的功能,如果包的目的節(jié)點是本節(jié)點的話,將該數(shù)據(jù)包向應(yīng)用子層發(fā)送。如果不是,則將該數(shù)據(jù)包轉(zhuǎn)發(fā)給路由表中下一結(jié)點。
(3)配置新的器件參數(shù):網(wǎng)絡(luò)層能夠配置合適的協(xié)議,比如建立新的協(xié)調(diào)器并發(fā)起建立網(wǎng)絡(luò)或者加入一個已有的網(wǎng)絡(luò)。
?。?)建立PAN網(wǎng)絡(luò)
(5)連入或脫離PAN網(wǎng)絡(luò):網(wǎng)絡(luò)層能提供加入或脫離網(wǎng)絡(luò)的功能,如果節(jié)點是協(xié)調(diào)器或者是路由器,還可以要求子節(jié)點脫離網(wǎng)絡(luò)。
?。?)分配網(wǎng)絡(luò)地址:如果本節(jié)點是協(xié)調(diào)器或者是路由器,則接入該節(jié)點的字節(jié)點的網(wǎng)絡(luò)地址由網(wǎng)絡(luò)層控制。
?。?)鄰居節(jié)點的發(fā)現(xiàn):網(wǎng)絡(luò)層能發(fā)現(xiàn)維護網(wǎng)絡(luò)鄰居信息。
(8)建立路由:網(wǎng)絡(luò)層提供路由功能。
?。?)控制接收:網(wǎng)絡(luò)層能控制接收器的接受時間和狀態(tài)。
zigbee網(wǎng)絡(luò)層的結(jié)構(gòu)
為了向應(yīng)用層提供接口,網(wǎng)絡(luò)層提供了兩個功能服務(wù)實體,分別為數(shù)據(jù)服務(wù)實體NLDE和管理服務(wù)實體NLME。NLDE通過NLDE-SAP為應(yīng)用層提供數(shù)據(jù)傳輸服務(wù),NLME通過NLME-SAP為應(yīng)用層提供網(wǎng)絡(luò)管理服務(wù),并且,NLME還完成對網(wǎng)絡(luò)信息庫NIB的維護和管理。
1.3.3 zigbee應(yīng)用層
zigbee應(yīng)用層包括應(yīng)用支持子層APS、應(yīng)用框架AF、zigbee設(shè)備對象ZDO。它們共同為各應(yīng)用開發(fā)者提供統(tǒng)一的接口。
1.3.3.1 應(yīng)用支持子層APS
APS層主要功能:
?。?)APS層協(xié)議數(shù)據(jù)單元APDU的處理。
(2)APSDE提供在同一個網(wǎng)絡(luò)中的應(yīng)用實體之間的數(shù)據(jù)傳輸機制。
(3)APSME提供多種服務(wù)給應(yīng)用對象,這些服務(wù)包括安全服務(wù)何綁定設(shè)備,并維護管理對象的數(shù)據(jù)庫,也就是我們常說的AIB。
1.3.3.2 應(yīng)用框架AF
應(yīng)用框架(Application Framework)為各個用戶自定義的應(yīng)用對象提供了模板式的活動空間,為每個應(yīng)用對象提供了鍵值對KVP服務(wù)和報文MSG服務(wù)兩種服務(wù)供數(shù)據(jù)傳輸使用。
每個節(jié)點除了64位的IEEE地址,16位的網(wǎng)絡(luò)地址,每個節(jié)點還提供了8位的應(yīng)用層入口地址,對應(yīng)于用戶應(yīng)用對象。端點0為ZDO接口,端點1至240供用戶自定義用于對象使用,端點255為廣播地址,端點241 -254保留將來使用。每一個應(yīng)用都對應(yīng)一個配置文件(Profile)。配置文件包括:設(shè)備ID(Device ID),事務(wù)集群ID(cluster ID),屬性ID(Attribute ID)等。AF可以通過這些信息來決定服務(wù)類型。
1.3.3.3 zigbee設(shè)備對象ZDO
ZDO是一個特殊的應(yīng)用層的端點(Endpoint)。它是應(yīng)用層其他端點與應(yīng)用子層管理實體交互的中間件。它主要提供的功能如下:
?。?)初始化應(yīng)用支持子層,網(wǎng)絡(luò)層。
(2)發(fā)現(xiàn)節(jié)點和節(jié)點功能。在無信標(biāo)的網(wǎng)絡(luò)中,加入的節(jié)點只對其父節(jié)點可見。而其他節(jié)點可以通過ZDO的功能來確定網(wǎng)絡(luò)的整體拓?fù)浣Y(jié)構(gòu)已經(jīng)節(jié)點所能提供的功能。
(3)安全加密管理:主要包括安全key的建立和發(fā)送,已經(jīng)安全授權(quán)。
?。?)網(wǎng)絡(luò)的維護功能。
?。?)綁定管理:綁定的功能由應(yīng)用支持子層提供,但是綁定功能的管理卻是由ZDO提供,它確定了綁定表的大小,綁定的發(fā)起和綁定的解除等功能。
?。?)節(jié)點管理:對于網(wǎng)絡(luò)協(xié)調(diào)器和路由器,ZDO提供網(wǎng)絡(luò)監(jiān)測、獲取路由和綁定信息、發(fā)起脫離網(wǎng)絡(luò)過程等一系列節(jié)點管理功能。
ZDO實際上是介于應(yīng)用層端點和應(yīng)用支持子層中間的端點,其主要功能集中在網(wǎng)絡(luò)管理和維護上。應(yīng)用層的端點可以通過 ZDO提供的功能來獲取網(wǎng)絡(luò)或者是其他節(jié)點的信息,包括網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、其它幾點的網(wǎng)絡(luò)地址和狀態(tài)以及其他幾點的類型和提供的服務(wù)等信息。
1.4 zigbee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
zigbee網(wǎng)絡(luò)支持多種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),最典型的網(wǎng)絡(luò)結(jié)構(gòu)是星型網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。對于星型網(wǎng)絡(luò),由一個協(xié)調(diào)器和多個終端節(jié)點組成。在星型網(wǎng)絡(luò)中,所有的通信都是通過協(xié)調(diào)器轉(zhuǎn)發(fā)。這樣的網(wǎng)絡(luò)結(jié)構(gòu)有三個缺點:一是會增加協(xié)調(diào)器的負(fù)載,對協(xié)調(diào)器的性能要求很高;二是協(xié)調(diào)協(xié)作都通過協(xié)調(diào)器轉(zhuǎn)發(fā)的話,會極大的增加系統(tǒng)的延時,使得系統(tǒng)的實時性受到影響;三是單一節(jié)點的破壞造成整個網(wǎng)絡(luò)的癱瘓,降低了網(wǎng)絡(luò)的魯棒性。
除了支持星型網(wǎng)絡(luò)以外,zigbee還支持樹狀(Tree)和網(wǎng)狀(Mesh)等對等網(wǎng)絡(luò),如圖2-11。在對等網(wǎng)絡(luò)中,也存在一個PAN協(xié)調(diào)器(Coordinator),但是它已經(jīng)不是網(wǎng)絡(luò)的主控制器,而是主要起到發(fā)起網(wǎng)絡(luò)和組網(wǎng)的作用。在對等網(wǎng)絡(luò)中,一個設(shè)備在另一設(shè)備的通信范圍之內(nèi),他們就可以互相通信。因此,對等網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)統(tǒng)一構(gòu)成較為復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)。對等網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)主要在工業(yè)檢測和控制,無線傳感網(wǎng)絡(luò),供應(yīng)物資跟蹤,農(nóng)業(yè)智能化以及安全監(jiān)控方面都有廣泛的應(yīng)用。在網(wǎng)絡(luò)中,各個設(shè)備之間發(fā)送消息時,使用了多跳傳輸,以增大網(wǎng)絡(luò)的覆蓋范圍。其中,組網(wǎng)的路由協(xié)議是采用了無線自組網(wǎng)按需平面距離矢量AODV路由協(xié)議(Ad Hoc On Demand Distance Vector Routing),無論是星型拓?fù)溥€是對等拓?fù)?,每個獨立的PAN都有一個唯一的標(biāo)志符PAN ID,用以同一個網(wǎng)絡(luò)之內(nèi)節(jié)點的互相識別和通信。
評論