• 沒有找到結果。

第三章 在理想通道環境下透過 Contiki OS 評估 6LoWPAN 之效能

3.2 測試環境之架構

3.2.3 實驗環境架構

圖 3.1 為效能分析的系統架構圖,首先會先佈建 6LoWPAN 效能分析之環境,

感測節點之間可透過 IPv6 address 互相溝通,此時將讓 6LoWPAN 感測節點傳輸 IPv6 之 UDP 封包,紀錄 IPv6 之 UDP 封包傳輸時間即可知道其傳輸速率,控制 Payload size 會使得封包切割成不同大小之 Fragment 做傳送,透過無線封包擷取 器來監聽傳輸之封包,並分析 6LoWPAN 封包之內容,在時間的擷取上我們使用 arduino 作為本研究同步之外部時鐘,透過此外部時鐘可使時間達到同步,分析封 包傳輸需花費多少時間,並計算出 6LoWPAN 之傳輸效能。

23

圖 3-1、The Contiki 6LoWPAN test-bed in single hop

3.3 6LoWPAN 傳輸效能實驗分析結果

本論文利用 Contiki OS 建構 6LoWPAN 網路測試環境,利用 IPv6 之 UDP 封 包傳輸計算在無線感測網路下的端對端傳輸速率,且經由無線封包截取器(sniffer),

觀察 IPv6 UDP 封包大小與 Fragment 之分割數目來探討對於網路效能之影響,在 各測試節點的時間同步部分,本研究設計一組外部計時器來達到 6LoWPAN 感測 節點間的時間同步,作為紀錄封包收、發之時間紀錄,並透過 sniffer 分析在無線 感測網路中傳輸的封包,計算出 6LoWPAN 的傳輸效率,同時分析不同長度之 UDP 封包對於 6LoWPAN 傳輸效率之影響。

3.3.1 6LoWPAN 中使用 IPv6 的 UDP 封包傳輸

如表 3-1 所示,我們將分析不同大小 IPv6 MTU 之傳輸效率的差別,我們透 過 1、81、90、91、176、272、464、656、848、1040、與 1232 bytes 之 UDP Payload

24

分別進行測試,其分別代表著最小傳輸 UDP Payload size、單跳時不切割之最大

UDP Payload size、單跳時被切割的封包所能傳送之最小 UDP Payload size,單跳 時分別切割成 2、3、5、7、9、11、13 個 Fragment 之最大 UDP Payload size。透 過分析不同大小 IPv6 MTU,尋找出達到最高效率的傳輸方法,而使用每個

Fragments 之最大 UDP Payload size 可有效的使用各個 IEEE 802.15.4 封包之空間,

使其達到最高負載利用率,用以計算出 IPv6 MTU 之最高效率,在本研究使用之 無線感測器平台,其最大傳輸之 IPv6 資料量為 1232 bytes。

表 3-1、Fragments of IPv6 UDP packets in 6LoWPAN

IPv6 Packet Payload bytes The number of fragments in IPv6 MTU

1 1

25

輸之最大 MTU 為 90 bytes,此封包包含 Header 資訊共為 125 bytes。傳輸的封包 中各 Header 分別為:IEEE 802.15.4 MAC Header 為 21 bytes,IPv6 Header 則為 12 bytes,其中 IPv6 則是使用 6LoWPAN 壓縮過後的 Header 長度,因此能大幅減少 傳輸 Header 所造成的資源消耗,單跳傳輸下單一封包之 IPv6 MTU 最多只能到 90 bytes,最後加上 2bytes 之 FCS,即為 125bytes。

圖 3-2、The single 6LoWPAN packet

IPv6 UDP 封包在多 Fragments 之分析結果如圖 3-3 (a)所示,因為 IPv6 UDP 封 包較大之因素,使其切割為多組 Fragments 進行傳輸,為了使其於片段封包有較 大的使用率,除了第一個片段封包帶有 IPv6 表頭,其餘片段封包不具有 IPv6 表 頭,而為了使 IPv6 封包之片段封包能進行辨識,將在 MAC Payload 中加入 Fragment Header 以利辨識,從圖 3-3 (b)中可發現第一個 Fragment 多加了 4 Bytes 之 Fragment Header,而其餘之 Fragment 則只有 5 Bytes 之 Fragment Header,除了 第一個封包的 IPv6 資料量從 90 bytes 下降為 80 bytes,其於封包將擁有 96 bytes 的 IPv6 資料乘載量,從此封包之分析,除了第一個片段封包,其餘片段封包將 有更大之利用率,當 Fragments 數量越多時,將會有更好的傳輸效率,但若封包 利用率使用不佳,傳輸效率將不會比較好。

26

(a) The first 6LoWPAN fragment

(b) The second 6LoWPAN fragment 圖 3-3、6LoWPAN fragments Structure

3.3.3 不同大小 IPv6 MTU 之傳輸時間

