ZigBee協議網絡層的設計與實現
節點可以通過發送LEAVE_REQUEST請求原語離開網絡,也可以通過發送LEAVE_REQUEST請求原語讓別的節點離開網絡。當節點收到LEAVE_REQUEST請求(來自本節點的應用層或者來自其他節點)時,執行離開網絡操作:首先,節點發送離開指示報文LEAVE_INDICATION給所有的鄰居節點;然后,鄰居節點收到LEAVE_INDICATION后,將該節點從鄰居表和路由表等信息中移除;最后,清空本節點網絡層信息,離開網絡。本文引用地址:http://www.104case.com/article/188841.htm
圖3 收到路由請求命令報文后的處理流程
3.3 路由
路由,作為網絡層的核心功能之一, 它的設計與開發直接影響著網絡的性能,這也是整個協議開發的重點和難點。下面我們將對路由協議的設計,路由發現以及維護分別進行介紹。
當且僅當一個節點要單播發送數據報文但是當前路由表中沒有到目的節點的有效路由時,節點向外廣播發送路由請求報文RREQ(Route Request)進行路由發現。節點收到路由請求報文后的詳細處理流程如圖3所示。
當節點收到路由回復報文時,首先查找路由表和路由發現表看是否有對應的項,如果有則更新路由表和路由發現表。如果該節點地址不等于路由回復報文命令負載中的發起節點地址,則需要繼續轉發該路由回復。節點收到路由回復報文后的詳細處理流程如圖4所示。
圖4 收到路由回復命令報文后的處理流程
4 結論
根據ZigBee協議國際規范,設計和開發了具有我國自主知識產權的ZigBee協議棧。本文,我們針對Atmega128閃存空間有限的特點設計了合適的協議棧軟件架構;并且重點對協議棧網絡層進行了詳細的介紹,主要包括服務實體的定義和劃分、網絡層的功能描述和實現(如數據收發、設備管理以及路由發現與維護)。
本文作者創新點:為了在有限存儲空間上實現ZigBee規范定義的諸多功能,設計實現了共享緩沖區進行數據收發;針對無線網絡的鏈路特點,設計實現了適用于工業環境的無線Mesh網絡路由協議,在進行路徑選擇的時候充分考慮鏈路質量因素,提高了選路的可靠性。
評論