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