1.3 zigbee協議分析
1.3.1 zigbee協議
zigbee的協議棧結構是由一系列稱為層的協議塊所組成的。每個層為上一層提供一系列特定的服務。數據入口提供數據傳輸的服務,管理入口提供其余的所有服務。每個服務接口都通過SAP(Service Access Point)接口與上一層進行數據交換,每個SAP都支持一系列的服務原語。
zigbee協議棧是基于OSI(Open Systems Interconnection)標準的,但只定義了所需要的那些層。主要由物理層PHY,媒體接入層MAC,網絡層以及應用框架層組成,框架圖如圖所示。其中,PHY層和MAC層采用了IEEE 802.15.4協議標準。
zigbee網絡層主要用于zigbee的無線個人區域網WPAN網的組網連接,數據管理以及網絡安全等。
zigbee應用框架層主要為zigbee技術的實際應用提供一些應用框架模型等,以便對zigbee技術的開發應用,在不同的應用場合,其開發應用框架不同,從目前來看,不同廠商提供的應用框架是有差異的。
1.3.2 zigbee網絡層
網絡層需要在功能上保證與IEEE 802.15.4標準兼容,同時也需要上層提供合適的功能接口。
對于網絡層,其完成和提供的主要功能如下:
(1)產生網絡層的數據包:當網絡層接受到來自應用子層的數據包,網絡層對數據包進行解析,然后加上適當的網絡層包頭向MAC傳輸。
(2)網絡拓撲的路由功能:網絡層提供路由數據包的功能,如果包的目的節點是本節點的話,將該數據包向應用子層發送。如果不是,則將該數據包轉發給路由表中下一結點。
(3)配置新的器件參數:網絡層能夠配置合適的協議,比如建立新的協調器并發起建立網絡或者加入一個已有的網絡。
(4)建立PAN網絡
(5)連入或脫離PAN網絡:網絡層能提供加入或脫離網絡的功能,如果節點是協調器或者是路由器,還可以要求子節點脫離網絡。
(6)分配網絡地址:如果本節點是協調器或者是路由器,則接入該節點的字節點的網絡地址由網絡層控制。
(7)鄰居節點的發現:網絡層能發現維護網絡鄰居信息。
(8)建立路由:網絡層提供路由功能。
(9)控制接收:網絡層能控制接收器的接受時間和狀態。
zigbee網絡層的結構
為了向應用層提供接口,網絡層提供了兩個功能服務實體,分別為數據服務實體NLDE和管理服務實體NLME。NLDE通過NLDE-SAP為應用層提供數據傳輸服務,NLME通過NLME-SAP為應用層提供網絡管理服務,并且,NLME還完成對網絡信息庫NIB的維護和管理。
1.3.3 zigbee應用層
zigbee應用層包括應用支持子層APS、應用框架AF、zigbee設備對象ZDO。它們共同為各應用開發者提供統一的接口。
1.3.3.1 應用支持子層APS
APS層主要功能:
(1)APS層協議數據單元APDU的處理。
(2)APSDE提供在同一個網絡中的應用實體之間的數據傳輸機制。
(3)APSME提供多種服務給應用對象,這些服務包括安全服務何綁定設備,并維護管理對象的數據庫,也就是我們常說的AIB。
1.3.3.2 應用框架AF
應用框架(Application Framework)為各個用戶自定義的應用對象提供了模板式的活動空間,為每個應用對象提供了鍵值對KVP服務和報文MSG服務兩種服務供數據傳輸使用。
每個節點除了64位的IEEE地址,16位的網絡地址,每個節點還提供了8位的應用層入口地址,對應于用戶應用對象。端點0為ZDO接口,端點1至240供用戶自定義用于對象使用,端點255為廣播地址,端點241 -254保留將來使用。每一個應用都對應一個配置文件(Profile)。配置文件包括:設備ID(Device ID),事務集群ID(cluster ID),屬性ID(Attribute ID)等。AF可以通過這些信息來決定服務類型。
1.3.3.3 zigbee設備對象ZDO
ZDO是一個特殊的應用層的端點(Endpoint)。它是應用層其他端點與應用子層管理實體交互的中間件。它主要提供的功能如下:
(1)初始化應用支持子層,網絡層。
(2)發現節點和節點功能。在無信標的網絡中,加入的節點只對其父節點可見。而其他節點可以通過ZDO的功能來確定網絡的整體拓撲結構已經節點所能提供的功能。
(3)安全加密管理:主要包括安全key的建立和發送,已經安全授權。
(4)網絡的維護功能。
(5)綁定管理:綁定的功能由應用支持子層提供,但是綁定功能的管理卻是由ZDO提供,它確定了綁定表的大小,綁定的發起和綁定的解除等功能。
(6)節點管理:對于網絡協調器和路由器,ZDO提供網絡監測、獲取路由和綁定信息、發起脫離網絡過程等一系列節點管理功能。
ZDO實際上是介于應用層端點和應用支持子層中間的端點,其主要功能集中在網絡管理和維護上。應用層的端點可以通過 ZDO提供的功能來獲取網絡或者是其他節點的信息,包括網絡的拓撲結構、其它幾點的網絡地址和狀態以及其他幾點的類型和提供的服務等信息。
1.4 zigbee網絡拓撲結構
zigbee網絡支持多種網絡拓撲結構,最典型的網絡結構是星型網絡的拓撲結構。對于星型網絡,由一個協調器和多個終端節點組成。在星型網絡中,所有的通信都是通過協調器轉發。這樣的網絡結構有三個缺點:一是會增加協調器的負載,對協調器的性能要求很高;二是協調協作都通過協調器轉發的話,會極大的增加系統的延時,使得系統的實時性受到影響;三是單一節點的破壞造成整個網絡的癱瘓,降低了網絡的魯棒性。
除了支持星型網絡以外,zigbee還支持樹狀(Tree)和網狀(Mesh)等對等網絡,如圖2-11。在對等網絡中,也存在一個PAN協調器(Coordinator),但是它已經不是網絡的主控制器,而是主要起到發起網絡和組網的作用。在對等網絡中,一個設備在另一設備的通信范圍之內,他們就可以互相通信。因此,對等網絡拓撲結構統一構成較為復雜的網絡結構。對等網絡拓撲結構主要在工業檢測和控制,無線傳感網絡,供應物資跟蹤,農業智能化以及安全監控方面都有廣泛的應用。在網絡中,各個設備之間發送消息時,使用了多跳傳輸,以增大網絡的覆蓋范圍。其中,組網的路由協議是采用了無線自組網按需平面距離矢量AODV路由協議(Ad Hoc On Demand Distance Vector Routing),無論是星型拓撲還是對等拓撲,每個獨立的PAN都有一個唯一的標志符PAN ID,用以同一個網絡之內節點的互相識別和通信。
評論