• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
45
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:樹狀 ZigBee 無線感測網路的位址配置協定

系 所 別: 資訊工程學系碩士班 學號姓名: M09402042 蔡威霆 指導教授: 王俊鑫 博士

嚴力行 博士

中 華 民 國 九 十 六 年 八 月

(2)

摘要

位址配置為無線感測網路中重要的一環,每個感測節點在加入ZigBee網路 時,會獲得一個獨一無二的網路位址,利用此位址感測節點才得以完成節點間的 資料傳輸與繞徑。

樹狀 ZigBee 無線感測網路中現有的位址配置機制會將位址空間做固定分 割。這樣雖然在傳遞封包時不需參考路由表資訊,卻也因為缺乏彈性而可能造成 位址空間的浪費,使得某些感測節點因無法獲得位址而無法加入網路,或必需使 用較長的路徑來傳遞感測資料。

我們使用三種高利用率位址管理與分配機制 - CSAC、HAC、以及 RBAC,

嘗試延伸傳統 DHCP (Dynamic Host Configuration Protocol) 位址配置協定,使其 可於 ZigBee 網路的樹狀結構下執行。經由模擬實驗的結果證實,採用我們的作 法可以有效減少無法獲得位址的感測節點數目,並且降低感測資料傳遞路徑的長 度,降低了資料在轉送上的時間與電力的浪費。此機制的缺點是需要使用傳統的 路由表來進行封包傳遞的動作,以及感測節點的 Leaving Cost 較高,但若使用 HAC 或是 RBAC 的作法,則能大幅的降低上述兩個缺點所造成的影響。

關鍵詞:無線感測網路,位址分配,ZigBee。

(3)

致謝

兩年的研究所生活中,經歷過許多甘苦,當遇到困難的問題而或是在撰寫複 雜的程式時的挫折,以及解決問題而或是完成程式時的成就感,只有親身體會才 能了解箇中滋味。我要感謝我的兩位指導教授—嚴力行教授以及王俊鑫教授。教 授在我為了研究問題上的各種疑難雜症而苦惱時,總是能給予我一些適切的方 向,引導我前進。在口語演說表達的部份,教授也給予我許多的建議,使我在每 一次的口頭報告後,都能更加掌握表達的方式以及詮釋重點的技巧。此外,在這 些過程中也讓我明白,態度能夠決定一切,面對事物都要有負責、誠懇求好的態 度,最後才能享受到成功的果實。最後,我要再一次感謝我的指導教授,讓我的 研究生涯中學習到許多事物,有了他們,才有這兩年充實的研究所生活。

另外我要感謝實驗室的同學與學弟們,希維、建志、炳衡、昌榮、世璽、孟 宏、河正、昱翔、智遠等。大家都是互相激勵與前進的朋友,當遇到難解的問題 時,大家都會彼此討論與研究,交流彼此的觀念與想法,這比一個人埋頭苦思有 趣多了。除此之外,感謝已經畢業的學長家政,時常在忙錄的工作中抽空與我討 論研究時遇到的問題,並且提供我一些個人經驗與想法,使我獲益良多。

最後要感謝我家人,他們的支持對我來說是很大的動力。在此向所有陪伴我 一起走過這段研究所歲月的家人與朋友致上最深的謝意!

(4)

目錄

目錄 Ⅰ

圖目錄 Ⅲ

表目錄 Ⅴ

第一章 簡介 1

1.1  前言 1

1.2 研究動機 2

1.3 論文架構介紹 3

第二章 背景知識與相關研究 4

  2.1   位址分配機制       4

2.2 ZigBee感測節點裝置類型 5

2.3 ZigBee支援拓樸 5

2.4 樹狀 ZigBee 網路相關參數 6

2.5 感測節點自身相關參數 8

2.6 感測節點加入 ZigBee 網路 8

2.7 感測節點離開 ZigBee 網路 10 2.8 Distributed Address Assignment Mechanism(DAAM) 10

2.9 資料繞徑 12

2.10 特性分析及問題探討 12

(5)

3.1 節點所需扮演之角色與目的 14 3.2 Centralized Stateful Address Configuration(CSAC) 14

3.2.1 網路架構建立與位址分配 14

3.2.2 資料繞徑與路由表 17

3.3 Hybrid Address Configuration(HAC) 17

3.3.1 網路架構建立與位址分配 17

3.3.2 資料繞徑與路由表 17

3.4 Router-Based Address Configuration(RBAC) 18

3.4.1 網路架構建立與位址分配 18

3.4.2 資料繞徑與路由表 20

3.5 優缺點分析 20

第四章 模擬與實驗結果 22

4.1 環境參數 22

4.2 實驗流程 22

4.3 模擬結果 - 感測節點加入網路與獲取位址之情形 22 4.4 模擬結果 - 感測節點間在樹中之 hop-count 27 4.5 模擬結果 - 感測節點所需之路由表大小 29 4.6 模擬結果 - 感測節點離開網路所花費訊息大小(Leaving Cost) 34

第五章 結論 35

參考文獻 37

(6)

圖目錄

圖一 ZigBee 網路之樹狀架構 6

圖二 樹狀 ZigBee 網路之參數設定,Set(cm, rm, lm)=(3, 1, 7) 7 圖三 樹狀 ZigBee 網路之參數設定,Set(cm, rm, lm)=(4, 4, 2) 7 圖四 在 ZigBee 樹狀架構下之位址分配(參數 Cm=4,Rm=4,Lm=6) 11 圖五 (a) 樹狀 ZigBee 網路之參數設定,Set(cm, rm, lm)=(4, 4, 3)

,位址分配之情形

(b) 圖五(a)之樹狀邏輯圖 13

圖六 CSAC 位址配置之步驟。(a)索取位址之動作。(b)分配位址

之動作。(c) 建立路由表之動作。 16 圖七 使用 HAC(3, 2, 4)分配位址之例 18

圖八 使用 RBAC(8)分配位址之例 19

圖九 分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參數 之作法,比較不同感測節點數量下,感測節點加入網路並獲

取位址之情形。 23

圖十 HAC 對應 DAAM(4, 2, 14)作法,在其 Cm-1、Rm-1、Lm-1 時

,感測節點加入網路並獲取位址之情形。 24

圖十一 HAC 對應 DAAM(4, 2, 14)作法,在其 Cm-1、Rm-1、Lm-1 時

,感測節點所獲取的位址為 Address Configuration Server 所配

置之數量。 25

圖十二 HAC 對應 DAAM(12, 4, 7)作法,在其 Cm-1、Rm-1、Lm-1 時

,感測節點加入網路並獲取位址之情形。 25

(7)

圖十三 HAC 對應 DAAM(12, 4, 7)作法,在其 Cm-1、Rm-1、Lm-1 時

,感測節點所獲取的位址為 Address Configuration Server 所配

置之數量。 26

圖十四 HAC 對應 DAAM(14, 8, 5)作法,在其 Cm-1、Rm-1、Lm-1 時

,感測節點加入網路並獲取位址之情形。。 26 圖十五 HAC 對應 DAAM(14, 8, 5)作法,在其 Cm-1、Rm-1、Lm-1 時

,感測節點所獲取的位址為 Address Configuration Server 所配

置之數量。 27

圖十六 分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參數之

