第二章 相關背景研究
2.4 網路層(Network)
ZigBee 網路層主要功能包含加入及離開網路的機制、訊框安全與可靠傳輸 機制,以及傳遞路由的發掘與維護等。如圖 2.10 所示 ZigBee 網路結構可支援星 狀(star)、樹狀(tree)和網狀(mesh)三種拓樸(topology)。在星狀拓樸中,所有裝置 直接與同一個協調器通訊;在樹狀拓樸中,訊息傳遞是採用階層(hierarchical)路 由的方式,並且協調器與路由器採取發送 beacon 方式進行通訊;在網狀拓樸中,
裝置之間使用完全對等的通訊方式,並且在通訊的環境中是不採取 beacon 的方 式運作。
圖 2.10 ZigBee 網路結構
2.4.1 ZigBee網路的形成
在形成 ZigBee 網路時,網路中的裝置(FFD)會先互相競爭為協調器角色,當 裝置決定成為協調器時,協調器首先會搜尋所有的頻道以決定出一個適當的工作 頻道,然後協調器會做初使化程序,接著開始廣播 beacon 訊息傳送給其它尚未 加入網路的裝置,而當裝置接收到 beacon 訊息時,開始執行結合程序成為該網 路中的路由器或終端裝置,此時已加入該網路的裝置會被給定一組網路位址,作 為資料傳輸之位址。若裝置成為路由器時,則開始廣播 beacon 訊息讓其它裝置 加入成為該路由器之下的子節點。若裝置成為終端裝置時,則本身不具有發送 beacon 的能力,也不允許其它裝置加入該終端裝置之下。
2.4.2 ZigBee網路位址分配機制
在同一個 ZigBee 個人區域網路中,裝置間規範了所遵循的分散式網路位址 分配機制,以分配網路位址給加入該網路之裝置,其中裝置所分配到的網路位址 皆為唯一的,並且由父節點(協調器或路由器)分配一個有限的網路位址區段給所 加入的子節點(路由器與終端裝置)。在分散式位址分配機制的過程中,由協調器
預先定義父節點允許連接所有子節點個數(Cm)、子節點路由器最大的個數
在 tree 網路環境中,將採用階層(hierarchical)式路由機制,沿著樹枝結構做 訊息的傳遞。當裝置 n 接收到訊息時會先檢查目的端位址是否為自己或者為自己 的子節點;若是,裝置 n 將接收該訊息或者是將訊息轉送給目標的子節點;反之,
裝置 n 則沿者樹枝結構轉送訊息給父節點或是該裝置本身的後裔(descendants)。
階層式路由機制如下: 假設A 為裝置 n 的網路位址,其該裝置 n 的網路深度為n
在 mesh 網路環境中,ZigBee 路由機制是採用簡易 AODV(Ad hoc On-Demand
( )
Vector) 路由協定[13]。若一個裝置(協調器或路由器)擁有路由表(routing table)能 力 與 路 由 找 尋 表 (routing discovery table) 能 力 則 稱 為 具 有 路 由 能 力 (routing capacity),如圖 2.11 所示,當有路由能力的 node 0 要傳送資料到 node 4 時,發 現 其 路 由 表 中 並 沒 有 到 達 目 的 端 node 4 的 路 由 時 , 將 會 發 送 廣 播 訊 息 RREQ(Route request)來啟動路由尋找機制(routing discovery)。當裝置 2 接收到 RREQ 訊息時會先計算與來源端之間的 link cost,並且記錄到 RREQ 訊息內,若 該裝置 2 接收到相同目的端訊息 RREQ,將會保留最低 link cost 的路由。由於裝 置 2 並沒有路由能力,因此將使用樹狀網路機制發送詢問訊息 RREQ 給 node 4,
此時目的端 node 4 則按照下一跳躍(next hop)節點的原有路由方式,回傳 RREP(Route reply)訊息給來源端 node 0,完成路由尋找的程序。
0
Without routing capacity routing capacity
圖 2.11 ZigBee 路由尋找機制