Transcript Document
National Chi Nan University
使用群播技術之ZigBee路由拓
樸追蹤工具
發表者:李書丞
指導教授:吳坤熹
日期:2012/07/03
目次
•
•
•
•
•
•
•
•
•
•
研究背景
研究動機
背景知識
現有技術
系統架構
實作方法
達到效果
結論
未來展望
參考資料
2
National Chi Nan University
研究背景
• 近年來由於感測與通訊技術的進步,進而
發展出無線感測網路(Wireless Sensor
Network, WSN)。
• 無線感測網路的應用,主要著重於監控的
功能;包含工業自動化、電力監控、家庭
節能、環境監控、醫療監控等 [1]。
3
National Chi Nan University
研究背景 Cont.
• ZigBee [2]是目前無線感測網路中最常使用
的通訊協定。
• ZigBee有三種拓樸形態,分別是星狀、樹狀、
網狀,網狀通常用在節點數較多的情況下,
或是不確定有多少節點的狀況下 [3]。
• 因為網狀不像樹狀需要事先定義網路的廣
度和深度,所以不會被這些值限制了網路
的節點數,因此有較高的彈性。
4
National Chi Nan University
研究背景 Cont.
• 位址分配機制
– 樹狀
• 透過公式計算出來(位址的數量受限於參數)
– 網狀
• 由協調者隨機配發(最大可用到2^16=65536個)
• 路由機制
– 樹狀
• 透過公式計算出來
– 網狀
• 需要用到時如果不存在於路由表中則啟動路由尋找的機
制,透過廣播的方式尋找出最短的路徑
5
National Chi Nan University
研究動機
• 網狀網路的路由路徑不同於樹狀可以透過公式
計算
• 網狀網路是屬於反應式路由,也就是說需要傳
送時才會去尋找路徑,因此可能會因為尋找時
的通訊品質而改變路由路徑。
• 無線感測網路在使用前必須進行規劃與佈建,
但是實際佈建的結果可能跟我們原先規劃預測
的不同,可能導致網路不通,或是放置了多餘
不會使用到的路由器等,而增加成本。
6
National Chi Nan University
研究動機 Cont.
• 當網路出現問題的時候我們可能會需要一
些工具像是封包分析器、ZigBee網路管理工
具,幫我們找出問題發生的原因和位置。
• 但是市面上的ZigBee管理工具大部分都只能
展示出節點間的樹狀關係,而無法顯示出
實際資料的傳輸路徑
• 在佈建時往往沒有足夠的參考資料來找出
問題點,而必須使用猜測的
7
National Chi Nan University
研究動機 Cont.
• 如右圖,我們知道節點E是加入
在R2底下但是不知道時實際資
料傳送的情形,有可能是直接
送回協調器或是透過R2轉送。
• 因此我們認為有必要開發一套
路由追蹤顯示的工具
C:協調者
R:路由器
E:終端裝置
C
R1
R2
?
E
8
National Chi Nan University
現有技術
• ZigBee Operator [6]
• 提供圖形介面快速的設定
或讀取ZigBee的參數
• 可以使用文字、10進位、
16進位的方式顯示收到和
傳送的資料
• 可以使用API或AT模式來控
制ZigBee並且解析收到的資
料
使用圖形方式表示網路拓樸和相關資料
• 可以顯示網路拓樸但無法
得知路由拓樸(實際傳輸路
徑)
9
National Chi Nan University
現有技術 Cont.
• Sensor Network Analyzer (SNA) [7]
• 可以分析封包,錄製接收過程
並重播,還過濾不想看的封包
• 圖形化的方式顯示網路拓樸,
路由拓樸和端點的綁定關係
• 可以針對每個節點進行效能量
測(收到封包數、遺失封包數、
延遲時間)
• 通過無線的方式設定節點,改
變加入的網路等。
• 但是SNA已於2010年3月底停止
販售
10
National Chi Nan University
系統架構
C:協調者
R:路由器
E:終端裝置
E
R
UART
E
C
廣播
群播
Linux 主機
E
R
E
R
E
E
11
National Chi Nan University
系統架構 Cont.
Linux 主機
接收分析與
儲存
通訊介面(UART)
傳送控制與
查詢
協調者
ZigBee 應用層
拓樸結構表
IEEE位址和
短位址對應表
路由結構表
ZigBee 網路層
IEEE 802.15.4
• 圖左為Linux 系統的電腦透過 UART 連接圖右的ZigBee協調者
• 本系統包含四個模組,分別位於 Linux 主機、 ZigBee 協調者和ZigBee節點上。
– 接收分析與儲存模組:位於Linux系統上,負責接收ZigBee協調者透過UART傳來的
資料並進行分析儲存到拓樸結構表、路由結構表、IEEE位址和短位址對應表中。
– 傳送控制與查詢模組:位於Linux系統上,負責顯示程式介面,當使用者要求取得
資料時透過UART通知ZigBee協調者發送資料請求封包,可以查詢儲存在上述三個資
料表中的資料,並且有系統的顯示出來。
12
National Chi Nan University
系統架構 Cont.
通訊介面(UART)
協調者
Linux主機
ZigBee節點
ZigBee 應用層
ZigBee 應用層
ZigBee 網路層
ZigBee 網路層
IEEE 802.15.4
IEEE 802.15.4
– ZigBee協調者模組:位於ZigBee協調者的應用層,用來接收Linux主機透過
UART傳來的命令,並且轉成ZigBee請求發送到ZigBee網路中,當收到
ZigBee節點回傳的資料時轉送給電腦。
– ZigBee節點模組:位於ZigBee協調者的應用層,接收ZigBee協調者傳來的
請求,將所查詢的資料回傳給ZigBee協調者,或是轉送請求。
13
National Chi Nan University
系統架構 Cont.
• 802.15.4 [5]
– 實體層 – 最大傳送速率250Kbytes、最大訊
框 127Bytes
– 媒體存取控制層 – 64Bits IEEE位址、硬體
分為全功能裝置(FFD)和減功能裝置(RFD)
• ZigBee
– 裝置角色
• 協調者、路由器、終端節點
– 網路層
• 短位址分配、傳播機制、路由機制
– 應用層
• 應用程式框架(AF)、應用程式支援子層
(APS)、ZigBee 裝置物件(ZDO)
14
National Chi Nan University
系統架構 Cont.
• 傳播機制
– 單播(Unicast)
• 點對點之間的傳送
– 廣播(Broadcast)
• 點對全部節點的傳送
– 組播(Groupcast)
• 網路層使用廣播的方式,所以每個節點都會收到,
應用層可以設定裝置是否有加入群組,如果沒有則
不會處理。
15
National Chi Nan University
系統架構 Cont.
• 傳播機制
– 群播(Multicast)
• 使用半徑(radius)和是否為成員節點來限制傳播範圍
的一種機制,可以減少網路中資料轉發的次數。
非成員模式(Nonmember mode)
→ 成員模式(Member mode)
2
2
2
傳送至群組1
(非成員模式)
群組1中的成員
1
0
2
1
2
最大非成員半徑=2
非群組1中的成員
16
2
1
0
↑圈圈中的數值
為非成員半徑
(Nonmember
Radius)
National Chi Nan University
系統架構 Cont.
• ZigBee
– 硬體:TI CC2530 ZigBee Development Kit
• Flash size:256KB
• RAM size:8KB
• TX Power:4.5dBm
– 開發軟體:IAR Embedded Workbench for 8051
• Linux主機(筆記型電腦)
– 硬體
• CPU:Intel® Celeron® Processor U3400 (2M Cache, 1.06 GHz)
• RAM:4G
– 軟體
• OS:Ubuntu 12.04
• 開發軟體:Eclipse IDE for C/C++ Developers
17
National Chi Nan University
實作方法
• 網路拓樸掃描
– 使用一個廣播請求封包就可以取得每個裝置的IEEE位址
與短位址的對應關係和裝置間的連結關係。
• 路由拓樸掃描
– 使用一個群播 (Multicast)請求封包就可以取得所有路由
器的路由表,並得到整個網路的路由拓樸。
• 路由拓樸追蹤
– 使用類似Source Route方式取得特定節點之間的路由路
徑,達到類似TCP/IP網路中traceroute/tracert工具的效
果。
18
National Chi Nan University
實作方法
C:協調者
R:路由器
E:終端裝置
單播
廣播
R1
E
R1
R2
R2
C
E
網路拓樸掃描
19
National Chi Nan University
實作方法 Cont.
C:協調者
R:路由器
E:終端裝置
單播
群播
R1
E
R1
R2
R2
C
路由拓樸掃描
20
National Chi Nan University
實作方法 Cont.
R1
C:協調者
R:路由器
E:終端裝置
單播
C -> E
E
R3
1.
Header C
R2
C
3.
2.
Header C E
Dst
Next-Hop
C
R2
Header C E R3
4. Header C E R3 R2
反向路由拓樸追蹤
21
National Chi Nan University
實作方法 Cont.
R1
C:協調者
R:路由器
E:終端裝置
Dst
Next-Hop
E
R2
單播
E
4.
E -> C
R3
Header E C R2 R3
R2
C
1. Header E C
3.
Header E C R2 R3
2. Header E C R2
Dst
Next-Hop
E
R3
正向路由拓樸追蹤
22
National Chi Nan University
達到的效果
R2
C:協調者
R:路由器
E:終端裝置
E1
E2
R3
C
R1
• 這張圖表示了路由拓樸掃描的效果。
• 我們可以發現R1沒有替任何節點轉發資料,所以R1很有可能是多餘的路由
器,不過這還需要間隔一段時間後再掃描才能知道是不是真的都沒有使用。
• 如果之後發現R3有透過R1轉送這可能表示R3的訊號有時可以傳到C有時候
不行必須透過R1轉送,所以並不是很穩定 我們可以透過調整天線角度或是
發射的功率來改善,並透過路由拓樸追蹤來進行小範圍的長期追蹤 來驗證
之前的調整是否有改善。
23
National Chi Nan University
達到的效果 Cont.
R2
C:協調者
R:路由器
E:終端裝置
E1
E2
R3
C
R1
• 這張圖表示了路由拓樸追蹤的效果。
• 由於路由拓樸掃描會把全部的路由找出來有時我們測試時只需要注意某一
點到另一點的特定路由即可,不需要所有的路由資訊,這時可以使用路由
拓樸追蹤,這樣可以減少對整個網路運作的干擾。
• 以這張圖來說使用的是反向路由拓樸追蹤,由節點E2到協調者之間。
• 也可以用來長期監測之前我們說可能會變動的路由,用以驗證相關的調整
是否有效。
24
National Chi Nan University
結論
• 現有的ZigBee管理工具無法提供實際的資料
傳輸路徑。
• 使用者透過本工具可以快速方便的取得網
路拓樸和路由拓樸。
• 網路拓樸和路由拓樸可以幫助使用者更容
易的分析並且找到網路可能出問題的地方。
25
National Chi Nan University
結論 Cont.
• 使用群播的方式執行路由拓樸掃描,只需
要使用一個封包即可達成與多個路由節點
的請求,可以減少查詢時占用的頻寬。
• 當只需要取得與特定節點之間的路由路徑
時可以使用反向或正向路由拓樸追蹤來取
得,而不會對其他節點造成干擾。
26
National Chi Nan University
未來展望
• 本系統現階段Linux端的程式是在個人電腦
上執行,未來希望能夠移植到嵌入式系統
上並且配合QT撰寫的圖形介面和觸控式螢
幕達到更方便與直覺的操作
• 能夠在收到新節點加入網路的訊號時動態
更新網路拓樸和IEEE對應表,而不需要再次
傳送群播的請求讓所有節點回覆資料,可
以減少對網路的干擾。
27
National Chi Nan University
參考資料
[1]
[2]
[3]
[4]
[5]
[6]
[7]
雲漢,「善用ZigBee雙向溝通特性 智慧電網加速普及」,新通訊元件
雜誌,2010,第108期,25-31
ZigBee Alliance, "ZigBee Specifications", ZigBee Document 053474r17,
January 2008.
Jianpo Li, Xuning Zhu, Ning Tang, Jisheng Sui, "Study on ZigBee Network
Architecture and Routing Algorithm", International Conference on Signal
Processing Systems, July 2010.
jing sun, Zhongxiao Wang, hong wang, Xiaofen Zhang, "Research on Routing
Protocols Based on ZigBee Network", Intelligent Information Hiding and
Multimedia Signal Processing, November 2007.
Sinem Coleri Ergen, "ZigBee/IEEE 802.15.4 Summary", September 10, 2004.
Daintree Networks, "Sensor Network Analyzer Quick Start Guide", January
2009.
Serial Port Tool, "ZigBee operator quick start", 2010.
[http://www.zigbeeoperator.com/download/ZigBeeOperatorQuickStart.pdf]
28
National Chi Nan University