傳輸延遲的量測主要為計算透過端對端之間的傳輸延遲時間,在此我們將個 別封包在空氣中傳遞的時間延遲、封包的組成與分割的延遲、排程的延遲、傳輸 的延遲,加總視為整體的傳輸延遲時間。然而,為了提升延遲時間的測量精確度,

測試時間的計量必須至少達到微秒等級,因此本研究將透過自行設計的外部同步 計時器,記錄封包傳輸以及封包接收的時間差,計算出封包傳輸所需要之時間,

以克服時間同步之問題,使端對端的設備達到時間同步,使封包傳輸效率之測量 結果更為準確。

根據圖 3-4 所示,我們可以發現傳輸的時間會隨著傳輸的 UDP Payload 越大 而增加,尤其當 Fragment 數量增加時,傳輸延遲時間將會有更明顯的增加,因為 當 Fragment 數量增加時,實際上傳輸之 IEEE 802.15.4 封包量將以倍數成長。對

27

於 90 bytes Payload 的 IPv6 封包來說,多了一個 byte 的資料量卻使得其實際傳輸 的資料量大為增加,為了傳輸多一個 byte 的資料量將使得在 IEEE 802.15.4 的封 包從一個變為兩個,且更增加了 Fragment 表頭,所以對於 91 bytes 的 IPv6 MTU 來說,其效能將因此而大幅降低。

圖 3-4、The transmission delay in 6LoWPAN in single hop transmission

3.3.4 在 6LoWPAN 中 IPv6 的 UDP 封包傳輸速率

Throughput 指的是封包可傳送之最大速率,而 Goodput 指的是實際可用之資 料位元的傳輸速率,在此我們主要是計算單位時間內所能傳輸之 IPv6 UDP

Payload 之傳輸速率[22]。本論文透過計算 6LoWPAN 的 Throughput 與 Goodput 分析不同長度的 IPv6 MTU 對於 6LoWPAN 傳輸速率的改變,由於 IPv6 的封包在

Transmission Times (micro seconds) one hop transmission

Payload size (bytes)

28

包傳輸,所以我們將測試不同大小的封包對於 6LoWPAN 效能之影響。

在封包的傳輸我們使用 Client/Server 主從架構式的 UDP 封包傳輸,用這種方 法可使得測量出的效能更加準確,在封包傳輸前記錄開始傳輸時間,在封包抵達 目的地後再記錄傳輸結束時間,透過 sniffer 所擷取到的封包來實際計算傳輸封包 數量與長度,經由實際傳送的封包數除以其時間差,即可計算出 6LoWPAN 的

Throughput。而在 Goodput 的計算則是將實際傳輸之 IPv6 資料量大小除以封包傳 輸之時間差所計算出來。

在圖 3-5 中,我們可以看到透過傳輸時間所計算出來的 Throughput,當 Payload 越大時將會有更好的 Throughput 表現,在一開始只有 1 bytes 的 Payload 時,其效 率是非常的低,這是因為實際傳輸的有效 Payload 只有 1 bytes,但其對應之 Header 將佔大部分的封包內容,所以計算出的效率較差。但在 UDP Payload 趨近於所能 傳輸之最大負載大小時,算出來的 Throughput 將會較佳,圖中我們也可以發現在

Payload size 為 91 bytes 時其效率就往下降了,90 bytes 的 payload size 為單一 IPv6 封包在 IEEE 802.15.4 下不切割封包所能承載之最大量,當多 1 個 byte 的資料量 時,將導致 IPv6 封包被切割,IEEE 802.15.4 封包從 1 個變為 2 個,且第二個片 段封包之使用量並沒有達到最大的利用率,所以其 Throughput 才會比 90 bytes 的 IPv6 資料量傳送來的低。

在圖 3-6 中,同樣可以明顯看出 IPv6 MTU 越大其效能將更為優異,而在 UDP

29

Payload size 為 91 bytes 時 Goodput 就明顯下降,其原因一樣是因第二組片段封包 並沒有完全填滿所導致,相同的在傳輸的 IPv6 UDP Payload 越大時,其計算出來 的 Goodput 相對的有比較優異的表現。

圖 3-5、The Throughput in 6LoWPAN in single hop transmission 0

30000 60000 90000 120000 150000 180000 210000 240000

1 90 91 176 272 464 656 848 1040 1232

Throughput (bps)

one hop transmission

Payload size (bytes)

30

圖 3-6、The Goodput in 6LoWPAN in single hop transmission

3.4 在理想通道環境下透過 Contiki OS 評估 6LoWPAN 之效能分

本章節的主要目的於利用 Contiki OS 實際建構 6LoWPAN 網路環境,實際利 用 IPv6 UDP 封包計算在無線感測網路下,IPv6 封包的端對端傳輸效率,且經由 無線封包截取器(sniffer),觀察 IPv6 MTU 大小與 Fragment 之分割數目來探討對 於網路效能之影響,並分析 6LoWPAN 所能傳輸之最大 IPv6 MTU 與 Fragment

one hop transmission

Payload size (bytes)