作法,比較感測節點間在樹狀拓撲架構中之平均 hop-count。 28 圖十七 分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參數之

作法,比較感測節點到 ZigBee Coordinator 之平均 hop-count。 28 圖十八 採用 CSAC 作法下,不同深度之節點所需平均路由表大小 29 圖十九 採用 CSAC 作法下,不同深度之節點所需要的最大路由表大小 30 圖二十 採用 HAC 作法下,不同深度之節點所需平均路由表大小 31 圖二十一 採用 HAC 作法下,不同深度之節點所需要的最大路由表

大小 31

圖二十二 採用 HAC 的作法,感測節點所獲取的位址為 DAAM 所配置 到的位址空間與 CSAC 所配置的位址比例 32 圖二十三 採用 RBAC 作法下,不同深度之節點所需平均路由表大小 33 圖二十四 採用 RBAC 作法下,不同深度之節點所需要的最大路由表

大小 33

圖二十五 分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參數 之作法,平均感測節點離開網路所花費訊息大小(Leaving

(8)

Cost) 34

表目錄

表一 當 Cm=4、Rm=4、Lm=6,depth 與 Cskip 之關係 11

(9)

第一章 簡介

1.1 前言

由於現今無線傳輸、處理器、及記憶體技術的進步,促使無線感測網路訊速成 長。無線感測網路是在一區域中,放置許多具有無線通訊及計算能力的感測節點 (sensor node),利用此感測節點對目標區域環境加以監測或控制。節點間資料的相互 傳輸使用無線傳輸方式並將資料回傳給其中一個稱為sink node的感測節點,使用者 則藉由感測節點獲得所需之資訊。

利用無線感測網路,可以達成許多人力所無法完成的事:在惡劣的環境中,收 集溫度、濕度…等資訊;在軍事方面,利用從節點的資料上獲取敵軍行蹤用以完成 偵查的目的;除此之外,在交通管理、健康醫療、環境監測、防災救災、防恐反恐 及商業與家庭等各方面皆有其應用的價值。

ZigBee 為一無線感測網路定義網路層及應用層規範之通訊協定,由ZigBee Alliance[1]於2004月12月制定。ZigBee Alliance是一個全球性的組職,倡導可靠、符 合成本效益、耗電量低,且具有無線網路功能的監控產品之企業。其成員由許多半 導體業、科技業、工業自動化及設計業…等各大產業所組成,其中不乏各個國家的 知名大廠。

ZigBee Alliance在2004年12月制定了第一版(V1.0)的ZigBee Specification,並於 2006年12月,提出了r13版[2],ZigBee Specification內容包含了ZigBee網路層與應用 層規範,並以IEEE802.15.4 標準規範的實體層及媒體存取層協定為底層。具有可 靠、低傳輸速率、低耗電量、低成本、並且支援大量網路節點串接(可支援裝置串接 數量多達65536個)與多種網路拓撲結構(如星狀、網狀、樹狀)的特性。

(10)

1.2 研究動機

位址配置為無線感測網路中重要的一環,每個感測節點在加入ZigBee網路時,

會獲得一個獨一無二的網路位址,利用此位址感測節點才得以完成節點間的資料傳 輸與繞徑。

在樹狀拓樸的網路中,ZigBee Specification中提出了一套位址分配的方式 — Distributed Address Assignment Mechanism (DAAM),利用樹狀網路中相關的參數設 定,在一連串的公式計算後,將位址做一固定的分割與分配,感測節點的位址皆由 父節點經公式計算後的值分配之。在資料繞徑(data routing)方面,由於位址固定分割 的特性,感測節點不需要額外使用記憶體儲存路由表資訊,節點只需利用封包中目 的端位址欄的值,利用一公式運算即可得知封包要送往的下一個節點為何。

由於DAAM的作法,使位址在分配上缺乏彈性,造成許多位址空間浪費,並且 可能使得些許感測範圍內的節點裝置無法加網路,而加入網路中的感測節點,有可 能因為網路中相關參數設定的限制,導致感測節點間的hop-count過高,增加了在資 料轉送上的時間延遲及電力消耗的花費。

因此,我們提出了一個方法—Centralized Stateful Address Configuration

(CSAC),試著沿用傳統DHCP(Dynamic Host Configuration Protocol)協定[3]的概念,

將位址做集中化管理與分配,使位址的分配更加的彈性。由於我們的做法,位址分 配並非固定的切割位址空間,為了資料繞徑的需要,我們必需佔用些許記憶體用以 儲存路由表(routing table)。

由於路由表的大小,直接了影響感節點在記憶體上花費的成本,我們帶入混合 式(hybird)拓樸的概念。提出另外兩種作法—Hybrid Address Configuration(HAC),將 位置空間切割成兩大部分,第一部份交由原先ZigBee Specification中的DAAM位址 分配方式,配置位址與產生網路架構,另一部份位址則是使用集中式的管理與分配,

負責將位址分配給其它因網路相關參數設定未能獲得而無法加入網路的節點。此做 法擷取了原先DAAM中作法的優點,並且配合集中化位址管理與分配,提高了位址 分配的彈性;以及Router-Based Address Configuration(RBAC),將位址切分為數個位

(11)

址區塊分配給網路中的路由節點(Router),並以路由節點位址為首,路由表只需儲存 路由節點之資訊,並以遮罩的方式達成非路由節點位址之繞徑。

我們的作法是將位址做集中化的管理與分配,因此大大提高了位址在分配上的 彈性,並且保證在位址足夠的情況下,可使ZigBee網路中所有感測節點均可獲得位 址並且加入網路。而延伸DAAM及CSAC兩種混合式的分址分配方式,更是擷取了 位址固定切割及集中化管理分配的優點,且大幅度縮小了所需的路由表大小。此外,

由我們的做法過程中的繞徑路徑(routing path)所建構的樹狀網路結構,也較原先 DAAM中的方式所建成的樹狀結構,在感測節點間的hop-count上要少許多。上述優 點也在模擬實驗的結果中獲得證實。

1.3 論文架構介紹

本論文之架構如下:

第二章 背景知識與相關研究:

介紹過去相關的位址分配機制、ZigBee詳細的相關背景與內容,以及ZigBee Specification中,在樹狀架構中的DAAM位址分配的作法,並分析其特性與優缺 點。

第三章 高利用率位址管理與分配:

介紹我們所提出的做法,並詳細說明其內容與運作方式,並分析其特性與 優缺點及解決方案。

第四章 模擬與實驗結果:

比較原先DAAM的位址分配方式,以及我們的作法及解決方案,做一連串 的模擬實驗,並對結果做分析與探討。

第五章 結論:

將我們的研究做一個總結,並說明後續的發展與研究方向。

(12)

第二章

背景知識與相關研究

2.1 位址分配機制

在無線區域網路應用架構模式中,無線ad-hoc網路為與無線感測網路之性質最 為接近,在位址分配機制方面,無線ad-hoc網路已有許多相關作法被提出:

MANETConf[4]的作法中,使用互斥演算法(mutual exclusion algorithm)的分散式 動態位址分配機制,其步驟如下:

Ⅰ. 當新的節點要加入網路,會先找尋其中一鄰居節點為其初始節點(Initiator Node)。

Ⅱ. 此初始節點會選擇一個位址並廣播訊息通知所有網路中的節點他將要使 用此位址配置給新的節點,並等待網路中其它節點的回覆訊息。

