以分群與管線化傳輸之低耗電與低延遲的無線感測網路媒
體存取控制協定設計
陳青文 逢甲大學 [email protected] 陳柏榮 逢甲大學 [email protected] 翁傳奇 逢甲大學 [email protected]摘要
在無線感測網路中,讓節點週期性休 眠與利用競爭的方式來決定通道使用權雖 然可以達到節省電量與有效的通道使用率, 但如此的設計將產生競爭時過多節點監聽 廣播封包的耗電以及休眠時所導致的傳輸 延遲問題。在這篇文章中,我們提出了 GMAC 協定,GMAC 利用節點分群競爭與 分群管線化傳輸的設計來減少監聽耗電與 傳輸延遲的問題。透過模擬的結果顯示, 當 GMAC 分群數量為 2 時,在能源效率 (mJ/byte) 與 Latency (sec)上,會比 SMAC 改善 50%左右。當 GMAC 分群數量為 4 時,雖然在 Latency 方面的表現只比 SMAC 好一點,但是 GMAC 卻可以比 SMAC 減 少大約 75%的能源消耗。 關鍵詞:感測網路、媒體存取控制、低耗 電、低延遲、分群一、簡介
無線感測網路[7] 主要運用佈署大量 感測節點 (Sensor Nodes) 到感測環境中, 感測節點會主動的將感測到的資訊利用無 線的傳輸方式傳送到蒐集資料節點 (Sink Node) 以達資料收集、分析、即時監測及 反應的運作。依據這樣的網路架構可應用 的範圍相當廣泛,包含了環境偵測、安全 監控、人員定位、軍事運用等領域。為了 符合大量佈建的需求,無線感測網路必須 具備低成本、低耗電、小體積、易佈建、 可程式化與可動態組成等特性,因此近年 來許多學者紛紛投入無線感測網路的研究, 目前的研究方向主要分成兩類,一種是感 測器的設計,包含了縮小感測節點的體積、 減少硬體的成本、減少硬體上的耗電等, 另一方面的研究為感測網路設計,這方面 則 著 重 於 網 路 協 定 的 設 計 , 如 : 繞 路 (Routing)協定、媒體存取控制 (Medium Access Control) 協定等。 由於無線感測網路為無固定基礎結構 (Infrastructure) 型的網路,此種類型的 網路在過去無線隨意網路 (Wireless Ad Hoc Network) 上已被廣泛的探討,但這些 無線隨意網路協定及演算法大多無法直接 應用到無線感測網路上。原因在於這兩種 類型的網路仍然存在以下的差異性: 1. 無線感測網路的感測節點密度高 (通常是無線隨意網路的數十倍 至數千倍)。 2. 感測節點容易故障。 3. 感測節點的能量、運算能力及記 憶體均較無線隨意網路上的節點 低。 由於以上的差異性,重新設計適合的 網路協定便是無線感測網路技術發展上的 一門研究領域。其中為了在無線媒介的網 路中達到可靠的資料傳送以及避免節點間 傳輸資料的碰撞問題,媒體存取控制的設 計佔了重要的角色,雖然 IEEE 802.11[17] 的分散協調功能 (DCF) 已被廣泛的使用 於無線網路當中,但在無線感測網路的環 境下,除了能讓節點間達到可靠的資料傳 送以及避免碰撞外,好的能源效率與低的 傳輸延遲時間在無線感測網路中亦是重要之設計考量: 1. 能源效率問題 在無線感測網路當中,每個感測節點 的電量是有限的,為了延長感測節點的存 活時間,有效的使用電量是一項重要的考 量因素。在[19] 中,將感測網路 MAC 可 能產成的額外耗電問題分成下面幾種情況: 第一種情況為碰撞 (Collision),當兩個以 上的節點同時傳送資料給同一個節點,造 成訊號互相干擾,導致節點接收資料錯誤 或是無法接收任何資料,使得發送節點必 須重新傳送資料所造成的額外耗電。第二 種為監聽封包 (Overhearing Packet),監聽 鄰近節點發送的封包所額外付出的耗電。 在無線網路的環境下,當某個節點在傳送 資料時,其傳輸範圍內的節點由於保持監 聽的狀態,因此會相對的接收到相同的封 包,但這些封包對於此監聽的節點來說是 非必要的,因此這些監聽節點將會額外付 出接收這些封包的耗電。第三種為傳輸控 制封包 (Control packet) :在無線網路環境 下為了減少碰撞與安排傳輸時間,常需要 額外的控制封包如 RTS、CTS 與 ACK 等, 這些資料以外的封包的多寡將是影響能源 效 率 的 因 素 之 一 。 另 一 種 為 節 點 閒 置 (Idle),當節點沒有傳送或接收任何資料時 仍然會產生的耗電,這種耗電稱為閒置 (Idle) 狀態的耗電,在一些研究測量結果 發現[9] [10] 節點閒置時所消耗的電量為 接收時的 50%以上,這對於大部分的時間 處於閒置狀態的感測節點來說,將造成嚴 重的耗電問題。 2. 傳輸延遲 (Latency) 問題 資料由感測節點傳送到基地台所耗費 的時間稱為傳輸延遲時間。在無線感測環 境中,每個節點感測到的資料必須傳回基 地台,但由於節點傳輸距離的限制,常常 無法直接與基地台通訊,因此必須經由其 他節點做多重跳躍 (Multiple-hops relay) 的資料傳送,在傳遞的過程中若因為媒體 存取控制設計的不良,則可能造成節點過 長的時間耗費在等待使用通道權,使得整 個傳輸延遲時間增加,這樣傳輸的延遲, 對於一些感測網路的應用是無法接受的, 如火災偵測系統、醫學應用等。 為了滿足以上的設計需求,近幾年來 已 有 學 者 提 出 了 方 法 [3-6][8][11-16][18-21],這些方法可分成排 程 式 ( Schedule-Based ) 與 競 爭 式 (Contention-Based)兩類如圖 1 所示。排 程 式 的 協 定 主 要 是 利 用 TDMA (Time Division Multiple Access) 的方式,將時間 分成許多時槽 (Time slots) 或是不同的時 間區段,並且分配給網路上的節點,而沒 有分配到的節點或是不屬於目前時槽的傳 送或接收節點,則可以進入休眠狀態來節 省電量,因此如何安排時槽或時間區段便 是排程式協定最重要的課題。雖然排程的 方式安排了不受干擾的時間區段給每個節 點,因此免去了 RTS/CTS 的控制封包來達 到較佳的能源效率,但要在無線感測網路 這種節點數目多且密集的環境下安排不會 互相干擾的的時間區段是件困難的工作, 再者若發生安排給節點的時間區段並沒有 需要資料的傳輸,則將浪費了這一區段時 間,若這種情況過多,頻寬使用率將會不 佳,相對的對其他節點來說,也帶來了等 待這些空閒時槽的時間浪費。由於排程式 的協定在感測網路環境下並不易實現,因 此便有另一種競爭式的協定,競爭式的協 定是沿用 802.11 的 DCF 方式,在每次要 傳送資料前,每個要傳輸的節點會有一段 競爭時間(Contention Window),以決定 此次的傳輸權,競爭的方式是讓每個節點 從 競 爭 時 間 隨 機 取 得 一 段 退 讓 時 間 (Backoff),那個節點的退讓時間先到,便 可以贏得通道的使用權,並且傳送 RTS 通 知接收端接收與告知鄰居節點來避免碰撞, 沒有贏得通道的節點便會進入一段時間的 休眠,在下次的競爭時間到來再去參與競 爭通道使用權。競爭方式的優點是方法簡 單不需要像排程的方式特別安排每個節點 的傳輸時間,有需要傳輸的節點才會去競 爭通道使用權,因此增加了頻寬的使用率。 但是,由於競爭式的協定中所有節點在同 一時間競爭,將會導致兩個問題產生:第一 個問題是由於每一次競爭的結果只有一對
節點會贏得通道使用權,其他競爭失敗以 及處於監聽狀態的節點將會浪費了一次競 爭時間以及監聽廣播封包的耗電,這對於 感測節點密集的感測網路環境來說,將造 成更多的耗電。另一個問題是由於休眠的 機制,沒競爭到通道使用權的感測節點, 傳輸資料必須等到休眠結束後所有節點恢 復監聽狀態才能再開始競爭,若同時有多 個節點需要傳輸資料,節點可能需要多次 競爭才能取得通道使用權,因此傳輸等待 時間將會隨著競爭次數的增加而增長。 S c h e d u le -B a se d C o n te n tio n -B a se d M A C P ro to c o l T R A M A D -M A C S y n c h ro n iz a tio n A sy n c h ro n iz a tio n M D M D D M D T -M A C S M A C U -M A C T E E M D S M A C 圖 1 現有無線感測網路 MAC 協定的分類 為了改善以上競爭式存取控制存在的 耗電問題以及傳輸延遲問題,我們提出了 Group-MAC (GMAC) 協定。GMAC 使用 分群的方法來減少競爭期間的節點數,使 得競爭期間監聽封包的節點數量降低,來 達到省電的效果。雖然分群讓節點減少監 聽其他群組的競爭封包,但是沒有監聽所 有節點競爭封包的結果,將可能導致屬於 不同群組的鄰居節點無法做資料的傳輸, 為了解決這個問題,我們讓每一個節點維 護一個分群表,分群表內容紀錄此節點所 有鄰居節點的群組資訊,因此當節點要傳 輸資料給不同群組的節點時,傳輸節點可 以透過查詢分群表,來適時調整自己的群 組,使得傳輸節點能夠在接收節點所屬群 組的競爭期間發送競爭封包。 另一方面,雖然使用分群的方法可以 讓同一個群內的節點競爭變少,使得傳輸 等待時間縮短,但由於感測節點傳輸距離 的限制,節點傳送資料到基地台經常需利 用多重跳躍 (multiple-hops relay) 的方式 透過其他節點轉傳,當使用分群方法時在 轉傳的過程中可能會發生路徑上的節點所 屬之群組不連續而造成的傳輸延遲。因此 我們提出了管線化傳輸的方法,方法是讓 節點在傳遞第一個資料封包後,調整傳遞 路徑上節點的群組,讓路徑上點與點之間 形成連續的群組,使得之後傳遞的封包可 以管線化的傳輸,來減少傳輸延遲。 在本篇論文的第二部分我們將敘述一 些針對感測網路所設計的媒體存取控制協 定,以及它們所存在的問題,第三部分將 詳述我們所提出的方法,第四部分將我們 的方法做模擬與分析,最後一部份做出本 篇的結論。
二、相關研究
在這一節,我們將介紹無線感測網路 的省電 MAC 設計與低傳輸延遲的相關研 究。在省電 MAC 設計上,Sensor-MAC (SMAC)[18][19]利用安排所有節點周期性 的競爭與休眠來改善感測節點閒置以及監 聽封包的耗電問題。如圖 2 所示,SMAC 讓 所 有 節 點 在 監 聽 期 間 (Listen Period) 保持監聽的狀態,如果有節點要傳輸資料 就可以在這段期間發出 RTS/CTS 控制封 包來競爭通道的使用權,在 Listen 期間結 束後,沒有競爭到通道使用權的節點或是 沒有要接收資料的節點便可以進入休眠狀 態來減少耗電。另外,贏得通道使用權的 節點則可以在其他節點進入休眠的時間進 行資料的傳輸。TEEM [3] 為了進一步地 改善感測節點 Listen 時間的耗電問題,其 方法主要是重新安排 Listen 期間的結構, 使得 Listen 期間 (Listen Period) 縮短來達 成省電的效果。雖然 SMAC 與 TEEM 改 善了節點監聽資料封包的耗電問題與縮短 監聽控制封包的耗電,但是仍然存在所有 節點需要監聽控制封包的耗電問題,也就 是說,所有的節點在競爭期間仍需要全部 醒著,而只有少數的節點可以競爭到通道 使用權,而產生電力浪費的問題。圖 2 S-MAC 週期性的休眠與 Frame 結構 另一方面, SMAC 使用 cluster 的方 式讓 cluster 內的節點可以保持同步,對於 同時位於兩個 cluster 的節點則必須在這兩 個 cluster 的 listen 時間保持監聽狀態以便 監聽在這兩個 cluster 內的節點所發出的控 制封包,如圖 3(a)與圖 3(b)所示。然而這 樣的設計可能存在隱藏節點的碰撞問題 (Hidden Terminal Problem),如圖 3(a)所示, 當屬於 cluster1 的節點 A 傳輸資料給邊界 節點 C 時,此時屬於 cluster2 的節點 B 也 發出 RTS 給節點 C,便造成了碰撞。 TFrame Listen Sleep Node A Node B Node C (b) 圖 3 S-MAC 區域性的同步 (a)區域性同步存在隱 藏節點問題 (b)邊界節點的監聽與休眠安排 為了讓感測節點可以週期性的休眠來 達到減少耗電的目的,DMD [4] 採用非同 步的競爭與休眠方式。DMD 首先讓每個 感測節點隨機取得自己的休眠時程,所以 可能造成節點間的休眠與競爭時間都是不 盡相同的,然而為了讓相鄰節點間能夠相 互 通 訊 , DMD 安 排 所 謂 的 中 介 節 點 (MD ;Mediation Device) 作為節點間通訊 的媒介,也就是說,當一個節點要傳資料 給另一個節點時,此節點會告訴他鄰近的 中介點,而中介點會在接收者醒來的時候 告訴接收者,誰要傳資料給他,並且要他 在什麼時間醒著。也就是說,雖然透過中 介節點來達成使用非同步的方式節點亦可 週期性的休眠,但這樣的方式,將造成傳 輸等待時間的增加與中介節點的耗電問題。 MDMD[14][15]改善 DMD 使用仲介點的 問題,讓每個節點都紀錄所有鄰居節點的 競爭與休眠的時程來取代使用仲介節點的 方式。當節點要傳送資料給鄰居節點時, 便可查詢自己的資料庫 (Database) 以便 等到其鄰居的活動時間時來進行資料的傳 輸。雖然 DMD 與 MDMD 使用非同步的 節點來改善耗電問題,但一旦鄰居的活動 時間有重疊時,仍可能發生隱藏終端碰撞 (Hidden Terminal) 的問題。 在低傳輸延遲的設計方面,由於無線 感測網路上節點的傳輸距離有限,為了將 感測資料傳送到基地台,節點經常需透過 其他節點做多重繞路 (multi-hop relay) 的 轉傳,才能將資訊傳回到基地台。所以, 在使用競爭方式來決定通道使用權的機制 下,路徑上的節點經過了多次的競爭以後 才可能將資料的轉傳到基地台 (Sink),如 此 的 情 況 將 會 造 成 資 料 傳 遞 延 遲 時 間 (Latency) 的增加。對此,SMAC 提出了 Adaptive Listening 機制,也就是說,當節 點監聽到鄰居節發出的控制封包時此鄰居 節點會在資料傳輸完成後額外再監聽一小 段時間,所以當此節點剛好為下一次跳躍 (Hop) 的目的節點時,則資料便可以立即 的傳送出去。在[4]中指出,這樣的設計, 會讓接收者的所有鄰居節點都花費一段額 外監聽時間來看自己是否為下一個接收者, 這將導致不是下一個接收者的鄰居節點浪 費了一段監聽時間的電量。另外,DSMAC [11] 與 U-MAC [12] 也提出了利用動態 的調整每個感測節點的工作週期 (Duty Cycle) 來 改 善 傳 輸 延 遲 時 間 的 問 題 。 DSMAC 與 U-MAC 考量到在無線感測網 路中,越靠近基地台的節點所負擔的資料 量 (Traffic Load) 相對的將會比其他的節 點來的多,因此適時的調整節點的工作週 期,可以讓需要傳送或接收資料的節點更
快的達成資料的傳送或接收,使得傳輸的 延遲時間得以縮短。但調整節點工作週期 必須是即時性的,調整太慢或調整結果沒 有正確符合節點的資料量,可能使得延遲 時間沒有獲得改善反而造成能源效率不 佳。
三、提出的方法
在這一節,我們首先介紹如何使用分 群競爭的方法來改善過多節點監聽廣播封 包 的 耗 電 問 題 , 以 及 如 何 使 用 分 群 表 (Group Table) 讓不同群組內的節點可以 相互通訊,最後說明如何使用分群管線化 傳輸來降低傳輸的延遲時間。 1. 分群與群組的休眠時程設計 為了減少競爭期間所有感測節點監聽 廣播封包所造成的耗電問題,首先,我們 將感測節點分為數個群組,不同的群組, 我們分配不同的時間區段給這些群組來避 免群組間傳輸訊號的互相干擾。在圖 4 (a) 的例子中,一共有三個群組,相同顏色的 節點屬於相同的群組,相同群組的節點具 有相同的活動與休眠時間,不同群組之間 的活動時間是不會重疊的,如圖 4(b)所示。 當某一群組在活動時,則其他不屬於此節 點的群組時間區段便進入休眠狀態來節省 電量。 圖 4 分群與交錯式休眠時程安排。(a) 分群 示意圖 (b) GMAC 交錯式休眠時程安排。 以下我們將分析利用分群的方式對於 節點競爭通道使用權與節省監聽廣播封包 情況的影響。假設網路上有 N 個鄰居節點 其中有 P 個節點有資料要傳送,並且此 N 個節點都可以彼此互相聽到彼此的廣播訊 號,所以如果所有節點都是在相同的時間 監聽封包時,當有一個節點發出的競爭廣 播封包,所有其他的 N-1 個節點都會收到 這個競爭的廣播封包,並且想要傳送資料 的人其獲得通道使用權的機率為 1/P。然 而,如果感測節點被均勻的分成 K 組時, 此時,一個群組將包含 N/K 個節點,並且 假設每個群組內有 P/K 個節點要傳送資料, 所以當某個節點在其所屬的群組活動時間 發出競爭廣播封包時,聽到此廣播封包的 節點數將由原來的 N-1 降為 N/K-1,也就 是減少了 N-(N/K) 個節點接收廣播封包的 耗電,另外,在分群方法下競爭到通道使 用權的機率將會提高為 K/P,但是相對於 非其所屬的 K-1 個群組而言,此節點可以 競爭到使用權的機率 0,所以相對於全部 的節點,此節點可以競爭到通道使用權的 機率為 1/P。從以上的分析可知,利用分 群的方式,可以有效降低監聽廣播封包的 節點數量來改善耗電,並且可以讓節點擁 有與不分群時相同的通道使用權的機率。 然而分群的方法可能導致屬於不同群的感 測節點無法做資料的通訊,因此在下一個 章節,我們將提出解決的方法來解決這個 問題。 2. 分群表與分群的訊框 (Frame) 結構 在這一節中,我們將介紹如何透過記 錄與查詢鄰居分群表的方式讓屬於不同群 組的相鄰節點可以進行資料的傳輸,另外, 我們也將介紹群組節點活動時間與休眠時 間的訊框結構。在使用與查詢分群表的方 法上,我們讓每一個節點建立一個分群表 (Group Table),其內容紀錄著距離一個 Hop 的所有同群與不同群的鄰居節點與其 所屬的群組。當某個節點要傳送資料給鄰 居節點時,便可以經由查詢自己的分群表 來得知接收者的群組,然後可以得知此節 點的競爭時間。如果接收者與發送節點分 屬不同的群組時,發送節點便在接收節點群組的競爭時間保持清醒,並且參與競爭, 以便取得通道使用權然後傳送資料給接收 者。當發送節點將資料傳送完成後,發送 節點便只有在自己群組的活動時間保持清 醒,不再額外在接收節點所屬群組的競爭 時間保持清醒,如此分屬不同群組的傳送 者與接收者便可以順利的傳送資料。接著, 我們將敘述節點分群後的訊框時間結構。 一個群組訊框時間 (TGroup) 包含有競爭的 控制訊號時間 (TRTS與 TCTS),資料傳輸時 間 (TDATA),資料傳輸確認傳輸時間 (TACK), 與節點的休眠時間 (TSleep),如式子(1)所示。 在群組間的訊框時間分配上,相同群組內 的節點擁有相同的訊框時間,且不同群組 的節點其訊框時間不會重疊以避免發生碰 撞。在圖 5 中,我們舉例說明,當節點被 分成三個群組時,群組間的訊框時間分配 與訊框時間結構的內容。 ) 1 ( Sleep ACK DATA CTS RTS Group T T T T T T = + + + + 另外,為了讓感測節點間保持同步, 每個訊框在一開始的時候有一段傳送同步 訊息的時間 TSYNC,以便進行時間同步,如 圖 5 所示。因此,每個節點在 TSYNC與其 所屬群組的 TRTS、TCTS期間必須保持清醒。 當競爭期間結束後,不是傳送者與接收者 的節點便進入休眠狀態來減少耗電。因此, 如果網路上感測節點有 K 個群組,則每個 節點的訊框長度 (TFrame),感測節點的清醒 時間 (TListen) 與每一個節點的工作週期 (DutyCycle) 可被定義如下。 (2) CTS RTS SYNC Listen T T T T = + + (3) Group SYNC Listen T K T T Dutycycle × + = 在感測節點間的同步方面,由於感測 節點傳輸距離的限制,所以感測節點是以 區域性 cluster 的方式進行同步,也就是說, cluster 內的節點會保持同步,不同 cluster 的時間可能不同,當發生兩個鄰近的節點 分別屬於不同的 cluster 並且傳輸時間有部 分重疊時,如果這兩個鄰近的節點同時都 需要進行資料的傳輸則可能發生 Hidden Terminal 的碰撞問題,如圖 6(a)所示,節 點 A 為 cluster1 與 cluster2 的邊界節點, 節點 B 與 C 為分屬於 cluster1 與 cluster2 的兩個節點並且位於邊界節點 A 的傳輸範 圍內,如果屬於 cluster1 的節點 B 正在傳 輸資料給邊界節點 A,此時屬於 cluster2 的節點 C 因為在睡眠狀態而沒收到邊界節 點 A 的 CTS 訊號而發出 RTS 給邊界節點 A,如此的話將造成碰撞問題。 圖 6 邊界節點的時程安排 (a)邊界節點與邊界節 點的鄰居節點示意圖 (b)邊界節點與邊界節點的 鄰居節點的時程安排 圖 5 以三個群組為例的訊框結構
A D B C Node Group B C D 2 3 1 Node Group A C D 1 3 1 Node Group A B D 1 2 1 Node Group A B C 1 2 3 (a) 為了避免邊界節點的鄰居節點因為處 於休眠狀態而沒有聽到邊界節點所發出的 CTS 封包,造成隱藏節點的碰撞問題,我 們讓想要傳送資料給邊界節點的感測節點 提前監聽一段群組時間,如此的話這些要 傳送資料給邊界節點的鄰居節點便可以收 到邊界節點發出的 CTS 訊號來避免碰撞 的情形發生。如圖 6(b)所示,為圖 6(a)中 節點 A、節點 B 與節點 C 相對應的休眠時 間,因為節點 B 與節點 C 同時要傳送資料 給邊界節點 A,所以節點 B 與節點 C 必須 提前一段群組時間監聽,如此便可以接收 到邊界節點發出的 CTS 封包來避免碰撞 發生。 以下我們舉一個例子來說明分群的方 式如何讓同群與不同群間的節點達成資料 的交換。假設網路上有四個節點 A、B、C、 D,這四個節點分別屬於群組 1、 群組 2、 群組 3 與群組 1。首先在初始階段,感測 節點會發送自己的群組資訊給鄰居節點, 於是每個感測節點便可以記錄其鄰居節點 所屬的群組於分群表上,如圖 7(a)所示。 另外,在每個訊框開始時所有的節點都會 保持監聽狀態並且進行時間的同步,當節 點之間要進行資料傳輸時,如果接收者與 傳送者屬於同一個群組時,比如說,節點 A 要傳送資料給節點 D,則節點 A 便會查 詢分群表來得知接收者節點 D 所屬的群組。 因為他們屬於同一個群組,所以這兩個節 點便會在群組 1 的競爭期間保持監聽,節 點 B 與節點 C 則進入休眠。此時,當節點 A 競爭取得通道使用權後便開始傳送資料 給節點 D。在群組 1 的時間區段結束後是 群組 2 的時間區段,所以這時只有節點 B 保持監聽,其他節點則進入休眠。然而因 為節點 B 要傳送資料給節點 C,並且節點 B 從自己的分群表中得知接收者 C 屬於群 組 3,所以當群組 2 的活動時間結束後, 節點 B 也要在群組 3 的時間區段保持清醒, 並且競爭通道使用權,在贏得通道的使用 權後便可以傳送資料給節點 C。以上所述 A B D C TFrame TGroup1 SYNC RTS CTS CTS RTS ACK ACK SYNC DATA DATA Awake Sleep TGroup2 TGroup3 (B) 圖 7 分群的傳輸例子 (a) 四個節點相對應的分群表 (b) 傳輸時序圖。
的這兩種傳送資料的時序情況如圖 8(b)所 示。 3. 管線化傳輸減少傳輸延遲時間 雖然分群競爭的安排可以減少因為過 多節點競爭可能造成的碰撞與時間延遲, 但我們發現仍然可以再進一步改善傳輸延 遲 的 問 題 。 當 資 料 由 來 源 節 點 (Source Node) 透過其他的感測節點轉傳資料到基 地台 (Sink Node) 的路徑上,若是經過的 這些感測節點所屬的群組能夠形成連續的 群組,則將能夠減少傳輸的延遲問題。如 圖 8 所示,資料由來源節點 A 傳送到基地 台 E,中間經過 B、C、D 三個節點,假設 現在分成 3 個群組(K=3),這 5 個節點 分別屬於這 3 個群組,當來源節點 A 要傳 送資料給 B 時,來源節點 A 會在節點 B 所屬的群組 3 (G3) 的時間區段進行競爭, 當贏得通道使用權並傳送完資料後,B 節 點接著要傳送給 C 節點,但 C 節點屬於群 組 2 (G2),也就是 B 節點必須等到群組 1 (G1) 的時間區段過後才能再繼續傳送,因 此導致傳輸中斷的情形發生,當群組越多, 發生這種情況時延遲的時間將會愈長。為 了改善這樣的問題除了使用適當的分群數 外,我們提出了讓路徑上的節點調整成管 線化群組 (Pipelining Group) 的方法。 由於資料封包的傳輸是會有一段時間 的持續性,也就是當某節點傳送資料封包 時他很有機會還會繼續在傳送下一個資料 封包,因此我們考慮在資料封包內容紀錄 來源節點的群組以及 Hop counter,當路徑 上的節點收到第一個來源節點發送的資料 封包後,便會依據資料封包內容所記錄的 來源節點群組以及 Hop counter,判斷是否 需要暫時的在另外一個群組時間 (Extra Group Period) 保持監聽,使得傳送路徑上 的群組可以連續,直到所有封包傳送完成 後,節點便會調整回原本的群組。依據這 樣調整後,來源節點在傳送第二個資料封 包時,便可以管線化的傳輸。圖 9 便是調 整後的結果,原本 B 節點屬於群組 3,但 收到來源節點 A 傳送的第一個資料封包後, 可以知道來源節點為群組 1,並且 B 節點 為路徑上的第 1 個 hop,因此 B 節點便額 外的增加一個額外的群組 (G2),如此調整 這條路徑上的所有節點的群組後,將會使 得節點可以管線化的傳輸資料來降低傳輸 延遲時間。 E A B C D G1 G3 G2 G1 G3 G2 G3 G1 G1 G3 G2 G3 G1 G1 G3 G3 G2 G1 G3 Delay Delay Delay TFrame TGroup Latency 圖 8 分群可能造成的時間延遲問題 E A B C D G1 E E G1 E E G1 G1 E E G1 G1 G2 G1 G3 G2 Delay Delay E E E Delay G2 G1 G3 G2 G2 G3 Latency TGroup G2 G2 G2 G3 G3 G3
E Extra Group Period
圖 9 調整成管線化群組來改善延遲的問題
四、模擬結果
在這一節中,將敘述模擬的方法與結 果。我們使用 C++程式語言來撰寫模擬程 式,並且分別對 802.11 DCF、SMAC 以及 Group-MAC (GMAC) 方法做模擬並記錄 結果。首先在 600×600 的模擬範圍內隨機 產生 100 個的感測節點,並且設定節點的 傳輸範圍為 160,所以網路上平均每個節 點的鄰居數約為 20 個。在感測節點的時程 安排方面,我們採用如圖 10 的方式,802.11 因為沒有休眠機制,所以網路上的節點永 遠 保 持 監 聽 的 狀 態 , 在 有 休 眠 機 制 的 SMAC 與 GMAC 方面,我們讓 GMAC 群
所以當 GMAC 有 K 個群組時,GMAC 的
TFrame時間為 SMAC 的 TFrame的 K 倍,並
且設定監聽時間 (Listen period) 為 TFrame
的五分之一。另外,在傳輸資料的參數設 定方面,每個節點的傳輸頻寬為 20Kbps, 控制封包的大小為 16 bytes,資料封包的 大小為 64 bytes,傳送資料的 Contention Window 為 31 個 slots,並且我們考慮到節 點的碰撞問題,每次碰撞產生時節點必須 再進行一次競爭行為,碰撞所產生的耗電 也會被列入耗電的計算。在電能消耗的參 數設定上,節點在接收、傳送以及睡眠狀 態時,其耗電分別為 14.4mW、36mW 以 及 15µW[1]。為了模擬感測網路在不同資 料流量的情況,我們調整不同的間隔時間 (1 sec~10 sec) 隨機選擇節點傳輸資料,並 且針對這些不同的資料產生間隔時間分別 做了 100 次的模擬,每次的模擬時間為 100 秒。 在傳輸延遲 (Latency) 方面,我們產 生 11 個節點 (十個 Hops) 的路徑傳輸模 型,其中有一個來源節點,一個收集感測 資料的基地台,與九個中間節點,依據此 模型模擬資料從來源感測節點經由中間節 點做多層繞路 (Multi-Hop) 的傳遞的行為, 來源端節點每間隔一段時間便會連續發送 5 個資料封包,並且來源端節點發送資料 的間隔時間為 1 sec 到 10 sec,另外,為了 讓模擬更接近實際感測網路上節點競爭的 行為,我們同時也考慮到競爭的問題,也 就是說,資料傳輸路徑上仍有鄰居節點會 不定時的隨機傳送資料給其鄰近的節點, 使得傳輸路徑上的節點需要使用競爭來方 式來取得通道使用權。 圖 10 802.11、SMAC 與 GMAC 的時程安排 4.1 能源效率 在能源效率的模擬方面,我們分別模 擬 GMAC 的群組數目為 2 群、4 群與 8 群 時在電能消耗與傳遞延遲方面的情況,並 與 SMAC 與 802.11 協定做在比較。 圖 11 為模擬的結果,我們可以看到 SMAC 與 GMAC 在平均成功地傳送一次 資料封包其鄰居節點監聽到 RTS/CTS 的 封包數量,在網路流量 (Traffic Load) 高 時,SMAC 的方法讓每個 RTS/CTS 範圍內 的鄰居節點皆會監聽到 RTS/CTS 廣播封 包,並且因為所有要傳送資料的節點同時 競爭所以也容易產生的 RTS 碰撞問題,在 我們的模擬中,當資料產生的間隔時間為 1 秒時,SAMC 平均每個節點監聽到約 123 個 RTS 或 CTS 控制封包。然而,在 GMAC 中,因為使用分群的方法,所以平均每個 節點監聽到的 RTS 或 CTS 控制封包,將 比 SMAC 下降 44%到 77%。當 GMAC 的 群組數量為 2,資料產生間隔時間為 1 秒 時,所減少的數量約為 69 個,比 SMAC 減少了 44%,當群組增加為四組時,所減 少的數量約較 SMAC 減少了 65%,當群組 增加到 8 時,則數量更加的減少了 SMAC 約 77%。依據這一部分的模擬結果,可以 預期的是分群數量越多,感測節點監聽封 包的數量將會愈少。 圖 11 SMAC 與 GMAC 平均每發出一個資料封 包節點所監聽到的 RTS 或 CTS 控制封包數量 0 20 40 60 80 100 120 140 1 2 3 4 5 6 7 8 9 10 A v erage N u m b er of O v er hear ing Contr o l Message Interval Time (s) SMAC GMAC (Group = 2) GMAC (Group = 4) GMAC (Group = 8)
圖 12 比較 GMAC、802.11 及 SMAC 的方法在能源使用效率 (每成功傳送一個 位元組的耗電) 的模擬結果。由圖 12 中我 們可以看出,在資料產生間隔時間為 10s 時,也就是網路上發送資料的頻率較低, SMAC 比 802.11 減少約 80%的能源消耗。 當使用 GMAC 的分群方法時,並且分成 8 個群組時,會比 802.11 減少約 97%的能源 消耗。由圖 12 中也可以看出 802.11 的能 源效率會隨著每個節點平均發送資料間隔 的時間 (interval time) 的增加而增加,這 是由於 802.11 並沒有休眠的機制,所以當 資料發送的頻率較低時,大多數的節點因 為處於閒置狀態,所以仍有耗電的情況, 然而 SMAC 與 GMAC 因為週期性的進入 休眠而減少了大量的閒置狀態的耗電,因 此能源效率皆較 802.11 為佳。另外,由圖 12 中也可以看出 GMAC 不同分群數量的 結果,在資料發送間隔時間為 10 sec 時, GMAC 分為 2 群、4 群與 8 群的能源效率 分別為 4.5 mJ/byte、2.3 mJ/byte 與 1.2 mJ/byte,比較於 SMAC 的 9.2 mJ/byte 都 來的好,也就是說分群數越多能源效率越 好。 圖 12 SMAC、802.11 以及 GMAC 的能源效率比 較。 4.2 傳輸延遲 由能源效率的模擬結果可以知道,在 GMAC 設計中,如果群組數量越多時,感 測節點監聽到的 RTS/CTS 控制封包的數 量也會跟著減少,所以能源效率也會越好。 但是因為 GMAC 與 SMAC 是透過休眠的 機制來達到省電目的,所以相對於沒有休 眠機制的 802.11 協定,其傳輸延遲上會比 802.11 來得大。在圖 13 中,我們模擬了不 同的封包發送的間隔時間下,802.11, SMAC 與 GMAC 在不同的分群數量時其 傳輸延遲結果的表現。如圖 13 所示,由於 802.11 沒有休眠機制,因此不管封包發送 間隔時間的長短,相較於 GMAC 與 SMAC, 802.11 都能達到較短的傳輸延遲時間。另 外,當封包發送間隔時間較短時,因為競 爭與休眠的關係,所以 GMAC 與 SMAC 的傳輸延遲會比較大,然而當網路上流量 的減少時,因為競爭的情況下降了,所以 GMAC 與 SMAC 的傳輸延遲也會減少。 至於在 GMAC 的分群數與傳輸延遲的關 係上,如圖 13 所示,當節點的封包發送間 隔時間為 1 sec 的時候,GMAC 分群數為 2 群、4 群與 8 群的平均傳輸延遲時間分別 為 45 sec、50 sec 與 53 sec,而 SMAC 的 平均傳輸延遲時間為與 GMAC 相差不多 的 50 sec,這是由於節點傳送頻率高時會 讓大多數 GMAC 的群組都要傳資料,所以 GMAC 的傳遞延遲上將與全部節點一起 競爭的 SMAC 差不多的。但是當節點的封 包發送間隔時間增加到 10 sec 時,SMAC 的平均傳輸時間為 9.5 sec,而 GMAC 分 群數為 2 群、4 群與 8 群的平均傳輸延遲 時間分別為 7.3 sec、13.5 sec 與 30 sec,也 就是說分群越多時傳輸延遲時間將會越長, 這是因為 GMAC 的分群方式可能會導致 有些群組內的節點全部都沒有要傳送資料 而想要傳送資料的不同群組節點又不可以 使用這個群組的時間來傳送資料,而造成 節點傳輸延遲的增加,尤其當 GMAC 分成 8 組群組的時候,資料傳輸的等待情況更 加嚴重。為了改善這種因為空閒的群組導 致傳輸不連貫的情形,因此我們將 GMAC 加入管線化的機制再進行模擬,圖 14 為模 擬的結果,結果顯示加入管線化機制後, GMAC 的平均傳輸延遲時間都有效地縮 短了,其中,在間隔時間為 10 sec 且 GMAC 分為 4 或 8 組群組時,其平均延遲時間分 別為 6.5 sec 與 15 sec,皆可以比沒管線化 0 5 10 15 20 25 30 35 40 45 50 1 2 3 4 5 6 7 8 9 10 E n ergy E fficient (m J/By te) Interval Time (s) 802.11 SMAC GMAC (Group = 2) GMAC (Group = 4) GMAC (Group = 8)
調整時縮短大約 50%,再者,加上管線化 傳輸後,在間隔時間為 10 sec 且 GMAC 分群數為 2 或是 4 時,平均傳輸延遲時間 分別為 6.5 sec 與 5 sec,皆比 SMAC 的平 均傳輸延遲時間 9.5 sec 來的好。如圖 14 所示。當能源效率與傳遞延遲兩者同時被 考慮時,在圖 12 與圖 14 中,我們可以發 現當 GMAC 分成 4 組群組時,雖然其傳輸 延遲時間只比 SMAC 好一點,但是 GMAC 卻可以比 SMAC 減少大約 75%的能源消 耗,另外當 GMAC 分成 2 組群組時,其 能源效率與傳輸延遲時間都比 SMAC 減 少將近 50%。在下一節,我們將模擬並比 較 IEEE 802.11,SMAC,與 GMAC 的分 群方式,在產能 (bytes/sec) 的結果。 圖 13 802.11,SMAC 與不同群組數量的 GMAC 的傳輸延遲時間。 圖 14 802.11,SMAC 與不同群組數量的 GMAC 使用管線化機制的傳輸延遲時間。 4.3 產能 關於 802.11、SMAC 與 GMAC 使用不 同分群數量時在產能的模擬結果方面,如 圖 15 所示,當封包發送間隔時間低於 4 時,由於節點傳送資料的情況比較頻繁, 所以感測節點競爭的情況也比較嚴重,因 此其封包碰撞的機會也比較高。在這種情 況下由於 802.11 沒有休眠機制,因此其具 有較多次的競爭次數,所以相較於有休眠 機制的 SMAC 與 GMAC,802.11 可以傳 送較多的資料。然而,雖然 GMAC 會週期 性 休 眠 , 但 是 因 為 分 群 的 關 係 , 使 得 GMAC 發生封包碰撞的情況比 SMAC 來 得低,所以在此情況下,GMAC 產能比 SMAC 為高。如圖 15 所示,當封包傳送 間隔時間為 1 sec 時並且 GMAC 分為兩組 群組時,其產能會比 SMAC 好上 15%,另 外,當 GMAC 分成 4 組群組時,則其產能 比 SMAC 好 23%,最後,當 GMAC 分成 8 組群組時,雖然產能會比 GMAC 分成 4 組時還要好,但是其改善的幅度也不多了, 這是因為分成太多群組容易造成整個群組 內都沒有節點要傳輸,而造成多餘的等待 進而影響整體的傳輸產能。當封包發送間 隔時間超過 4 時,由於要傳送資料的節點 不多,所以競爭與碰撞的情況也不嚴重, 因此 802.11、SMAC 或是 GMAC 都可以 有效地將資料封包傳輸出去,所以在這樣 的情況下,這三種方式的產能並沒有太大 的差異。由這部分的模擬結果,我們可以 得知,當節點發送封包的頻率比較高時, 利用 GMAC 將節點分群的方法,可以有效 改善過多節點競爭所產生的碰撞問題,使 得網路的產能提升。 0 10 20 30 40 50 60 1 2 3 4 5 6 7 8 9 10 Average Packet Latency (s) Interval Time (s) 802.11 SMAC GMAC (Group=2) GMAC (Group=4) GMAC (Group=8) 0 10 20 30 40 50 60 1 2 3 4 5 6 7 8 9 10 Average Packet Latency (s) Interval Time (s) 802.11 SMAC GMAC (Group=2) GMAC (Group=4) GMAC (Group=8)
圖 15 SMAC、802.11 與 GMAC 的產能比較
五、結論
在本篇文章中,我們提出了節點分群 競爭與分群管線化傳輸的 GMAC 協定來 減少無線感測網路中監聽耗電與傳輸延遲 的問題。在減少監聽耗電方面,我們使用 分群競爭的方法來改善競爭模式下所有節 點需要同時監聽廣播封包的耗電問題。然 而雖然分群的方式可以減少耗電,但是分 群會讓屬於不同群組的節點無法傳輸資料, 為了解決這個問題,我們讓每個節點在其 內部維護一個鄰居節點的分群表來解決這 個問題。另外,在減少傳輸延遲的設計方 面,由於感測節點傳輸資料到收集資料節 點 (sink node) 的過程中,可能因為中間 節點的群組不連續而發生傳輸延遲的問題, 為了解決這個問題,我們提出了管線化群 組的調整機制來減少傳輸延遲。透過模擬 的結果顯示,當 GMAC 分群數量越多時, 感測節點監聽廣播封包的數量將會愈少, 所 以 其 能 源 效 率 (mJ/byte) 也 越 好 。 當 GMAC 的分群數為 2 時,能源效率會比 SMAC 減少 50% 左右,當 GMAC 將節點 分為 4 組群組時,其能源效率則比 SMAC 減少大約 75%。另外,在傳輸延遲的模擬 結果方面,當 GMAC 使用分群方式與用管 線化傳輸的的調整機制後,在 GMAC 分為 2 組群組時,其傳輸延遲時間比 SMAC 減 少大約 50%,另外,在 GMAC 分為 4 組 群組時,其傳輸延遲時間只比 SMAC 好一 點,如果再分成 8 組群組,則傳輸延遲反 而 會 比 SMAC 來 的 差 。 最 後 在 產 能 (bytes/sec) 的模擬方面,當節點發送封包 的頻率高時,利用 GMAC 可以有效改善過 多節點競爭所產生的碰撞問題,使得網路 的產能提升,但是如果分群的數量太多時, 不但對於產能提升有限,另外還會造成傳 輸延遲的增加。因此,透過這樣的結果我 們可以了解,雖然分群與管線化傳輸可以 改善耗電,傳輸延遲與整體的產能,但是 分群數量的多寡卻會影響能源效率與傳輸 延遲,當分群數量越多時,感測節點的能 源效率與產能會越好但是卻會讓傳遞延遲 時間增加,因此,在我們實驗中,將 GMAC 群組設定於 2 到 4 之間並且利用管線化傳 輸可以同時獲得低耗電與低傳輸延遲的效 果。參考文獻
[1] ASH Transceiver TR3000 Data Sheet [Online]. Available: http://www.rfm.com/ [2] Cem Ersoy, llker Demirkol , and Fatih
Alagoz “MAC Protocols for Wireless Sensor Networks: A Survey,” IEEE Communication Magazine, April 2006. [3] Changsu Suh and Young-Bae Ko “A
Traffic Aware, Energy Efficient MAC Protocol for Wireless Sensor Networks” IEEE International Symposium on Circuits and Systems, 2005.
[4] Edgar H. Callaway, Jr. “Wireless Sensor Networks: Architectures and Protocols,” CRC press, 2003.
[5] G. Lu, B. Krishnamachari, and C. S. Raghavendra, “An adaptive energy-efficient and low-latency MAC for data gathering in sensor networks,” Proceedings of 18th International Parallel and Distributed Processing Symposium, April 2004, pp. 224–231. [6] H. Pham and S. Jha, “An adaptive
mobility-aware MAC protocol for sensor networks (MS-MAC),” Proceedings of
the 1st IEEE International Conference on
Mobile Ad-hoc and Sensor Systems,
0 50 100 150 200 250 300 350 1 2 3 4 5 6 7 8 9 10 Thr oughput ( byt es /s ) Interval Time (s) 802.11 SMAC GMAC (Group = 2) GMAC (Group = 4) GMAC (Group = 8)
October 2004.
[7] Ian F. Akylidiz, W. Su, Y.
Sankarasubramaniam, and E. Cayirci. “A survey on sensor networks,” IEEE Personal Communications Magazine, August 2002.
[8] K. Sohrabi, “Protocols for
Self-Organization of a Wireless Sensor
Network,” IEEE Personal
Communications, October 2000.
[9] M. Stemm and R. H. Katz, “Measuring and reducing energy consumption of network interfaces in hand-held devices,” IEICE Transactions, vol. E80-B, no. 8, pp. 1125–1131, Aug. 1997.
[10] O. Kasten. Energy consumption.
Eldgenossische Technische Hochschule
Zurich. [Online]. Available:http://www.inf.ethz.ch/~kasten/
research/bathtub/energy_co- nsumption.html.
[11] P. Lin, C. Qiao, and X. Wang “Medium Access Control with A Dynamic Duty Cycle for Sensor
Networks,” IEEE Wireless
Communications and Networking Conference, Mar 2004, vol. 5, no. 1.
[12] Shih-Hsien Yang, Hung-Wei Tseng, Wu, E.H.-K., and Gen-Huey Chen “Utilization based duty cycle tuning MAC protocol for wireless sensor
networks” IEEE Global
Telecommunications Conference, 2005. [13] T. van Dam and K. Langendoen, “An
adaptive energy efficient MAC protocol for wireless sensor networks,” Proceedings of the First ACM Conference on Embedded Networked Sensor Systems, November 2003, pp. 171-180.
[14] V. Shah Mansouri, M. Ghannad Rezaie "Modified Distributed Mediation Device
for Low Power Consumption in Large Scale Sensor Network" International Conference on Intelligent Sensing and Information Processing, 2005, India, 4-7 Jan. 2005, Vol. 1, pp.8-13.
[15] V. Shah Mansouri, M. Ghannad Rezaie “Dynamic scheduling MAC protocol for large scale sensor networks” IEEE Mobile Ad-hoc and Sensor Systems Conference, 2005.
[16] V. Rajendran, K. Obraczka and J.J. Garcia-Lua-Aceves. ,”Energy-Efficient, Collision-Free Medium Access Control for Wireless Sensor Networks,” The First ACM Conference on Embedded Networked Sensor Systems (Sensys’03), November 2003.
[17] Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification, IEEE Std. 802.11-1999 edition
[18] W. Ye, J. Heidemann, and D. Estrin. “An energy-efficient MAC protocol for wireless sensor networks,” Proceedings of IEEE INFOCOM 2002, June 2002, pp. 1567-1576.
[19] W. Ye, J. Heidemann, and D. Estrin. “Medium access control with coordinated, adaptive sleeping for wireless sensor networks,” IEEE/ACM Transactions on Networking, June 2003, pp.493-506.
[20] W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energy-efficient communication protocols for wireless microsensor networks,” Proceedings of the Hawaii International Conference on Systems Sciences, Jeanery 2000.
[21] Zhihui Chen, Ashfaq Khokhar,
“TDMA based Energy Efficient MAC Protocols for Wireless Sensor Networks,” IEEE SECON 2004, October 2004.