第一章 簡介
1.2 論文架構
本論文使用Contiki OS作為6LoWPAN環境之開發平台,透過IPv6 UDP的封包 傳輸方式來進行效能分析,並使用分析之結果提出以接收訊號強度為RPL路由建 構方式,以及在有損網路中進行IPv6 MTU之動態調變機制。
本論文的架構如下:
第二章將針對相關研究做一分析與探討,將討論6LoWPAN中的路由機制,以 及RPL路由中相關路由判斷機制之研究,並分析與歸納相關的文獻以及技術方 法。
第三章將根據在理想環境中,以Contiki OS為基礎進行6LoWPAN的傳輸效能 分析實驗,評估IPv6封包長度對於6LWPAN傳輸效能之影響,透過sniffer分析IPv6 封包於IEEE 802.15.4下的傳輸方式,並在理想環境中透過傳送IPv6 UDP封包,以
single hop的end-to-end傳送方式,評估透過Contiki OS所建構之6LoWPAN環境下 的Throughput與Goodput。
第四章節為在非理想環境下評估評接收訊號強度對於6LWPAN傳輸效能之影 響,首先將會分析在不同接收訊號強度下的封包遺失率,計算出在非理想通到環 境下之Throughput與Goodput,分析Route over的封包傳送方式在多跳環境下的傳 輸效能。
在論文第五章中,將以第三、四章節之分析結果,提出於RPL中以接收訊號
4
強度為基礎的路由建構方式,並針對於不同接收訊號下之效能給予等級之分,且 當路由建置完成後,針對該傳輸路徑做IPv6 MTU之動態調變,來提升IPv6資料量 之利用率,並於最後對本研究提出之方法做模擬之分析研究。
第六章節則是本論文之結論以及未來之研究方向。
5
第二章
文獻探討
2.1 無線感測技術介紹
本研究將以 Zigbee 為基礎之無線感測網路作為 6LoWPAN 無線感測網路平台 的主要通訊技術,而 Zigbee 的 Data-link Layer 則是採用 IEEE 802.15.4[1]作為技 術核心。IEEE 802.15.4 標準有可細分為實體層(PHY Layer)和媒體存取控制層
(MAC Layer),並作為多種低耗電之網路通訊技術的底層協定之基礎,特別是在 無線感測網路的架構上。ZigBee 是一種低傳速率、短距離的無線網路協定,建立 在 IEEE 802.15.4 標準的實體層(PHY)和媒體存取控制層(MAC)之上。Zigbee 不僅 支援多種網路拓樸如星型網路(Star Network)、點對點(Peer to Peer Network)、叢集 網路(Cluster Network)和網狀網路(Mesh Network)等,同時也提供網路層(Network Layer)、應用層(Application Layer)和安全服務提供層(Security Layer)。近年來 Zigbee 也大量被應用於工業監控、儀表控制、商業大樓自動化控制、家庭日常生 活監控和消費性電子商品之上。
2.2 6LoWPAN
隨著感測技術及無線感測網路的蓬勃發展,物聯網(Internet Of Things:IOT) 已成為近年來熱門之議題,隨著物聯網之發展,萬物接連網的概念越來越普及,
6
相關之應用也不斷被提出,然而早期無線感測網路缺乏與網際網路相連的通訊協 定標準,因此為了讓感測網路與網際網路互通,IETF 訂定了 6LoWPAN (IPv6 over
Low power Wireless Personal Area Network)[2]這個標準,由於感測節點須具備有與 網路溝通之能力,但佈建一個大型之感測網路動則上百個或上千個節點,對於現 行的 IPv4 位址已不敷使用,在未來若需要更多的感測節點,且每個節點將分配 一組 IP 位址,IPv4 一定不可行,因此使用 IPv6 作為定址的方式,可滿足無線感 測節點在定址與聯網之功能,以 IPv6 通訊協定為基礎,並採用 IEEE 802.15.4 具 低速率、低功耗的網路裝置與網際網路溝通之標準,主要目的是使得 IPv6 之封 包可以在 IEEE 802.15.4 標準下傳輸,6LoWPAN 以 IEEE 802.15.4 標準作為資料 之傳輸,其 PHY 層與 MAC 層皆採用 IEEE802.15.4 之標準,如表 2-1 所示,由於
IPv6 所定義之最大傳輸單位(Maximum Transmission Unit, MTU)為 1280 bytes,遠 大於 IEEE 802.15.4 data link 層所能傳輸之最大傳輸單位 128 bytes,為了解決此問 題,IETF 於 Network 層與 IEEE 802.15.4 MAC 層中提出了 Adaptation 層,Adaptation 層提供了 IPv6 封包的表頭壓縮(header compression)、分割(fragmentation)以及重組 (reassembly)的功能,分別減少了傳輸的負載、將 IPv6 分割成符合底層 IEEE 802.15.4 之傳輸封包,以及將 IEEE 802.15.4 之封包重組回 IPv6 之封包與網路連 結。訂立 6LoWPAN 協定的用意,主要是提供無線感測器網路中的每個無線感測 節點(Sensor Node)都能在網際網路擁有一個自屬的獨立 IP 位址,使網際網路的各
7
種應用能直接應用於無線感測器網路上。在 6LoWPAN 中路由的方式分為
Route-over 與 Mesh-under 兩種[3][4]。
表 2-1、6LoWPAN Protocal Stack Application Layer
Transport Layer (TCP / UDP) Network Layer (IPv6) Adaptation Layer (6LoWPAN)
IEEE 802.15.4 MAC Layer IEEE 802.15.4 PHY Layer Route-over:
Route-over 為 Network 層中的路由機制,使用 IP 標準進行資料傳輸,當兩的 6LoWPAN 節點須透過 IPv6 進行網路溝通時,則需使用 Route-over 之機制,來源 節點透過 Adaptation 層將 IPv6 封包切割成數個符合 IEEE 802.15.4 封包大小的片 段,藉由 Routing Table 之資訊將片段封包傳至下個節點,下個節點則將封包送至 Adaptation 層進行重組,若 Adaptation 層可將片段重組成 IPv6 封包,則藉由 Network 層進行封包傳輸,此為 hop-by-hop 的封包分割與重組,當有任何一個片 段封包因為遺失而造成重組失敗時,則向上一個節點要求整個 IPv6 封包重傳,
直到 IPv6 封包片段完整進行下一跳之傳送,此種方法雖造成傳輸時間之延遲,
但可確保封包完整傳輸至目的地。
Mesh-under:
Mesh-under 屬於 Adaptation 層中的路由機制,主要用於 6LoWPAN 內部節點
8
之封包傳送,並無使用任何到網路層之 IP 路由,從 Network 層送來的封包將會 被切割成符合 IEEE 802.15.4 的封包大小之片段封包,此片段封包將可透過不同 條路徑進行傳送,中間的節點只進行轉發之動作,片段封包將在目的地節點進行 封包之重組,封包被送往 Adaptation 層進行重組,若有片段封包在傳輸過程中遺 失,目的地節點將會要求來源端節點重傳該完整封包,重複此動作直到片段封包 可重組成功,此方法雖可降低封包傳送之延遲,但若有任一片段封包遺失,可能 將導致更大時間之延遲,因此研究將使用 Route-over 路由機制作為 6LoWPAN 的 主要路由機制。
2.3 6LoWPAN 封包格式
為了使 IPv6 應用於 IEEE 802.15.4 的底層協定,其中的挑戰即為 IPv6 要求支 援 1280 bytes 的 MTU,如圖 2-1 Full UDP/IPv6 (64-bit addressing)所示,在 IEEE 802.15.4 標準的規範中,MAC 層的 MTU 只有 127 bytes,扣除 25 bytes 的 fram payload(MAC header 21 bytes + FCS 4 bytes),MAC 層所能附載的 payload 長度僅 剩餘 102 bytes,若再扣除 IPv6 表頭長度 40 bytes 以及 8 bytes 的 UDP 表頭,實 際所能運用的 payload 將僅有 54 bytes。因此為了能夠在 IEEE 802.15.4 上更有效 率的傳輸 IPv6 封包,表頭壓縮是一個很好的解決方案,為了對 IPv6 表頭進行壓 縮 , IETF 訂 定 了 兩 種 IPv6 表 頭 壓 縮 方 法 LOWPAN_HC1 (RFC 4944) 與 LOWPAN_IPHC(draft-ietf-6LowPan-hc-06)[5],如表 2-2 與表 2-3,最常見的表頭
9
壓縮方式,如圖 2-2 中 Minimal UDP/6LoWPAN (16-bit addressing)所示,其將原 本 40 bytes 的 IPv6 表頭壓縮成 2 bytes,UDP 壓縮為 4 bytes,此外使用 16-bit 的
short address,亦即減少了 MAC 表頭長度,其 MAC 所能附載的 payload 長度高 達 108 bytes,但是 HC1 的壓縮法僅適用於本地鏈路位址(Link-local address)的網 路,即為 FE80 開頭的 IPv6 位址(FE80::/10),因此無法用於 LoWPAN 網路與 網際網路溝通之應用。所以本研究使用 LOWPAN_IPHC 的壓縮方法可有效壓縮 Link-local 與 global 位址。
圖 2-1、Full UDP/IPv6 (64-bit addressing)
圖 2-2、Minimal UDP/6LoWPAN (16-bit addressing)
10
表 2-2、IPv6 Header Compression inLOWPAN_HC1
IPv6 Field
Original
Compression manner
IP Version 4 0 The value is 6 for all packets.
Traffic Class 8 0 The value is assumed to be zero.
Flow Label 20 0 The value is assumed to be zero.
Payload Length 16 0 Can be inferred from layer 2 or datagram size of the fragmented packet.
Next Header 8 2 It has three possibilities (UDP/TCP/ICMP).
Hop Limit 8 8 Uncompressed.
Source Address
& Destination Address
128
0
They are link local address; the prefixes can be inferred from link local prefix while the interface identifier can be inferred from layer 2 address.
128 Uncompressed link local or global address.
表 2-3、IPv6 Header Compression in LOWPAN_IPHC
IPv6 Field
Original
Compression manner
IP Version 4 0 The value is 6 for all packets.
Traffic Class&
Flow Label 28 0,1,3,4 These fields can be completely or partially compressed.
Payload Length 16 0 Can be inferred from layer 2 or datagram size of the fragmented packet.
Next Header 8 0,8 This field can be compressed based on predefined values.
Hop Limit 8 0 This field can be compressed based on predefined values.
11
Source Address
& Destination Address
128
0
They are link local address; the prefixes can be inferred from link local prefix while the interface identifier can be inferred from layer 2 address.
16,64 Partially compressed link local or global address.
128 Uncompressed link local or global address.
2.4 ATmega128RFA1 無線微處理器
ATmega128RFA1[6]為 Atmel 在 2010 年所推出的低功耗 CMOS 8 位元無線微 處理器(MCU),其中採用 AVR 增強性 RISC 架構與 2.4GHz ISM 頻段的無線收發 器,其輸送量最高可達 1 MIPS per MHz,因此可大幅提升無線資料傳輸速率從原 250 kb/s 至 2 Mb/s,並有高接收靈敏度(-100dBm)和高發送功率(達 3.5dBm)的特性。
ATmega128RFA1 微處理器主要能應用於 ZigBee / IEEE 802.15.4-2006/2003 協定的 2.4GHz ISM[7]頻段、RF4CE[8]、SP100[9]、WirelessHAR[10]與 IPv6/6LoWPAN[11]
等協定下。圖 2-3 是以 ATmega128RFA1 晶片所設計之無線微處理控制器平台之 電路參考設計圖,因 ATmega128RFA1 為一新一代的無線整合晶片,因此電路中 周邊主、被動訊號處理元件較少,具開模成本低、低耗電量等優點,相當適合本 計畫中用於開發 IEEE 802.15.4 低耗電的無線傳輸設備與相容 6LowPAN 新一代物 聯網通訊協定設備,且與目前絕大部分之 Zigbee 設備,如 CC2530、Xbee Serial 2 等相容。
12
圖 2-3、ATmega128RFA1 擴展特性應用之電路設計圖 [6]
2.5 6LoWPAN 感測節點開發平台-Zigduino
Zigduino 設備為以 ATmega128RFA1 微處理機所開發並相容於 Arduino[12]架 構之嵌入式開發平台,因此其具有無線微處理控制器作為 IEEE 802.15.4 無線訊 號之傳送。Arduino 一個「開放式硬體(open source)」架構,它提供了一個基於
C/C++的程式語言控制的硬體架構,並且提供相容於 Windows, Mac OS X 和 Linux 等跨平台環境的系統開發工具。移植 Arduino 開發架構至 ATmega128RFA1 微處 理機上,除了可作為獨立運作的微電腦訊號分析與控制器之外,它也能透過數位
13
與類比處理單元與許多可程式化模組及感測元件連結並提供 Zigbee/IEEE802.15.4 通訊收器與物聯網系統相連結。
2.6 非理想通道介紹
隨著科技的進步發展,無線網路之相關技術已廣泛的應用在人類的生活中。
像是無線網路中常見的 Wi-fi 或是無線行動通訊的 2G、3G,在如此多的無線技術 共存的環境中,稱之為異質無線網路。而本研究使用的 IEEE 802.15.4 通訊技術 則是採用 868MHz、915MHz 以及 2.4GHZ 頻段的 DSSS 無線訊號。2.4GHz 頻帶 正是目前普遍使用的頻帶,其正是在不用額外申請的 ISM (Industrial, Scientific and Medical) 無 線 頻 段 。 而 且 在 目 前 廣 泛 使 用 無 線 通 訊 技 術 環 境 中 , 如 何 使 得 6LoWPAN 之環境中提升效能是非常的重要的,在一個異質無線網路共存的環境 與原本單一無線個人區域網路中,運作上將會有極大之差別,尤其無線感測網路 的相關應用日漸廣泛,如何確保傳輸的可靠性與傳輸效率,正是本研究重要的目 的。
2.7 RPL 中相關路由決策機制介紹
2.7.1 Energy- Balance
文獻[13]中透過 Energy-Balance 的方式來建構無線感測網路中的路由,為了 達到路由節點能夠延長壽命,其需要最大限度地減少能源消耗,而且還需平衡無