Ⅲ. 若得到允許(positive)的回覆訊息,初始節點即將此位址配置給新加入的節 點,反之則另外再選擇其它位址並重複上述步驟。

Ⅳ. 當節點要離開網路時,則通知網路中之節點,本身的位址即將釋出。

Mohsin等人[5]提出使用二元切割(binary split)概念的位址分配機制,其作法如 下:

Ⅰ. 假定最初網路中只有一個節點,其擁有所有可用的位址,為自己的位址區 塊,區塊中第一個位址為自己使用的網路位址。

Ⅱ. 當有新的節點要加入網路時,會向最接近的節點要求加入網路,當節點要 分配位址給新的節點時,若自己只有一個位址區塊,則將位址區塊切一半 給予新的節點,若有多個位址區塊則擇一給予新的節點,並重新通知網路 中其它的節點目前自己的可用位址區塊。

(13)

Ⅲ. 若節點將要離開網路,則將自己的位址區塊給與最近的節點。

上述的做法,其目的皆針對移動式(mobile) ad-hoc網路環境下,確保網路中之節 點位址不會重復,節點所得到的位址,與網路中之資料繞徑並無直接關聯,位址分 配機制本身也沒有建立繞徑相關機制,大多需仰賴Ad Hoc On-Demand Distance Vector Routing(AODV)[6]此類協定為繞徑守則。

Bhatti等人[7]提出了多維度(n-dimensional)位址分配機制,以坐標軸之概念來儲 存感測節點位址,以二維座標配置為例,ZigBee Coordinator之位址為(0, 0),此後在 配置位址時,則以自身位址(x, y)為基底,配置(x+1, y)或(x, y+1)位址給予新節點。

但此種作法不附合現今常用之位址格式。

在ZigBee Specification所提出的DAAM作法,其感測節點所獲取之位址,帶有資 料繞徑功能,無需額外使用其它繞徑機制,感測節點即可利用計算位址之判斷使用 資料繞徑,其內容將在下段詳述之。

2.2 ZigBee感測節點裝置類型

ZigBee 網路中,感測節點依功能可分為兩種[8]:Full Function Device(FFD)以及 Reduced Function Device(RFD)。Full Function Device 包含 ZigBee Coordinator(ZC) 與 ZigBee Router(ZR),此類型裝置可與任何種類 ZigBee 感測節點作連結,除了自 身的資料傳送,也可轉送(forward)鄰居節點資料到其它感測節點,ZigBee Coordinator 另外還具有發起一個新的 ZigBee 網路的功能。ZigBee End Device(ZED)則屬於 Reduced Function Device,只能與 Full Function Device 作連結,除了自身的資料傳 遞,無法 forward 鄰居節點的資料。

2.3 ZigBee支援拓樸

ZigBee支援的網路拓樸有:樹狀(Tree-Based)、星狀(Star)、網狀(Mesh)、以及混 合式(Hybrid)拓樸結構,可針對各種不同的應用目的作選擇。圖一為樹狀拓樸結構之

(14)

例。

2.4 樹狀ZigBee網路相關參數

‧ nwkMaxChildren (Cm):為網路中每個感測節點允許擁有的最大子節點數 (範圍介於 0x00-0xFF,預設值 0x07)。

‧ nwkMaxRouters (Rm):為每個感測節點之子節點中可為 ZigBee Router 的最 大數量(範圍介於 0x01-0xff,預設值 0x05)。

‧ nwkMaxDepth (Lm):為每個感測節點可充許在樹中的最大深度(範圍介於 0x01-0x0f,預設值 0x05)。

上述三個參數直接影響了樹的拓樸架構,由於位址範圍的限制,當 Cm、Rm 越 小,Lm 則會越大,樹的架構會趨於長型(如圖二所示)。反之,樹的架構會趨於扁平 (如圖三所示)。

圖一:ZigBee網路之樹狀架構。

(15)

圖二:樹狀 ZigBee 網路之參數設定,Set(cm, rm, lm)=(3, 1, 7)。

圖三:樹狀 ZigBee 網路之參數設定,Set(cm, rm, lm)=(4, 4, 2)。

(16)

2.5 感測節點自身相關參數

‧ d:為感測節點位於樹中之深度,ZigBee Coordinator 為樹之根節點,

其深度為 0。

‧ Cskip:是由 Cm、Rm、Lm、d 等資訊計算所得之值。其值代表如果此節點 之子節點為 ZigBee Router,則以子節點為根節點之子樹可容納最多的節點 數。計算公式如下[2]:

⎪⎩

⎪⎨

− +

=

⋅ +

=

otherwise Rm

Rm Cm Rm Cm

Rm if d

Lm Cm d

Cskip

Lm d

1 , 1

1 ,

) 1 (

1 )

( 1 (1)

A : 為感測節點自身的網路位址。由感測節點之父節點利用 Cskip、

n

Rm、d 等值所計算而得,ZigBee Coordinator 之位址固定為 0。計算公式如

下[2]:

) (

1 ,

)

(

d Rm n Where n Cm Rm C

A

A

n = parent + skip ⋅ + ≤ ≤ − (2)

在公式(1)中,我們發現,在Cm大於Rm且Rm大於1時,有時會出現Cskip值為小 數之情形,Cskip值為分割位址區塊之大小,不應該為小數,此問題我們在第四章模 擬實驗中將會加以避免。在公式(2)中,我們認為這以公式配置位址會有瑕疵,應使 用下述公式(2.plus)計算所配置的位址,上述問題蘇等人[9]也有發現且看法與我們相 同。

Rm Cm n n Rm d

Cskip A

A ZED

Rm n n

d Cskip A

A ZR

parent parent

n

parent parent

n

≤ +

⋅ +

=

≤ +

⋅ +

=

1 , )