31

高的 Throughput 與 Goodput,在 IPv6 MTU 較小時,傳輸之效能會比較差,這是 因為在後續的片段封包中所能負載的資料量大小比第一個片段封包多。實際上

IP6 MTU 越大將會導致 IPv6 封包遺失率越大,由 1 個片段封包與 13 個片段封包 所組成的 IPv6 封包,將有不同的封包傳輸成功率,所以在下個章節將針對非理 想通道環境下透過 Contiki OS 評估 6LoWPAN 之效能,將遺失率考慮進去,將會 使我們的測試結果更佳的完整。

32

第四章

在非理想通道環境下透過 Contiki OS 評估 6LoWPAN 之效能

在第三章節已清楚地介紹在理想通道環境下透過 Contiki OS 評估 6LoWPAN 之效能,在本章節將以相同的測試平台,在非理想通道環境下透過 Contiki OS 評 估 6LoWPAN 之效能,並且將測試不同的 RSSI 環境,對於封包成功傳輸率之影 響,且將測試在多跳環境下 6LoWPAN 之傳輸效能。

4.1 非理想通道環境下之封包分析結果

2.4GHz 頻帶是一個被普遍使用的頻帶,因為此頻帶之頻率範圍為 2.400 ~ 2.4835 MHz ISM (Industrial, Scientific and Medical) 無線頻段,其中如 Wi-Fi、

Bluetooth、Zigbee 等技術均是使用於 2.4GHz 頻帶並有相當大的重疊的部分,所 以本研究考慮在具有同頻干擾的非理想通道之環境下,對 6LoWPAN 效能進行分 析。

4.1.1 RSSI with packet successful rate

本章節將環境之因素與 6LoWPAN 封包傳輸成功率進行分析,利用 Contiki OS 建構 6LoWPAN 網路測試環境,透過計算 IPv6 UDP 封包在無線感測網路下的端 對端傳輸機率,透過統計端與端之間之 IPv6 UDP 封包實際接收的數量,計算出 不同無線訊號品質環境下之 IPv6 封包成功接收率(IPv6 packet sucessful rate),透 過控制傳送端與接收端間之傳輸距離來改變接收端之封包接收訊號強度值(RSSI),

33

經由分析不同 RSSI 環境下之 IPv6 packet sucessful rate,將有助於最佳化

6LoWPAN 在非理想通道環境下之效能。本研究設計一個外部時鐘來達到各設備 間的時間同步,用於精確紀錄封包收、發之時間差距,並透過 sniffer 分析在無線 感測網路中傳輸的封包,觀察 UDP 封包大小與 Fragment 之分割數目來探討對於 網路效能之影響,精確計算出 6LoWPAN 的傳輸效率,同時分析不同長度之 UDP 封包對於 6LoWPAN 傳輸效率之影響。

圖 4-1 為使用 1,000 筆 IPv6 UDP 封包傳輸下記錄統計其封包遺失率(packet loss rate),透過 end-to-end 的 IPV6 UDP 封包傳輸,統計傳送端傳輸 1,000 筆 IPv6 UDP 封包後,以接收端實際接收到的 IPv6 UDP 封包的數量來計算封包遺失率。

另外,透過改變傳送端與接收端間之傳輸距離的 RSSI 值以及傳送不同大小的 IPv6

UDP 封包,可了解 IPv6 封包長度對於 packet successful rate 之影響。從圖 4-1 中 可看到當 RSSI 值越來越差時,其 packet loss rate 將會升高,當 RSSI 為 -91dBm 時,packet loss rate 將會大幅提升,且當 RSSI = -80dBm 的環境下,傳輸 1,000 筆 IPv6 UDP 封包其 packet loss rate 均為 0,因此我們將以 RSSI = -80dBm 至 RSSI = -91dBm 作為本實驗的訊號強度的實驗範圍。除了紀錄 RSSI 變化外,本研究也利 用不同長度的 IPv6 UDP packet 實驗在不同 RSSI 環境下對於 packet loss rate 之影 響。從圖 4-1 可以發現,當 IPv6 UDP packet 越長時,代表此一 IPv6 UDP 封包將

UDP 封包,可了解 IPv6 封包長度對於 packet successful rate 之影響。從圖 4-1 中 可看到當 RSSI 值越來越差時,其 packet loss rate 將會升高,當 RSSI 為 -91dBm 時,packet loss rate 將會大幅提升,且當 RSSI = -80dBm 的環境下,傳輸 1,000 筆 IPv6 UDP 封包其 packet loss rate 均為 0,因此我們將以 RSSI = -80dBm 至 RSSI = -91dBm 作為本實驗的訊號強度的實驗範圍。除了紀錄 RSSI 變化外,本研究也利 用不同長度的 IPv6 UDP packet 實驗在不同 RSSI 環境下對於 packet loss rate 之影 響。從圖 4-1 可以發現,當 IPv6 UDP packet 越長時,代表此一 IPv6 UDP 封包將