第二章 文獻探討
2.2 MAC 層的相關研究
2.2.2 實際佈建與分析
在文獻[22][23][24][25]中作者便以實驗證明,IEEE 802.15.4 在有 IEEE 802.11 的同 頻干擾下,封包將會產生較高的封包錯誤機率。Wei Yuan [22]主要分析封包所造 成碰撞的原因而提出避免異質同頻干擾之機制,並在文獻[9]所提到 R2 環境中分 析封包成功率並調整 CCA 與電路轉換時間而提升封包成功率。而 Chieh-Jan Mike Liang [23]則將 IEEE 802.15.4 節點放置於 IEEE 802.11 的環境中,其結果顯示 IEEE 802.15.4 會有大量的封包遺失,作者並自行調整 MAC 表頭的長度,並配合 Hamming code 與 Reed-Solomon Code ( RS Code )以修正封包之錯誤,將提高在 IEEE 802.11 環境下之 IEEE 802.15.4 封包傳輸成功率,依實驗結果顯示,透過 FEC(Forward Error Correction)進行封包修正,因修正後之效率不佳,因此本論文 將不考慮此一方法。而 Zhang, Xinyu 等人在文獻[24][25]中提出兩種類似方法,
首先作者在 IEEE 802.15.4 節點路徑傳輸之間多建置一個節點,此節點主要用於 偵測在傳輸範圍內是否有 IEEE 802.11 干擾源的存在。若有,將傳送忙碌訊息使 IEEE 802.11 感知其傳輸範圍內有 IEEE 802.15.4 節點正在傳輸;直到 IEEE 802.15.4 節點的封包傳送完為止。
2.3 異質無線網路相關研究結論
Yang Dong 等人[26]彙整了相關學者與研究單位亦投注相當心力於無線異質
網路共存相關議題的研究,由此可知相關研究議題之重要性。而在文獻[7]~[9]中
13
作者僅僅提出在模擬器中佈建出不同干擾之模型,卻無明確說明如何解決 IEEE
802.15.4 之傳輸機率。然而在文獻[10]~[17]皆是以無線感測網路在與 IEEE 802.11b 共存環境下,先使用通道偵測方法偵測通報是否淨空,若非淨空則切換至一個可 以有效傳輸的通道。而近來更廣泛使用之 IEEE 802.11g/n 技術之分析,尤其當 IEEE 802.11n 使用 40MHz 時,對於 IEEE 802.15.4 其干擾情況勢必將與 IEEE 802.11b/g 有明顯的不同。因此文獻中所提的通道品質評估機制,仍有相當大的改 善空間。在文獻[18]~[21]中作者皆先分析 MAC 層中封包會發生的碰撞情形,並 調整封包傳送距離與傳送方式以達到封包傳送成功機率。而文獻[22]~[25]則是利 用實際佈建情形下證明在異質無線共存網路相互間的碰撞問題,並修改封包格式 以及封包傳送距離;但文獻[22]~[25]皆必須工作於文獻[9]中所提到 R1 環境下。
綜觀上述相關研究文獻,雖已明確說明與驗證 IEEE 802.15.4 在 2.4GHz 異質 無線網路共存環境下,對於其傳輸效能、封包遺失等方面均有相當大的影響。因 此本論文將以無線感測網路為主體,分析 IEEE 802.15.4 在 IEEE 802.11 網路環境 中所遭受的問題,並且提出相關解決方法以提升 IEEE 802.15.4 的傳輸效率。
14
第三章
異質無線共存網路環境定義與探討
由圖 1-1 中,我們可以發現在 2.4GHz 頻段中因為 IEEE 802.11 與 IEEE 802.15.4 的頻段相互重疊,因此如沒有妥善安排 IEEE 802.11 與 IEEE 802.15.4 相互間的排 程機制,二者將會發生嚴重的干擾問題;因此在本章節我們將針對無線異質共存 網路的傳輸範圍與影響情形,給予初步的分析與定義,其此範圍定義與文獻[9]
相同,但其呈現方式將有所不同。並且針對 IEEE 802.11 與 IEEE 802.15.4 無線通 訊協定間,對 Markov chain 模型與 CSMA/CA 差異各別說明與分析。
3.1 IEEE 802.11 與 IEEE 802.15.4 共存環境定義
針對目前研究分析結果,我們將異質無線網路在 IEEE 802.11 與 IEEE 802.15.4 的傳輸範圍區分為三種不同區域,並各別探討,圖 3-1 表示 IEEE 802.11 與 IEEE 802.15.4 通訊協定相互間的傳輸範圍。其中 AP(Access Point)為 IEEE 802.11 節點、
Zigbee 為 IEEE 802.15.4 的節點。
ZigbeeA
ZigbeeB transmission range
ZigbeeC transmission range ZigbeeB ZigbeeC AP(Access Point)
AP transmission range Range1 Range2 Range3
IEEE 802.11 (Access Point) IEEE 802.15.4 (Zigbee) ZigbeeA transmission range
圖 3-1、IEEE 802.11 與 IEEE 802.15.4 共存環境示意
15
IEEE 802.11 與 IEEE 802.15.4 依相互間之傳輸範圍做區分:
Range1:IEEE 802.11 和 IEEE 802.15.4 互相可以聽到彼此正在傳輸。
Range2:IEEE 802.15.4 可以監聽到 IEEE 802.11 正在傳輸,但是 IEEE 802.11 感測不到 IEEE 802.15.4 正在傳輸。
Range3:由於距離較遠,IEEE 802.15.4 與 IEEE 802.11 相互間均無法接收彼 此之訊號。
3.1.1 Range1 之相互傳輸範圍
在此一範圍 IEEE 802.11 和 IEEE 802.15.4 互相可以監聽到彼此正在傳輸,圖 3-2 表示詳細的 Range1 傳輸範圍定義。在 Range1 的環境中,IEEE 802.11 和 IEEE 802.15.4 因距離較近,因此相互間可以知道彼此是否有封包正要傳送;當彼此有 封包要傳送時,若依賴各別協定的 CSMA/CA 機制將不足以避免此一範圍的干擾。
IEEE 802.11 (Wi-Fi Access Point) IEEE 802.15.4 (Zigbee) Range1
802.15.4 Transmission Range (Radius)
802.11 Transmission Range (Radius) 802.15.4 802.11
圖 3-2、Range1 之相互傳輸範圍示意圖
16
3.1.2 Range2 之相互傳輸範圍
如圖 3-3 所示,在此範圍中之定義 IEEE 802.15.4 將監聽到 IEEE 802.11 正在 傳輸,因為 IEEE 802.11 在傳輸功率、傳輸範圍皆都大於 IEEE 802.15.4,因此在 Range2 中,IEEE 802.15.4 是可以感知 IEEE 802.11 是否有封包正在傳輸;但因為 IEEE 802.15.4 的傳輸功率、傳輸範圍都比 IEEE 802.11 為小,所以在此範圍中,
IEEE 802.11 將感應不到 IEEE 802.15.4 是否有封包正在進行傳輸。
Range2
802.15.4 Transmission Range (Radius)
802.11 Transmission Range (Radius)
802.15.4 802.11
IEEE 802.11 (Wi-Fi Access Point) IEEE 802.15.4 (Zigbee)
圖 3-3、Range2 之相互傳輸範圍示意圖
17
3.1.3 Range3 之相互傳輸範圍
如圖 3-4 所示,基於 Range3 之相互傳輸範圍的定義,IEEE 802.15.4 與 IEEE
802.11 因相互間距離較遠,兩者的傳輸範圍皆無法覆蓋到彼此,所以兩者相互間 均無法感應到彼此之訊號傳輸。因此在此一範圍內 IEEE 802.15.4 與 IEEE 802.11 將不會產生相互間的同頻干擾。
Range3
802.15.4 Transmission Range (Radius)
802.11 Transmission Range (Radius)
802.15.4 802.11
IEEE 802.11 (Wi-Fi Access Point) IEEE 802.15.4 (Zigbee)
圖 3-4、Range3 之相互傳輸範圍示意圖
3.2 IEEE 802.15.4 與 IEEE 802.11 相關機制比較
在此章節中,我們將比較 IEEE 802.15.4 與 IEEE 802.11 之碰撞機制、
CSMA/CA 與 Markov chain 模型之差異。因此本研究將分析相關差異後並以 Markov chain 模型在異質網路中,說明同頻段干擾所造成之影響。
18
3.2.1 IEEE 802.15.4 碰撞機制與 CSMA/CA 分析
根據 IEEE 802.15.4 標準之定義,對於通道存取機制(CSMA/CA)可區分為
Beacon-enabled mode 與 Non beacon-enabled mode 二種類型。Beacon-enabled mode 採用了 slotted CSMA/CA 機制,在個人區域網路(Personal Area Network, PAN)中藉 由網路協調器(Coordinator)週期性地發送 Beacon 給所有的無線感測節點,為整個
PAN 作時間同步,對於有資料需傳送的節點而言,它們會向 Coordinator 提出要 求進行傳送請求,才開始執行 CSMA/CA 機制;若是為 Non beacon-enabled mode 則採用 unslotted CSMA/CA 機制,因為 PAN 中無網路協調器存在,故當節點欲傳 輸資料時,可以隨時加入競爭,而非同步的進行排程與管理。
由於 Non beacon-enabled mode 在單位時間內只能有一個節點進行傳輸,因此 為了避免多個節點同時存取通道而發送封包所造成的碰撞問題,IEEE 802.15.4 的
MAC 層採用了碰撞避免機制(CSMA/CA),此機制迫使想要傳輸封包的節點在 存取通道前,先自預設的 CW (Contention Window)中挑選一段隨機的延遲時間
(Backoff Period),當這段延遲時間結束,節點會針對通道執行 CCA 偵測,偵測後 判斷結果為 idle medium,節點才可開始傳輸封包;反之若 CCA 判定通道當前為
busy medium,那麼該節點被迫再次延遲 (Backoff),並且亦再次隨機挑選一次延 遲時間與執行 CCA,此步驟會不斷重複,直到節點成功存取通道或是達到 backoff 次數上限為止,後者代表該節點在此次競爭傳輸的結果為失敗。
19
圖 3-5 闡述了 CSMA/CA 演算法的步驟。標準的 CSMA/CA 運作流程如下,
首先 NB_15.4、BE_15.4 和 CW 設為初始值,在第一次的競爭中(第 0 次 backoff )
CW 的 size 大小是從[ 0, 2MinBE_15.4-1]個 backoff time units 中,隨機挑選一個時間 點,開始倒數等待一段時間,等到此段時間一結束,隨即對通道執行 CCA 偵測,
若偵測結果 idle medium,便可成功存取通道進行傳輸,但倘若偵測到通道已被其 它節點佔用,CCA 須回報狀態為 busy medium,NB_15.4 和 BE_15.4 加 1,並進 入下一次的 backoff stage,而此回的 CW 以將以 2 倍增加,也就是說有[ 0, 24-1]
種不同的延遲時間可挑選,若 BE_15.4 已達 BE_15.4max那麼指數便不再增加,CW 最大值為 25-1,後續若再次 backoff,CW 仍是從[0, 25-1]範圍中選取延遲時間點,
直到 NB_15.4=NB_15.4max執行 CCA 仍無法成功存取通道,意味著節點競爭傳輸 失敗並進入空閒狀態。
20
NB_15.4=0, BE_15.4=BE_15.4min
Delay for random (2BE_15.4-1) unit backoff periods
Perform sensing
Channel idle?
NB_15.4=NB_15.4+1, BE_15.4=min(BE_15.4
+1,BE_15.4max)
Success NB_15.4>NB_15.4max?
Failue
Y
Y
N
N
圖 3-5、IEEE 802.15.4 CSMA/CA algorithm
3.2.2 IEEE 802.11 碰撞機制與 CSMA/CA 分析
IEEE 802.11 的通道存取機制(CSMA/CA)基本原理與 IEEE 802.3[27]乙太網路 相似,其中 IEEE 802.3 MAC 層的存取方式為 CSMA/CD (Carrier Sense Multiple Access with Collision Detection),原理為利用偵測封包碰撞的方式來傳送訊息,當 封包要送到網路上時,發送端會將封包直接送出;如果當封包在網路上遇到碰撞 時,此封包則會被退回發送端。因此依據 IEEE 802.11 標準在 MAC 層的存取方 式為 CSMA/CA。當發送端要發送封包時,並不會立即傳送出去,而是先等待延
21
遲時間(IFS,Interval Frame Space),之後會確認通道是否忙碌,通道若是空閒則 就開始傳送封包。如果發送端若發現頻道忙碌的話,則會開始 Backoff,首先與 IEEE 802.15.4 一樣會從最小 CW 中挑選一段隨機的延遲時間(Backoff Period)開始 倒數,若發現頻道忙碌的話則會凍結延遲時間的倒數,直到確認頻道是空閒的再 繼續倒數,直到延遲時間一到,再進行接下來的運作。而發送端在發送出封包之 前,會先發出 RTS(Request To Send)的通知訊號,然而目的端收到 RTS 訊號 後必須要回應 CTS(Clear To Send)的訊號。當發送端收到 CTS 訊號後才把封包 傳送出去。而其他要傳送封包的節點,如果偵測到媒體中存有 RTS 或 CTS 訊號 時,則會因為處於延遲時間凍結的階段,因此不會在此時傳送資料。
圖 3-6 所呈現為 IEEE 802.11 的 CSMA/CA 演算法步驟。標準的 CSMA/CA 運 作流程如下,首先 NB_11、BE_11 與 CW 設為初始值,在第一次的競爭中(第 0 次 backoff ) CW 的 size 大小是從[ 0, 2MinBE_11-1]個 backoff time units 中,隨機挑選 一個時間點開始倒數,每倒數一個 backoff time unit 就會偵測通道是否忙碌,若 通道是空閒則可以傳送資料;若通道非空閒情況則會凍結在當前的 time unit,等 到通道再度被釋放,backoff 倒數延遲恢復運作,繼續接續的時間動作。當此次 backoff 時間倒數完畢通道仍然忙碌,則 CCA 須回報狀態為 busy medium,NB_11 和 BE_11 加 1,並進入下一次的 backoff stage,在此回的 CW 以 2 倍增加,也就 是說有[ 0, 24-1]種不同的延遲時間可挑選,若 BE_11 已達 BE_11max那麼指數便不 再增加,CW 最大值為 210-1,後續若再次 backoff,CW 仍是從[0, 210-1]範圍中選
22
取延遲時間點,直到 NB_11=NB_11max執行 CCA 仍無法成功存取通道,意味著 節點競爭傳輸失敗並進入空閒狀態。
NB_11=0, BE_11=BE_11min
Delay for random (2BE_11-1) unit backoff periods
Channel idle?
NB_11=NB_11+1,
BE_11=min(BE_11+1,BE_11max)
Success NB_11>NB_11max?
Failue
Y
Y N
N
Wait IFS
Channel idle?
N
Wait IFS
圖 3-6、IEEE 802.11 CSMA/CA algorithm
3.2.3 IEEE 802.15.4 與 IEEE 802.11 碰撞機制與 CSMA/CA 之差異分析
IEEE 802.11 與 IEEE 802.15.4 相同,皆是使用 CSMA/CA 機制避免碰撞情形 發生,在 IEEE 802.11 環境中當一個裝置欲存取通道傳輸資料時,首先也是需先 經歷一段 backoff 延遲時間,接著透過 CCA 偵測確定通道為空閒,才能傳送資料,
23
但由於 IEEE 802.11 無須考慮能源消耗問題,因此每個 backoff time unit 都會執行
但由於 IEEE 802.11 無須考慮能源消耗問題,因此每個 backoff time unit 都會執行