(

1 , 1 ) 1 ( ) (

: (2.plus)

2.6 感測節點加入ZigBee網路

(17)

當感測節點想要加入ZigBee網路時,其步驟如下:

¾ 應用層發出DISCOVERY.request通知網路層告知節點希望尋找可用ZigBee Router的訊息。

¾ 當網路層收到DISCOVERY.request後,會發出SCAN.request通知MAC層去 接收ZigBee Router所發出的beacon。

¾ MAC層將接收到的BEACONNOTIFY.indication資訊送回給網路層,並於最 後送出SCAN.confirm。

¾ 網路層將搜尋到的ZigBee Routers詳細資訊置於DISCOVERY.confirm中,並 發送給應用層。

¾ 在決定好要連接的ZigBee Router後,應用層向網路層發出JOIN.request通 知所要連結之ZgiBee Router。

¾ 網路層接收到JOIN.request後,向MAC層發出ASSOCIATE.request告知連結的 通知訊息。

¾ MAC再根據ASSOCIATE.request資訊,與ZigBee Router作連結,並於程序 完成後,回傳ASSOCIATE.confirm訊息給網路層。

¾ 網路層收到ASSOCIATE.confirm後,傳送JOIN.confirm給應用層,完成感測 節點加入網路的動作。

(如果此裝置為ZigBee Router則需在上述步驟完成後,接續作以下步驟)

— 應用層發送START-ROUTER.request到網路層。

— 網路層發送START.request到MAC層。

— MAC層回傳START.confirm給網路層。

— 網路層回傳START-ROUTER.confirm至應用層。

(18)

上述四個步驟目的為初始ZigBee Router之beacon順序及superframe順序等相關 設定。

2.7 感測節點離開ZigBee網路

當感測節點要離開ZigBee網路時,其步驟如下:

¾ 離開動作主要由節點發出的LEAVE.request訊息中DeviceAddress欄以及 RemoveChildren欄位之值來決定其運作結果,此兩欄之值有下面四種情形:

„ DeviceAddress=NULL,RemoveChildren=0:感測節點自身離開網路。

„ DeviceAddress=NULL,RemoveChildren=1:感測節點自身離開網路,

並要求其子節點離開網路。

„ DeviceAddress=ChildAddress,RemoveChildren=0:感測節點要求特定 Child離開網路。

„ DeviceAddress=Child,RemoveChildren=1:感測節點要求特定Child離 開網路並要求此Child之子節點也要離開網路。

¾ 動作完成後,底層會回傳一LEAVE.confirm之訊息通知動作已結束。

2.8 Distributed Address Assignment Mechanism(DAAM)

DAAM為ZigBee specification中所提出的一套針對樹狀ZigBee網路結構的位址 配置機制。ZigBee網路由ZigBee Coordinator開始建立並設定網路相關參數Cm、Rm、

以及Lm,以及設定自身參數d值與address為0。當有新節點想要加入網路,會先尋找 可加入網路之ZigBee Router(或是ZigBee Coordinator)。若此ZigBee Router現有可分配 的位址,則利用自身address

( A

parent)、Cskip(d)、目前子節點中ZigBee Router數(Rm)、

以及子節點數(Cm)等資訊,利用公式(2)計算新節點位址

A 之值,之後將

n

A 分配給

n 此新的節點,並把新的節點設為自己的子節點。圖四為ZigBee在樹狀結構中以參數

(19)

Cm=4、Rm=4、Lm=6之位址分配情形,表一為圖四中不同深度的Cskip(d)。

節點深度(d) Cskip(d)

0 1365 1 341 2 85 3 21 4 5 5 1 6 0

表一:當 Cm=4、Rm=4、Lm=6,depth 與 Cskip 之關係

圖四:在ZigBee樹狀架構下之位址分配(參數Cm=4,Rm=4,Lm=6)。

(20)

2.9 資料繞徑

DAAM其運作方式是將位址作固定分割,每個感測節點之位址皆由計算得到,

於是感測節點不需花費記憶體儲存繞徑表(Routing Table)。資料繞徑之運作如下 [10],當某個位於深度d、address為A之感測節點接收到一封包,其目的端位址 (destination address)欄之值為D,感測節點會利用上述資訊計算而得知封包之next hop 為其父節點或子節點之一。當A<D<A+Cskip(d-1)時next hop為下述公式[11]所得之子 節點位址,否則next hop為父節點。

( 1)/ ( )

( )3

1

D A Cskip d Cskip d

A

+ + − − ⋅ (3)

2.10 特性分析及問題探討

DAAM的作法只要使用節點自身資訊及封包中目的端位址之值,即可經由計算 得知Next-Hop節點,不需要另外花費記憶體空間儲存路由表。但是在這種位址分配 方式下,ZigBee Coordinator在建立新的網路時,即需決定上述參數的設定值。而為 了讓位址能分配得當,在設定參數時必須知道感測節點的分佈情形(如sensor的密 度)。即便知道sensor之散佈情形,還是可能發生某此節點無法配置到位址,以至於 節點無法加入網路。

除此之外,由於位址是因定的分割配置,易造成不同區塊間,有些區塊位址分 配接近飽和,而有些區塊的位址卻未達到充份利用而浪費掉,位址的配置相當缺乏 彈性。如圖五所示,以B節點為根節點之子樹,其位址配置已接近使用飽和,另一 方面,以C節點為根節點之子樹,其位址卻只有許用到一個,若有新節點陸續加入 網路,極有可能因B節點之子樹位址配置飽和而無法加入網路。

當網路參數設定完成時,樹狀網路架構亦會受到限制,導致加入網路的感測節 點有可能因為相關參數設定的限制,導致感測節點到ZigBee Coordinator在樹狀結構 中的hop-count過高,增加了許多資料轉送的時間與花費。

(21)

(a) (b)

圖五: (a) 樹狀 ZigBee 網路之參數設定,Set(cm, rm, lm)=(4, 4, 3),位址分配之 情形。

(b) 圖五(a)之樹狀邏輯圖。

0

43 22

28 23

1

2 65

66

70 64

33

24 25 26 27 29 30 31 32

A B C D

25 26 27

0 43 22

28

23

1

2

65

66

70 64

33

24 29 30

31 32

A B

C

D

(22)

第三章

高利用率位址管理與分配

為了解決樹狀 ZigBee 無線感測網路位址分配的問題,我們提出了三種高利用率 位址管理與分配協定。接下來我們將對我們的三種方法做詳細說明。

3.1 節點所需扮演之角色與目的

在高利用率位址管理與分配的三種做法中,我們設置ZigBee Coordinator為位址 管理伺服器(Address Configuration Server, ACS),集中式管理所有可用位址。所有的 感測節點加入時必須向ZigBee Coordinator索取網路位址,並由ZigBee Coordinator決 定所要分配的位址給予感測節點。

然而,在無線感測網路的環境中,大多數的感測節點並非在ZigBee Coordinator 的one-hop距離內,無法直接向ZigBee Coordinator索取網路位址。為了解決這個問 題,我們設置ZigBee Router為位址轉送代理器(Address Relay Agent, ARA),負責傳 送通訊範圍內節點的位址需求訊息至ZigBee Coordinator並將ZigBee Coordinator回 應之位址分配訊息給予感測節點。

3.2 Centralized Stateful Address Configuration(CSAC) 3.2.1 網路架構建立與位址分配

在CSAC的做法中,ZigBee Coordinator開始建立網路時,會設定自身位址為0(位 址0x0000為保留給ZC專用之位址)。若one-hop內之感測節點要加入網路,在收到節 點發出JOIN.request之訊息時,ZigBee Coordinator將會分配目前未用的網路位址給予 此感測節點,並將所加入的節點設為自身之子節點。

(23)

當感測節點並非ZigBee Coordinator之one-hop鄰居節點時,節點無法直接向 ZigBee Coordinator要求獲得位址並加入網路。因此,節點必須藉由ZigBee Router向 ZigBee Coordinator取得網路位址並加入ZigBee網路中,其做法如下。

1. ZigBee Router收到感測節點所發出的JOIN.request訊息要求加入網路時,將 會傳送ADDRESS.request訊息到父節點,訊息中來源位址(Source Address) 為自己的位址,即位址轉送代理器之位址。

2. ZigBee Router接收到ADDRESS.request時,會將訊息轉傳至父節點。

3. 重復步驟2直到訊息傳送到ZigBee Coordinator。

4. ZigBee Coordinator接收到ADDRESS.request訊息時,會把要分配給新節點 之網路位址置於ADDRESS.reply訊息中,並根據ADDRESS.request中來源 位址對應路由表中Next-Hop之位址為目的端位址(Destination Address)傳送 出去。

5. ZigBee Router接收到ADDRESS.reply訊息時,會根據目的端位址對應路 由表中Next-Hop之位址傳送出去。

6. 重複步驟5,直到傳送到位址轉送代理器。

7. 位址轉送代理器之位址再將ADDRESS.reply中ZigBee Coordinator所配置之 位址置入JOIN.confirm訊息,傳送給新加入的節點。

8. 新節點得到位址並加入網路後,發出一目的端位址為0(即ZigBee Coordinator)之Routing Message至父節點。

9. 當ZigBee Router收到此Routing Message時,在路由表中新增DstAddr.為新 加入節點、Next-Hop為訊息上個hop位址之內容。

10. 重複步驟9直到ZigBee Coordinator也完成路由表內容新增動作。

(24)

息,需由我們自行設定。

如圖六所示,當新節點X欲加入網路時,會向ZigBee Router,例中位址為5的感 測節點發出JOIN.request,位址5之感測節點,再向ZigBee Coordinator發出

ADDRESS.request之訊息(圖六(a))。當ZigBee Coordinator收到後,將配置的位址7置 於ADDRESS.reply訊息中並傳送到位址為5之感測節點,此節點再將所配置之位址7 置於JOIN.confirm傳送給新的節點(圖六(b))。最後,此新增節點發出一Routing Message到ZigBee Coordinator,所有中繼節點收到訊息時,在路由表中新增DstAddr.

為7、Next-Hop為訊息上個hop位址之內容(圖六(c))。

圖六:CSAC 位址配置之步驟。

(a)索取位址之動作。(b)分配位址之動作。(c) 建立路由表之動作。

(25)

3.2.2 資料繞徑與路由表

在CSAC中,在位址分配最後一步驟完成的同時也完成了資料繞徑路徑的建立 與路由表內容的寫入。當感測節點接收到資料時,將從資料中目的端位址欄位中獲 取目的端節點的網路位址,並對路由表做查詢的動作。當目的端節點之值在路由表 中則將資料轉送到子節點,反之則往父節點轉送。

3.3 Hybrid Address Configuration(HAC) 3.3.1 網路架構建立與位址分配

在HAC的做法中,我們將所有可能位址分割為兩部分- DAAM配置區塊與 CSAC配置區塊,其位址範圍如下。

FFFF Rm

Cm Rm Cskip

Range Address CSAC

Rm Cm Rm Cskip

Range Address DAAM

× +

− +

− +

×

0

~ ] 1 )

0 ( [

] )

0 ( [

~ 0000 0

: (4)

ZigBee Coordinator開始建立網路時,會設定自身位址為0(位址0x0000為保留給 ZC專用之位址),並設定網路相關參數Cm、Rm、以及Lm。感測節點當要求加入網 路時,若收到JOIN.request之ZigBee Router可用DAAM的方式配置位址,則配置此位 址給與要求加入網路的節點,如果子節點中ZigBee Router已達到Rm的數量,則允許 之後的FFD以ZigBee End Device之角色加入為子節點,以節省路由表大小。若ZigBee Router已無剩餘位址可配置給新加入的感測節點,則會幫新加入感測節點向ZigBee Coordinator索取動態配置位址,此動作與3.2.1中步驟1~10相同。

圖七為HAC(Cm, Rm, Lm)=(3, 2, 4)之例,利用公式(4)計算得知DAAM所配置到 的位址空間為0x0000- 0x002D,其後則為CSAC配置區塊。圖中位址46與47之感測節 點,因感測範圍內的ZigBee Router皆無多餘DAAM的位址空間可配置,因此使用 CSAC方式向ZigBee Coordinator索取動態配置位址並給予之。

3.3.2 資料繞徑與路由表

(26)

在HAC中,位址分割為兩個區塊,其中CSAC配置區塊需要路由表來維持資料 繞徑。當感測節點接收到資料時,將從資料中目的端位址欄位中獲取目的端節點的 網路位址,若目的端位址位於DAAM所配置到的位址範圍中,則使用DAAM中繞徑 選擇的公式計算轉送節點位址並轉送出,若目的端位址位於動態配置位址區塊中,

則對路由表做查詢的動作,當目的端節點之值在路由表中則將資料轉送到子節點,

反之則往父節點轉送。

3.4 Router-Based Address Configuration(RBAC) 3.4.1 網路架構建立與位址分配

在RBAC的做法中,我們將位址切割成多個大小為2 之區塊,每個區塊中第一n 個位址為給與ZigBee Router之位址,剩餘2n −1位址空間則是與此ZigBee Router連接 之ZigBee End Device保留位址,位址區塊由ZigBee Coordinator集中式管理,所切割 的區塊越大,則每個ZigBee Router能連接的ZigBee End Device越多,而網路中能容 納的ZigBee Router則相對減少,因此區塊的大小可視網路中FFD與RFD之比例而做 更動。當ZigBee Coordinator開始建立網路時,會將自己位址設為0,並保留1到2n −1 的位址空間,此為ZigBee Coordinator保留給與其連結的ZigBee End Device預留位

圖七:使用 HAC(3, 2, 4)分配位址之例。

(27)

址。其它感測節點在要求位址時則因要求的裝置類型不同而有不同的位址配置方式:

¾ 當索取位址之裝置為ZigBee Router:

ZigBee Router會使用3.2.1的方式,利用位址轉送代理器向ZigBee Coordinator索 取位址空間,當ZigBee Coordinator收到訊息後,會將目前未用的位址區塊擇一配置 給此ZigBee Router,ZigBee Router得到位址區塊後,會將位址區塊中第一個位址做 為自己的位址,並將剩餘的2n −1位址做為與自己連接的ZigBee End Device預留位 址。

¾ 當索取位址之裝置為ZigBee End Device:

ZigBee End Device在加入網路時,其位址直接交由所連接之ZigBee Router從 ZigBee End Device預留位址中配置一目前未使用之位址給與此ZigBee End Device。

圖八為RBAC(Address Block = 8)之例,圖中ZigBee Router皆向ZigBee

Coordinator索取位址,ZigBee Coordinator會給予索取位址之ZigBee Router一連續8個 位址之Address Block,當ZigBee Router收到位址後,會將Address Block中第一個位 址拿來使用,做為自己的位址,並將後面7個連續位址做為此後當ZigBee End Device 索取位址時之預留位址,當有ZigBee End Device向自己索取位址時則給予之。

圖八:使用 RBAC(8)分配位址之例。

(28)

3.4.2 資料繞徑與路由表

在RBAC的做法中,路由表的內容只有當ZigBee Router加入網路時,才會有新 增建立的動作,因此路由表只儲存ZigBee Router之繞徑資訊。當位址區塊大小為2n 的情況下,感測節點收到封包時,將從資料中目的端位址欄位中獲取目的端節點的 網路位址,並與末端n個位數為0,剩餘位數為1之遮罩位址做AND運算,運算後的 結果即是此封包目的端位址節點所連接之ZigBee Router位址,再查詢路由表之內 容,找出對應之Next-Hop並轉送,直到送到此ZigBee Router,此ZigBee Router收到 封包後,再根據目的端位址欄之資訊,交資料送到對應的ZigBee End Device。

3.5 優缺點分析

在高利用率位址管理與分配的三種做法中,皆在位址分配同時並完成資料繞徑 的建立,且大幅增加位址分配的彈性,使感測節點不會有DAAM中因位址固定分 割,導致某些區塊位址用盡而無法新增感測節點。除此之外,在我們的做法中,網 路拓樸不像DAAM做法中受到限制,因此也縮短了感測節點到ZigBee Coordinator之 hop-count,降低了資料在轉送上的時間與電力的浪費。

高利用率位址管理與分配,為了使位址配置賦與彈性,位址的配置並無固定規 律,為了資料繞徑,我們需要佔用記憶體空間來儲存路由表,另外一方面,由於位 址需向ZigBee Coordinator索取,在高利用率位址管理與分配的做法下,節點的 Leaving Cost也會較高。但在HAC與RBAC的做中法,我們分別使用不同的方式,盡 可能的讓路由表的大小降到最少,並減少節點向ZigBee Coordinator索取位址之比 例,以降低節點的Leaving Cost。在HAC中,路由表的內容只需要儲存那些因網路相 關變數限制而無法加入位址之節點,其餘節點則使用原始DAAM的繞徑方式,因此 路由表的大小縮減了不少,並且降低了整體的Leaving Cost,又可以保持位址分配的 彈性,擷取了DAAM與CSAC的優點。在RBAC的做法中,我們試著使用位址切割的 概念,將位址區塊中的位址分配在同個ZigBee Router與其ZigBee End Device中,並 套用位址遮罩的想法於資料繞徑中,感測節點只需負責將資料送至目的端之ZigBee

(29)

Router,再由ZigBee Router送到其底下的ZigBee End Device,路由表中只需儲存 ZigBee Router的繞徑資訊,也大量了減少路由表大小,ZigBee End Device只需向 ZigBee Router索取位址,也減少了節點的Leaving Cost。上述的種種優點,我們也將 在第四章模擬實驗中加以證實。

(30)

第四章 模擬與實驗結果

4.1 環境參數

模擬的環境參數,我們設定無線感測網路範圍為 1000×1000 平方單位,在環境 中散佈 200 至 1000 不等的感測節點,Full Function Device 與 Reduced Function Device 為一比一的比例,感測節點之散佈位置為隨機佈署(Random Deployment),每 個感測節點之通訊距離為 100,將 ZigBee Coordinator 置於感測環境的中央,在模擬 實驗中將要以我們的三種方法與 ZigBee Specification 中的作法 DAAM 來比較。關 於 DAAM 參數的設定,我們將以以下三種不同的參數設定來做位址分配與樹的建 造, (Cm,Rm,Lm)為(4,2,14)、(12,4,7)、以及(14,8,5),分別對應長型、方型、扁型的 樹狀架構。參數的考量是以 nwkMaxRouter 為 2、4、8 並在使位址不造成溢位的情 況下給與最大的位址分配數。另外,在 HAC 做法中(Cm,Rm,Lm)為(12,5,6),位址 0x0000-0xb718 為 DAAM 配置區塊,0xb719-0xffff 為 CSAC 配置區塊,在 RBAC 做 法中,我們設定 Address Block 大小為 8。

4.2 實驗流程

首先我們會將 200 至 1000 數量的感測節點隨機佈署,分別使用 DAAM、CSAC、

HAC 、以及 RBAC 四種作法,由 ZigBee Coordinator 開始建立網路並分配位址,待 網路建置完成後,開始收集與記錄相關數據,最後重複上述動作 100 次,並計算其 平均值。

4.3 模擬結果 - 感測節點加入網路與獲取位址之情形

圖九為我們的三種作法(CSAC、HAC、RBAC)與 DAAM 三種不同參數設定下,

(31)

比較各種作法下的感測節點加入 ZigBee 網路中並獲取位址的比例。我們可以發現在 感測節點數量小於 400 時,由於節點為隨機佈署,有許多感測節點因為感測半徑尋 找不到 Full Function Device 而無法加入網路,導致節點加入網路之比例不高,即使 如此,在我們的三種做法下依然能有比 DAAM 有更高的節點位址獲取率。當感測 節點大於 400 時,由圖可知,我們的三種做法,確實可以使環境中 90%以上的的感 測節點皆可分配到位址並且加入 ZigBee 網路中,而 DAAM 的作法中,除了 ZigBee(4,2,14)在節點數超過 400 時,能夠接近 90%以上的加入比例,另外兩種參數 設定則因為參數設定的限制,使得相當比例的感測節點無法獲得網路位址。由此也 可看出,在 DAAM 的作法下,必需要了解感測環境中的種種環境變數,及節點散 佈情形,在位址分配才能得到有效的運用。

圖九:分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參數之 作法,比較不同感測節點數量下,感測節點加入網路並獲取位址之情 形。

0 200 400 600 800 1000

0 10 20 30 40 50 60 70 80 90 100

Number of Nodes

Percentage of Nodes with Addresses Assigned

CSAC DAAM(4,2,14) DAAM(12,4,7) DAAM(14,8,5) HAC(12,5,6) RBAC(8)

(32)

為了證明圖九中 HAC 作法皆能在各種情況下比 DAAM 的作法要好,我們也另 外做了以下實驗:分別對應 DAAM 三種參數下,以 Cm、Rm、或 Lm 較原先小於一 時(即參數設定條件比原先 DAAM 作法惡劣),感測節點加入 ZigBee 網路中並獲取 位址的比例。圖十至圖十五分別為 HAC 設定對應於三種 DAAM 作法時,感測節點 加 入 ZigBee 網 路 中 並 獲 取 位 址 的 比 例 , 以 及 加 入 的 節 點 之 位 址 為 Address Configuration Server 所配置之數量圖,由圖中可知 HAC 之作法除了 HAC(4, 1, 14) 以外,皆能較 DAAM 作法在感測節點加入 ZigBee 網路中並獲取位址的比例皆來得 高。HAC(4, 1, 14)之設置,DAAM 之位址範圍為 0x0000-0x0038,所以大多數的位 址皆由 Address Configuration Server 配置,並由於此設置 Rm 為 1,造成加入網路之 ZigBee Router 過於稀少,且大多數鄰居 FFD 以 ZigBee End Device 角色加入網路,

降低了其它節點尋找到 ZigBee Router 的機會,無法利用 CSAC 之作法向 Address Configuration Server 索取位址,因此無法像其它參數設置一樣達到高節點加入之比 率。

圖十:HAC 對應 DAAM(4, 2, 14)作法,在其 Cm-1、Rm-1、Lm-1 時,感

0 200 400 600 800 1000

0 10 20 30 40 50 60 70 80 90 100

Number of Nodes

Percentage of Nodes with Addresses Assigned

HAC(3,2,14) HAC(4,1,14) HAC(4,2,13) DAAM(4,2,14)

(33)

圖十一:HAC 對應 DAAM(4, 2, 14)作法,在其 Cm-1、Rm-1、Lm-1 時,感測節 點所獲取的位址為 Address Configuration Server 所配置之數量。 

0 200 400 600 800 1000

0 100 200 300 400 500 600 700 800 900 1000

Number of Nodes Number of Used Addresses(Address Configurations Server) HAC(3,2,14)

HAC(4,1,14) HAC(4,2,13)

圖十二:HAC 對應 DAAM(12, 4, 7)作法,在其 Cm-1、Rm-1、Lm-1 時,

0 200 400 600 800 1000

0 10 20 30 40 50 60 70 80 90 100

Number of Nodes

Percentage of Nodes with Addresses Assigned

HAC(11,4,7) HAC(12,3,7) HAC(12,4,6) DAAM(12,4,7)

(34)

圖十三:HAC 對應 DAAM(12, 4, 7)作法,在其 Cm-1、Rm-1、Lm-1 時,感測節 點所獲取的位址為 Address Configuration Server 所配置之數量。 

0 200 400 600 800 1000

0 50 100 150 200 250 300 350 400

Number of Nodes

Number of Used Addresses(Address Configurations Server) HAC(11,4,7)

HAC(12,3,7) HAC(12,4,6)

圖十四:HAC 對應 DAAM(14, 8, 5)作法,在其 Cm-1、Rm-1、Lm-1 時,

感測節點加入網路並獲取位址之情形。 

0 200 400 600 800 1000

0 10 20 30 40 50 60 70 80 90 100

Number of Nodes

Percentage of Nodes with Addresses Assigned

HAC(13,8,5) HAC(14,7,5) HAC(14,8,4) DAAM(14,8,5)

(35)

4.4 模擬結果 - 感測節點間在樹中之hop-count

圖十六為分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參數之作法下,

感測節點間在樹狀拓樸架構中之平均 hop-count,圖十七為兩種做法中,感測節點到 ZigBee Coordinator 之平均 hop-count。由這兩張圖的數據中我們可以知道,在網路 建立完成後,樹狀架構下兩兩感測節點的 hop-count,我們的作法皆比 DAAM(4,2,14) 的數值低,雖然 DAAM(12,4,7)、DAAM(14,5,8)的 hop-count 較我們的少,但我們可 以由圖九得知,因為此時這兩者所加入的感測節點數量與我們的作法所加入的感測 節點數量要少許多,且其加入的網路節點大多為鄰近 ZigBee Coordinator 的節點,

許多外圍節點無法加入網路中,所以平均 hop-count 較少。並且由圖可知,當感測 節點大於 400 後,即節點加入比率大於 90%後,我們的三種作法的 hop-count 有開 始平緩下降的驅勢,而 DAAM 的作法則是持續平坦。

圖十五:HAC 對應 DAAM(14, 8, 5)作法,在其 Cm-1、Rm-1、Lm-1 時,感測節 點所獲取的位址為 Address Configuration Server 所配置之數量。 

0 200 400 600 800 1000

0 100 200 300 400 500 600 700

Number of Nodes Number of Used Addresses(Address Configurations Server) HAC(13,8,5)

HAC(14,7,5) HAC(14,8,4)

(36)

圖十七:分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參

0 200 400 600 800 1000

0 1 2 3 4 5 6 7 8 9 10

Number of Nodes

Average Hop Count to ZigBee Coordinator

CSAC DAAM(4,2,14) DAAM(12,4,7) DAAM(14,8,5) HAC(12,5,6) RBAC(8)

圖十六:分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參數之作法,

比較感測節點間在樹狀拓撲架構中之平均 hop-count。

0 200 400 600 800 1000

0 2 4 6 8 10 12 14 16 18 20

Number of Nodes

Average Hop Count between Two Nodes

CSAC DAAM(4,2,14) DAAM(12,4,7) DAAM(14,8,5) HAC(12,5,6) RBAC(8)

(37)

4.5 模擬結果 - 感測節點所需之路由表大小

由於我們的三種作法中,需要用到記憶體儲存路由表,下列圖表則是在這三種 作法中路由表大小數據圖。

圖十八與圖十九為使用 CSAC 分別以感測節點個數為 400、600、800、1000 時,

不同深度之節點所需平均路由表大小、以及不同深度之節點所需要的最大路由表大 小。我們可以由圖中得知,平均來說,在深度為 1 的感測節點所需路由表大小還未 到 40,最壞的情況下所需的路由表大小約為網路中感測節點總數的三分之一。

圖十八:採用 CSAC 作法下,不同深度之節點所需平均路由表大小。

0 1 2 3 4 5 6 7 8

0 5 10 15 20 25 30 35

Node Level

Average Entries in Routing Table

CSAC(400) CSAC(600) CSAC(800) CSAC(1000)

(38)

圖二十與圖二十一為使用 HAC 分別以感測節點個數為 400、600、800、1000 時,不同深度之節點所需平均路由表大小、以及不同深度之節點所需要的最大路由 表大小。我們可以由圖中得知,在最壞的情況下,深度為 1 的感測節點比 CSAC 的 作法少了一半的路由表大小,所需平均路由表大小也較小。

圖二十二為 HAC 的作法中,感測節點所獲取的位址為 DAAM 所配置到的位址 空間與已使用的 CSAC 配置區塊的比例,由圖中得知當感測節點大於 400 時,CSAC 配置區塊的位址比例有逐漸變小的趨勢,因為網路中的節點數量越多,提高了網路 的節點密度,使原本節點密度較小之區塊能更多的節點能直接使用 DAAM 未使用 到的位址空間。

圖十九:採用 CSAC 作法下,不同深度之節點所需要的最大路由表大小。

0 1 2 3 4 5 6 7 8

0 50 100 150 200 250 300

Node Level

Maximum Entries in Routing Table

CSAC(400) CSAC(600) CSAC(800) CSAC(1000)

(39)

圖二十:採用 HAC 作法下,不同深度之節點所需平均路由表大小。

0 1 2 3 4 5 6 7 8

0 5 10 15 20 25 30 35

Node Level

Average Entries in Routing Table

HAC(400) HAC(600) HAC800) HAC(1000)

圖二十一:採用 HAC 作法下,不同深度之節點所需要的最大路由表大小。

0 1 2 3 4 5 6 7 8

0 50 100 150 200 250 300

Node Level

Maximum Entries in Routing Table

HAC(400) HAC(600) HAC(800) HAC(1000)

(40)

圖二十三與圖二十四為使用 RBAC 分別以感測節點個數為 400、600、800、1000 時,不同深度之節點所需平均路由表大小、以及不同深度之節點所需要的最大路由 表大小。由圖中得知,在最壞的情況下,深度為 1 的感測節點與 HAC 差不多,皆 比 CSAC 的作法少了一半的路由表大小,所需平均路由表大小則較 HAC 要略小一 些。

圖二十二:採用 HAC 的作法,感測節點所獲取的位址為 DAAM 所配置到的位址 空間與 CSAC 所配置的位址比例。

0 200 400 600 800 1000

0 200 400 600 800 1000 1200

Number of Nodes

Number of Assigned Addresses

Number of Used Addresses(ZigBee Setting)

Number of Used Addresses(Address Configurations Server)

(41)

圖二十三:採用 RBAC 作法下,不同深度之節點所需平均路由表大小。

0 1 2 3 4 5 6 7 8

0 5 10 15 20 25 30 35

Node Level

Average Entries in Routing Table

RBAC(400) RBAC(600) RBAC(800) RBAC(1000)

圖二十四:採用 RBAC 作法下,不同深度之節點所需要的最大路由表大小。

0 1 2 3 4 5 6 7 8

0 50 100 150 200 250 300

Node Level

Maximum Entries in Routing Table

RBAC(400) RBAC(600) RBAC(800) RBAC(1000)

(42)

4.6 模擬結果 - 感測節點離開網路所花費訊息大小(Leaving Cost)

在感測節點離開網路時,我們假定以 DeviceAddress=NULL,RemoveChildren = 1,即其子樹之節點會離開網路並重新加入網路,計算其子樹重新完成加入網路分配 位址之訊息花費。圖二十五為 CSAC、HAC、RBAC 與 DAAM 的作法下,平均節點 之 Leaving Cost。由圖可以得知,CSAC 在獲取位址時,需向 ZigBee Coordinator 索 取位址,其 Leaving Cost 較高,而 HAC 一部份位址需向 ZigBee Coordinator 索取 CSAC 區塊位址、一部份位址則是向父節點索取 DAAM 區塊位址,所以 Leaving Cost 較 CSAC 略少,RBAC 因為只有 Full Function Device 需向 ZigBee Coordinator 索取位 址,Reduced Function Device 則由父節點給予位址,因此 Leaving Cost 較 CSAC 作 法要小許多,DAAM 則是皆由父節點給予位址,因此 Leaving Cost 為最小。

圖二十五:分別採用 CSAC、HAC、RBAC 以及 DAAM 三種不同參數之作法,

平均感測節點離開網路所花費訊息大小(Leaving Cost)。

500 600 700 800 900 1000

0 10 20 30 40 50 60 70 80 90 100

Number of Nodes

Average Leave Cost of Nodes

CSAC DAAM(4,2,14) HAC(12,5,6) RBAC(8)

(43)

第五章 結論

在 ZigBee 無線感測網路中,由於原有的位址分配方式為固定分配位址空間,使 位址配置缺乏彈性,造成位址空間浪費,且可能使許多在感測範圍內的節點裝置無 法加入網路,而加入網路的感測節點也有可能因為相關參數設定的限制,導致感測 節點到鄰居節點在樹狀結構中的 hop-count 過高,增加了許多 data forwarding cost 及 data forward time 等缺點。

本篇論文提出三種在樹狀 ZigBee 網路環境下動態位址分配的方法-CSAC、

HAC 、以及 RBAC,利用 ZigBee Coordinator 擔任位址管理伺服器,集中管理所有 可用位址,並以 ZigBee Router 擔任位址轉送代理器,使其支援無線感測網路中 multi-hop 的運作模式,缺點是需要使用傳統的路由表來進行封包傳遞的動作且節點 之 Leaving Cost 較高。

從模擬實驗中可以得知,藉由我們的三種作法方法,皆可以使位址得到更有效 的運用,並保證在位址數量足夠的情況下,可使 ZigBee 網路中有著接近 90%以上 比例的感測節點可以獲得網路位址並加入網路,並且可由數據中得知,相較於 DAAM 之作法受到參數的影響,在節點加入率有相當大的差異,反觀我們 HAC 之 作法,只要不要設定太過極端的參數設置(Rm=1),皆能有極佳的節點加入比率。除 此之外,與 ZigBee 原有作法比較,當感測節點數量由 400 增至 1000 時,我們的作 法將封包傳送到 ZigBee Coordinator 之路徑長度降低幅度也從 15%變成 35%,可望 降低資料在轉送所花費的時間與電力消秏。而原本 CSAC 所花費大量路由表大小的 問題,在 HAC 與 RBAC 無論在平均花費路由表大小或是最壞的情況下所需花費路 由表大小,皆能比 CSAC 降低約一半的路由表大小。另外在 CSAC 其 Leaving Cost 較高的問題上,RBAC 之作法,其節點的 Leaving Cost 也比 CSAC 減少了約 40%之 花費。

(44)

在未來的研究中,我們持續探索,思考是否有更好的位址分配機置,並針對感 測節點的移動性方面加以探討,當網路中的感測節點帶有移動性時,在我們的分址 分配機制下可能面臨到的問題並尋求解決方案。

(45)

參考文獻

[1] ZigBee Alliance, http://www.zigbee.org.

[2] ZigBee Alliance, Network Specification, Version 1.0[r13], Dec. 2006.

[3] R. Droms, “Automated configuration of TCP/IP with DHCP,” IEEE Internet

Computting, vol. 3, issue 4, pp. 45-53, 1999.

[4] S. Nesargi and R. Prakash, “MANETconf: Configuration of Hosts in a Mobile Ad Hoc Network,” Proceedings of IEEE Infocom, vol. 2, pp. 1059-1068, 2002.

[5] M. Mohsin and R. Prakash, “IP Address Assignment in a Mobile Ad Hoc Network,”

Proceedings of Milicom, vol. 2, pp. 856-861, 2002.

[6] C. Perkins and E. Royer, “Ad Hoc On-Demand Distance Vector Routing,” IEEE

Workshop on Selected Areas in Communication, pp. 90-100, 1999.

[7] G. Bhatti and G. Yue, “A Structured Addressing Scheme for Wireless Multi-Hop Networks,” US Patent, No. 20070060134, 2007.

[8] Y. C. Tseng and M. S. Pan, “Quick Convergecast in ZigBee/IEEE 802.15.4 Tree-Based Wireless Sensor Networks”, ACM Int’l Workshop on Mobility

Management and Wireless Access, pp. 60-66, 2006.

[9] 蘇聖夫, “在 Linux 系統中設計並實作 ZigBee 無線網路協定層,” 成功大學碩士論 文, 民國九十四年.

[10] P. Ran, M. H. Sun, and Y. M. Zou, “ZigBee Routing Selection Strategy Based on Data Services and Energy-Balanced ZigBee Routing,” IEEE Asia-Pacific

Conference on Services Computing, pp. 400-404, 2006.

[11] Gang Ding, Z. Sahinoglu, P. Orlik, Jinyun Zhang, and B. Bhargava, ”Tree-Based Data Broadcast in IEEE 802.15.4 and ZigBee Networks,” IEEE Transactions on

Mobile Computing, vol. 5, issue 11, pp. 1561-1574, 2006.

參考文獻

相關文件

Abstract Like the matrix-valued functions used in solutions methods for semidefinite pro- gram (SDP) and semidefinite complementarity problem (SDCP), the vector-valued func-

Lin, A smoothing Newton method based on the generalized Fischer-Burmeister function for MCPs, Nonlinear Analysis: Theory, Methods and Applications, 72(2010), 3739-3758..

– For each k, the faster, smaller device at level k serves as a cache for the larger, slower device at level k+1. • Why do memory

After the desired content has been identified, the control point needs to determine which transfer protocol and data format should be used to transfer the content from the

ƒ Regardless of terminal or network logins, the file descriptors 0, 1, 2 of a login shell is connected to a terminal device or a pseudo- terminal device. ƒ Login does

二個 ZigBee 的頻段是 1、第三個 ZigBee 的頻段也是 1 ,那麼 第一個 ZigBee 就和第二三個 ZigBee 無發互相傳送資料但是第 二個和第三個

ZigBee Stack 的架構分別是由 IEEE 802.15.4 standard 以及 ZigBee 聯盟 所制定;其中 IEEE 802.15.4 standard 定義了兩層,分別為 Physical (PHY) Layer 以及 Medium Access

無線感測網路是個人區域網路中的一種應用,其中最常採用 Zigbee 無線通訊協 定做為主要架構。而 Zigbee 以 IEEE802.15.4 標準規範做為運用基礎,在下一小節將 會針對 IEEE